Normal. An EVIO run will always start by loading run 0 conditions because conditions have to be loaded before any events are read. Run 1349 conditions would be loaded after the prestart event is read, but . . . On Fri, 9 Nov 2012, Graham, Mathew Thomas wrote: > > Is it supposed to be finding conditions for this particular run (1349)? Here's the output I get at the beginning. > > No input files provided by XML or command line. Dry run will be enabled. > Got ConditionsEvent with run: 0 > Reading calibrations calibSVT/base for run: 0 > Use this calibration from run -1: calibSVT/default.base > Reading calibrations calibSVT/tp for run: 0 > Use this calibration from run -1: calibSVT/default.tp > Loading the SVT bad channels for run 0 > File daqmap/svt0.badchannels was not found! Continuing with only QA bad channels > Loading SVT gains ... > Loading fieldmap for run 0 > reading ECal DAQ map > Opening file /nfs/slac/g/hps/mgraham/DarkPhoton/testrun_data/hps_001349.evio.0 > Exception in thread "main" java.lang.RuntimeException: java.io.IOException: Map failed > at org.lcsim.hps.evio.TestRunEvioToLcio.main(TestRunEvioToLcio.java:188) > Caused by: java.io.IOException: Map failed > at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:748) > at org.jlab.coda.jevio.EvioReader.mapFile(EvioReader.java:323) > at org.jlab.coda.jevio.EvioReader.<init>(EvioReader.java:178) > at org.lcsim.hps.evio.TestRunEvioToLcio.main(TestRunEvioToLcio.java:186) > Caused by: java.lang.OutOfMemoryError: Map failed > at sun.nio.ch.FileChannelImpl.map0(Native Method) > at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:745) > ... 3 more > > > On Nov 9, 2012, at 6:59 PM, Sho Uemura <[log in to unmask]> wrote: > >> No. That command line is correct (-jar if running the usual lcsim main(), >> -cp if you're running a different class, e.g. TestRunEvioToLcio). >> >> I haven't been able to reproduce this error. I'd try a different machine? >> >> 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? >> >> >> Possibly relevant: >> >> https://issues.apache.org/bugzilla/show_bug.cgi?id=49326 >> >> But if this is actually the problem and it can't be resolved by blowing up >> -Xmx, I think the fix needs to be in JEVIO. The above link mentions some >> workarounds which I can try on Monday, assuming I'm able to reproduce this >> bug. >> >> What version of the JVM are you running? (java -version) >> >> On Fri, 9 Nov 2012, Homer wrote: >> >>> Hi Matt, >>> >>> Your message shows that your command was: >>>> java -Xmx2048m -cp hps-java/target/hps-java-1.2-SNAPSHOT-bin.jar >>> org.lcsim.hps.evio.TestRunEvioToLcio -x steering/TestRunOfflineRecon.lcsim >>> /nfs/slac/g/hps/mgraham/DarkPhoton/testrun_data/hps_001349.evio.0 >>> -DoutputFile=recon.slcio -d HPS-TestRun-v3 >>> >>> Shouldn't "-cp" be "-jar"? >>> >>> Cheers, >>> Homer >>> >>> >>> >>> On Fri, 9 Nov 2012, Graham, Mathew Thomas wrote: >>> >>>> >>>> This actually happens right away?I tried upping Xmx to no avail. >>>> >>>> On Nov 9, 2012, at 5:11 PM, Homer <[log in to unmask]> wrote: >>>> >>>>> Hi Matt, >>>>> >>>>> Is this reproducible on different machines? >>>>> Have you tried -Xmx3192m? I'm having to push >>>>> it this far for some JAS3 SiD work. When I was >>>>> running the conversion at JLAB, the jobs would >>>>> run for several 10 of thousands of events before >>>>> dying on the mentioned error. Using -Xmx2048 >>>>> resolved that problem but there is clearly something >>>>> that slowly consumes memory. This is somewhat normal >>>>> and it may not be a leak. Recent code changes may >>>>> have slightly increased the memory consumption rate. >>>>> How many events do you succeed in processing before >>>>> the crash? >>>>> >>>>> Cheers, >>>>> Homer >>>>> >>>>> >>>>> On Fri, 9 Nov 2012, McCormick, Jeremy I. wrote: >>>>> >>>>>> Hi, Matt. >>>>>> >>>>>> Do you know how to look at memory usage in Java? >>>>>> >>>>>> You'll might want to debug with something like this: >>>>>> >>>>>> ---- >>>>>> >>>>>> Runtime runtime = Runtime.getRuntime(); >>>>>> >>>>>> NumberFormat format = NumberFormat.getInstance(); >>>>>> >>>>>> StringBuilder sb = new StringBuilder(); >>>>>> long maxMemory = runtime.maxMemory(); >>>>>> long allocatedMemory = runtime.totalMemory(); >>>>>> long freeMemory = runtime.freeMemory(); >>>>>> >>>>>> sb.append("free memory: " + format.format(freeMemory / 1024) + "<br/>"); >>>>>> sb.append("allocated memory: " + format.format(allocatedMemory / 1024) + >>>>>> "<br/>"); >>>>>> sb.append("max memory: " + format.format(maxMemory / 1024) + "<br/>"); >>>>>> sb.append("total free memory: " + format.format((freeMemory + (maxMemory >>>>>> - allocatedMemory)) / 1024) + "<br/>"); >>>>>> >>>>>> ---- >>>>>> >>>>>> I took the above idea from here. >>>>>> >>>>>> http://stackoverflow.com/questions/74674/how-to-do-i-check-cpu-and-memory-usage-in-java >>>>>> >>>>>> You could make that a static method and call it at various points in >>>>>> TestRunEvioToLcio or within one of your drivers in the .lcsim file you're >>>>>> using. >>>>>> >>>>>> If memory is steadily increasing every event then this indicates some >>>>>> systematic memory leak. If it looks fine and then explodes on one event, >>>>>> that indicates some problem with the data of that event. For instance, >>>>>> there could be a bogus (very large) value that gets into an array size >>>>>> setting >>>>>> due to corrupted data (e.g. when size of something is read from a data >>>>>> block), which is often what happens to cause these kinds of problems. >>>>>> >>>>>> --Jeremy >>>>>> >>>>>> -----Original Message----- >>>>>> From: Graham, Mathew Thomas >>>>>> Sent: Friday, November 09, 2012 12:38 PM >>>>>> To: Uemura, Sho; Omar Moreno; Per Hansson >>>>>> Cc: McCormick, Jeremy I. >>>>>> Subject: OutOfMemory error in jevio? >>>>>> >>>>>> I'm trying to run over data (from a pretty pristine hps-java build) like >>>>>> this: >>>>>> java -Xmx2048m -cp hps-java/target/hps-java-1.2-SNAPSHOT-bin.jar >>>>>> org.lcsim.hps.evio.TestRunEvioToLcio -x >>>>>> steering/TestRunOfflineRecon.lcsim >>>>>> /nfs/slac/g/hps/mgraham/DarkPhoton/testrun_data/hps_001349.evio.0 >>>>>> -DoutputFile=recon.slcio -d HPS-TestRun-v3 >>>>>> >>>>>> >>>>>> and I get this... >>>>>> >>>>>> Exception in thread "main" java.lang.RuntimeException: >>>>>> java.io.IOException: Map failed >>>>>> at >>>>>> org.lcsim.hps.evio.TestRunEvioToLcio.main(TestRunEvioToLcio.java:188) >>>>>> Caused by: java.io.IOException: Map failed >>>>>> at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:748) >>>>>> at org.jlab.coda.jevio.EvioReader.mapFile(EvioReader.java:323) >>>>>> at org.jlab.coda.jevio.EvioReader.<init>(EvioReader.java:178) >>>>>> at >>>>>> org.lcsim.hps.evio.TestRunEvioToLcio.main(TestRunEvioToLcio.java:186) >>>>>> Caused by: java.lang.OutOfMemoryError: Map failed >>>>>> at sun.nio.ch.FileChannelImpl.map0(Native Method) >>>>>> at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:745) >>>>>> ... 3 more >>>>>> >>>>>> >>>>>> ... >>>>>> >>>>>> ######################################################################## >>>>>> 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 >>> > > > ######################################################################## > 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