[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
NullPointerException in Soot (soot.coffi.CFG)
Greetings --
This was reported earlier on this list; here's a concrete case:
>From Sun JDK for Linux build 1.4.1_01-b01, method
<sun.rmi.transport.proxy.RMIMasterSocketFactory$AsyncConnector: void run()>
I get:
Exception in thread "main" java.lang.NullPointerException
at java.util.Hashtable.get(Hashtable.java:329)
at soot.coffi.CFG.adjustExceptionTable(CFG.java:963)
at soot.coffi.CFG.eliminateJsrRets(CFG.java:463)
at soot.coffi.CFG.<init>(CFG.java:89)
at soot.coffi.CoffiMethodSource.getBody(CoffiMethodSource.java:89)
at soot.SootMethod.getBodyFromMethodSource(SootMethod.java:79)
at soot.SootMethod.retrieveActiveBody(SootMethod.java:274)
at soot.PackManager.runBodyPacks(PackManager.java:477)
at soot.PackManager.runBodyPacks(PackManager.java:318)
at soot.PackManager.runPacks(PackManager.java:278)
at soot.Main.run(Main.java:180)
at soot.Main.main(Main.java:154)
at Main.main(Main.java:90)
The exception table for the original method is:
Exception table :
start end handler
20 31 34
34 37 34
65 72 75
58 82 85
85 89 85
0 92 95
100 111 114
114 118 114
0 127 130
130 135 130
The exception table entry that triggers it is the first one added (the
below is the list of exception table entries as they are processed by
adjustExceptionTable()).
20 31 34
34 37 34
65 72 75
58 82 85
85 89 85
0 92 95
100 111 114
114 118 114
0 127 130
130 135 130
null 144 34
^^^^
Oddly, the startpc associated with this entry is 0.
If you need any other information (the classfile, the instruction list,
etc), please ask.
Thanks for any help,
Algis R.
--
Algis Rudys Rice University
arudys@rice.edu Computer Science
"Heart has nothing to do with it anymore. It's all in the caffeine."
-- Frank Pembleton, _Homicide_