'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
|