Print

Print


'kay, the problem is that EvioReader (a JEVIO class) reads EVIO files by 
mapping the entire file into a single byte buffer.

If you're running a 32-bit JVM ("java -version" will tell you) you 
apparently can't memory-map more than 1.3 GB or so at a time. Run 1351 is 
barely under the line; the files that are failing are 2 GB.

Heap size is (mostly) unrelated to this problem. Allocating more heap will 
not solve it.

I couldn't reproduce because I'm running 64-bit. If the two of you can 
confirm what JVM version you're running?


Fixes:

For now, run a 64-bit JVM. All the SLAC public machines are 64-bit at this 
point.

If you're on 32-bit, don't run on really big EVIO files. If many people 
are running into this issue, we could break up the EVIO files, or 
translate to LCIO - the original EVIO files would of course be kept.

Long-term, EvioReader needs to be rewritten so it does the right thing and 
either reads sequentially or maps only chunks of the file at a time. We 
can get the CODA people to do this, since it is legitimately a JEVIO bug 
and not ours.

On Fri, 9 Nov 2012, Graham, Mathew Thomas wrote:

>>
>> The error seems to be coming up when the EVIO file is loaded. Does the
>> same error show up if you try to run on a smaller EVIO file?
>
> Ah?when I run on a smaller file it does work.
>
>
> ########################################################################
> Use REPLY-ALL to reply to list
>
> To unsubscribe from the HPS-SOFTWARE list, click the following link:
> https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=HPS-SOFTWARE&A=1
>

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the HPS-SOFTWARE list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=HPS-SOFTWARE&A=1