I have released a new version of the lcd.jar file containing the hep.lcd
classes, version 0.94, available from:
http://www-sldnt.slac.stanford.edu/jas/documentation/lcd/download/
The only change from 0.93 is in the parsing of ascii files. Now instead
of crashing on corrupt input the job continues. The item corresponding
to the bad input is set to Float.NaN (not a number) or Integer.MIN_VALUE
(a very big negative number). A new option to ascii2lcd, -s, forces the
old behaviour.
Typical output is shown below. One wonders what is causing such strange
output in the ascii file in the first place? Please let me know if other
similar errors occur in the future.
Tony
Reading run 1 event 1
Reading run 1 event 2
Reading run 1 event 3
Reading run 1 event 4
Reading run 1 event 5
Reading run 1 event 6
Reading run 1 event 7
Warning, NumberFormatException ignored!!! int=10814!7952
java.lang.NumberFormatException: 10814!7952
at java.lang.Integer.parseInt(Compiled Code)
at hep.lcd.io.ascii.BasicHandler.parseInt(Compiled Code)
at hep.lcd.io.ascii.handler.Calorimeter.readSegment(Compiled
Code)
at hep.lcd.io.ascii.handler.EMCalorimeter.readSegment(Compiled
Code)
at hep.lcd.io.AsciiReader.<init>(Compiled Code)
at hep.lcd.io.AsciiReader.main(Compiled Code)
Warning, NumberFormatException ignored!!! int=0x4110F1F0$
java.lang.NumberFormatException: 4110F1F0$
at java.lang.Integer.parseInt(Compiled Code)
at hep.lcd.io.ascii.BasicHandler.parseInt(Compiled Code)
at hep.lcd.io.ascii.handler.Calorimeter.readSegment(Compiled
Code)
at hep.lcd.io.ascii.handler.EMCalorimeter.readSegment(Compiled
Code)
at hep.lcd.io.AsciiReader.<init>(Compiled Code)
at hep.lcd.io.AsciiReader.main(Compiled Code)
Warning, NumberFormatException ignored!!! float=0.°005669
java.lang.NumberFormatException: 0.°005669
at java.lang.Float.valueOf(Compiled Code)
at hep.lcd.io.ascii.BasicHandler.parseFloat(Compiled Code)
at hep.lcd.io.ascii.handler.Calorimeter.readSegment(Compiled
Code)
at hep.lcd.io.ascii.handler.EMCalorimeter.readSegment(Compiled
Code)
at hep.lcd.io.AsciiReader.<init>(Compiled Code)
at hep.lcd.io.AsciiReader.main(Compiled Code)
Warning, NumberFormatException ignored!!! int=0x411±11E8
java.lang.NumberFormatException: 411±11E8
at java.lang.Integer.parseInt(Compiled Code)
at hep.lcd.io.ascii.BasicHandler.parseInt(Compiled Code)
at hep.lcd.io.ascii.handler.Calorimeter.readSegment(Compiled
Code)
at hep.lcd.io.ascii.handler.EMCalorimeter.readSegment(Compiled
Code)
at hep.lcd.io.AsciiReader.<init>(Compiled Code)
at hep.lcd.io.AsciiReader.main(Compiled Code)
Reading run 1 event 8
Reading run 1 event 9
-----Original Message-----
From: David Gerdes [mailto:[log in to unmask]]
Sent: Monday, February 22, 1999 6:33 PM
To: [log in to unmask]
Subject: ascii2lcd crashes
Hi Tony,
ascii2lcd crashes intermittently with the following type of error:
Reading run 1 event 70
Reading run 1 event 71
Error reading pybms-tt-500-990115-gen-25_Small.asc.gz at line 1692718
java.lang.NumberFormatException: NaN
at java.lang.Float.valueOf(Compiled Code)
at hep.lcd.io.ascii.handler.Calorimeter.readSegment(Compiled
Code)
at hep.lcd.io.ascii.handler.EMCalorimeter.readSegment(Compiled
Code)
at hep.lcd.io.AsciiReader.<init>(Compiled Code)
at hep.lcd.io.AsciiReader.main(Compiled Code)
File has 462 blocks of which 454 have been written with 14746130 bytes,
compressed size 7912861 bytes
Or again:
Reading run 1 event 7
Error reading pybms-tt-500-990115-gen-11_Small.asc.gz at line 156918
java.lang.NumberFormatException: 10814!7952
at java.lang.Integer.parseInt(Compiled Code)
at hep.lcd.io.ascii.BasicHandler.parseInt(Compiled Code)
at hep.lcd.io.ascii.handler.Calorimeter.readSegment(Compiled
Code)
at hep.lcd.io.ascii.handler.EMCalorimeter.readSegment(Compiled
Code)
at hep.lcd.io.AsciiReader.<init>(Compiled Code)
at hep.lcd.io.AsciiReader.main(Compiled Code)
File has 53 blocks of which 45 have been written with 1296094 bytes,
compressed size 702575 bytes
It looks like it is choking on incorrectly formatted data from the EM
calorimeter... I don't know if all of the crashes are in this component
or
not. The long range solution is to fix whatever bug in the gismo code is
responsible for this, but in the meantime is there a workaround possible
in the lcd code to allow a graceful recovery from this type of error?
Cheers,
Dave
--------------------------------------
David Gerdes, University of Michigan
(734) 647-3807 / (734) 936-1817 FAX
[log in to unmask]
http://umaxp1.physics.lsa.umich.edu/~gerdes/
|