opened
dencat
username_0
Hi,
i have problem with (mucommander-0.9.9)[https://github.com/trol73/muc`ommander/releases/download/v0.9.9/trolcommander.jar]:
```
java -jar Phosphor-0.0.4-SNAPSHOT.jar -multiTaint trolcommander.jar test
```
Output:
```
Data flow tracking: enabled
Control flow tracking: disabled
Multi taint: enabled
Branch not taken: enabled
Starting analysis
Analysis Completed: Beginning Instrumentation Phase
java.lang.ArrayIndexOutOfBoundsException: -1
	at java.util.ArrayList.elementData(ArrayList.java:422)
	at java.util.ArrayList.get(ArrayList.java:435)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.visitMethodInsn(TaintPassingMV.java:2604)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.instrumenter.MethodArgReindexer.visitMethodInsn(MethodArgReindexer.java:425)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodInsnNode.accept(MethodInsnNode.java:117)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.InsnList.accept(InsnList.java:144)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:792)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintLoadCoercer$UninstTaintLoadCoercerMN.visitEnd(TaintLoadCoercer.java:665)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer$PrimitiveArrayAnalyzerMN.visitEnd(PrimitiveArrayAnalyzer.java:1301)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer.visitEnd(PrimitiveArrayAnalyzer.java:1595)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintTrackingClassVisitor$4.visitEnd(TaintTrackingClassVisitor.java:532)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1279)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:679)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:391)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer._transform(PreMain.java:308)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer.transform(PreMain.java:107)
	at edu.columbia.cs.psl.phosphor.Instrumenter.instrumentClass(Instrumenter.java:175)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:690)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:685)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
java.lang.ArrayIndexOutOfBoundsException: -1
	at java.util.ArrayList.elementData(ArrayList.java:422)
	at java.util.ArrayList.get(ArrayList.java:435)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.visitMethodInsn(TaintPassingMV.java:2604)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.instrumenter.MethodArgReindexer.visitMethodInsn(MethodArgReindexer.java:425)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodInsnNode.accept(MethodInsnNode.java:117)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.InsnList.accept(InsnList.java:144)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:792)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintLoadCoercer$UninstTaintLoadCoercerMN.visitEnd(TaintLoadCoercer.java:665)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer$PrimitiveArrayAnalyzerMN.visitEnd(PrimitiveArrayAnalyzer.java:1301)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer.visitEnd(PrimitiveArrayAnalyzer.java:1595)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintTrackingClassVisitor$4.visitEnd(TaintTrackingClassVisitor.java:532)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1279)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:679)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:391)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer._transform(PreMain.java:308)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer.transform(PreMain.java:107)
	at edu.columbia.cs.psl.phosphor.Instrumenter.instrumentClass(Instrumenter.java:175)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:690)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:685)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
method so far:
Saving com/google/common/collect/HashBiMap
Processed: 1000/18827
Processed: 2000/18827
java.lang.ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException
method so far:
Saving com/mucommander/commons/file/util/FileComparator
Processed: 3000/18827
java.lang.ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException
method so far:
Saving com/mucommander/ui/notifier/GrowlNotifier
Processed: 4000/18827
Processed: 5000/18827
Processed: 6000/18827
Processed: 7000/18827
Processed: 8000/18827
Processed: 9000/18827
java.lang.NullPointerException
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveBoxingFixer.visitMethodInsn(PrimitiveBoxingFixer.java:87)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.registerTaintedArray(TaintPassingMV.java:1573)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.storeTaintArrayAt(TaintPassingMV.java:1713)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.visitMethodInsn(TaintPassingMV.java:2628)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.instrumenter.MethodArgReindexer.visitMethodInsn(MethodArgReindexer.java:425)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodInsnNode.accept(MethodInsnNode.java:117)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.InsnList.accept(InsnList.java:144)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:792)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintLoadCoercer$UninstTaintLoadCoercerMN.visitEnd(TaintLoadCoercer.java:665)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer$PrimitiveArrayAnalyzerMN.visitEnd(PrimitiveArrayAnalyzer.java:1301)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer.visitEnd(PrimitiveArrayAnalyzer.java:1595)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintTrackingClassVisitor$4.visitEnd(TaintTrackingClassVisitor.java:532)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1279)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:679)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:391)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer._transform(PreMain.java:308)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer.transform(PreMain.java:107)
	at edu.columbia.cs.psl.phosphor.Instrumenter.instrumentClass(Instrumenter.java:175)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:690)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:685)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
java.lang.NullPointerException
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveBoxingFixer.visitMethodInsn(PrimitiveBoxingFixer.java:87)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.registerTaintedArray(TaintPassingMV.java:1573)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.storeTaintArrayAt(TaintPassingMV.java:1713)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.visitMethodInsn(TaintPassingMV.java:2628)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.instrumenter.MethodArgReindexer.visitMethodInsn(MethodArgReindexer.java:425)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodInsnNode.accept(MethodInsnNode.java:117)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.InsnList.accept(InsnList.java:144)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:792)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintLoadCoercer$UninstTaintLoadCoercerMN.visitEnd(TaintLoadCoercer.java:665)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer$PrimitiveArrayAnalyzerMN.visitEnd(PrimitiveArrayAnalyzer.java:1301)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer.visitEnd(PrimitiveArrayAnalyzer.java:1595)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintTrackingClassVisitor$4.visitEnd(TaintTrackingClassVisitor.java:532)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1279)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:679)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:391)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer._transform(PreMain.java:308)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer.transform(PreMain.java:107)
	at edu.columbia.cs.psl.phosphor.Instrumenter.instrumentClass(Instrumenter.java:175)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:690)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:685)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
method so far:
Saving jcifs/smb/Trans2QueryFSInformationResponse
java.lang.NullPointerException
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveBoxingFixer.visitMethodInsn(PrimitiveBoxingFixer.java:87)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.registerTaintedArray(TaintPassingMV.java:1573)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.storeTaintArrayAt(TaintPassingMV.java:1713)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.visitMethodInsn(TaintPassingMV.java:2628)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.instrumenter.MethodArgReindexer.visitMethodInsn(MethodArgReindexer.java:425)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodInsnNode.accept(MethodInsnNode.java:117)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.InsnList.accept(InsnList.java:144)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:792)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintLoadCoercer$UninstTaintLoadCoercerMN.visitEnd(TaintLoadCoercer.java:665)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer$PrimitiveArrayAnalyzerMN.visitEnd(PrimitiveArrayAnalyzer.java:1301)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer.visitEnd(PrimitiveArrayAnalyzer.java:1595)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintTrackingClassVisitor$4.visitEnd(TaintTrackingClassVisitor.java:532)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1279)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:679)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:391)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer._transform(PreMain.java:308)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer.transform(PreMain.java:107)
	at edu.columbia.cs.psl.phosphor.Instrumenter.instrumentClass(Instrumenter.java:175)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:690)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:685)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
java.lang.NullPointerException
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveBoxingFixer.visitMethodInsn(PrimitiveBoxingFixer.java:87)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.registerTaintedArray(TaintPassingMV.java:1573)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.storeTaintArrayAt(TaintPassingMV.java:1713)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.visitMethodInsn(TaintPassingMV.java:2628)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.instrumenter.MethodArgReindexer.visitMethodInsn(MethodArgReindexer.java:425)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodInsnNode.accept(MethodInsnNode.java:117)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.InsnList.accept(InsnList.java:144)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:792)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintLoadCoercer$UninstTaintLoadCoercerMN.visitEnd(TaintLoadCoercer.java:665)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer$PrimitiveArrayAnalyzerMN.visitEnd(PrimitiveArrayAnalyzer.java:1301)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer.visitEnd(PrimitiveArrayAnalyzer.java:1595)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintTrackingClassVisitor$4.visitEnd(TaintTrackingClassVisitor.java:532)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1279)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:679)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:391)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer._transform(PreMain.java:308)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer.transform(PreMain.java:107)
	at edu.columbia.cs.psl.phosphor.Instrumenter.instrumentClass(Instrumenter.java:175)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:690)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:685)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
method so far:
Saving jcifs/smb/Trans2QueryPathInformationResponse
Processed: 10000/18827
java.lang.ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException
method so far:
Saving org/apache/batik/dom/util/DOMUtilities
Processed: 11000/18827
Processed: 12000/18827
java.lang.ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException
method so far:
Saving org/apache/hadoop/fs/FileUtil
java.lang.ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException
method so far:
Saving org/apache/hadoop/fs/shell/Ls
Processed: 13000/18827
Processed: 14000/18827
Processed: 15000/18827
java.lang.IllegalArgumentException: got 0 zzzclass java.lang.Integer
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintAdapter.getTypeForStackType(TaintAdapter.java:645)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.visitMethodInsn(TaintPassingMV.java:2609)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.instrumenter.MethodArgReindexer.visitMethodInsn(MethodArgReindexer.java:425)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodInsnNode.accept(MethodInsnNode.java:117)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.InsnList.accept(InsnList.java:144)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:792)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintLoadCoercer$UninstTaintLoadCoercerMN.visitEnd(TaintLoadCoercer.java:665)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer$PrimitiveArrayAnalyzerMN.visitEnd(PrimitiveArrayAnalyzer.java:1301)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer.visitEnd(PrimitiveArrayAnalyzer.java:1595)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintTrackingClassVisitor$4.visitEnd(TaintTrackingClassVisitor.java:532)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1279)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:679)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:391)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer._transform(PreMain.java:308)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer.transform(PreMain.java:107)
	at edu.columbia.cs.psl.phosphor.Instrumenter.instrumentClass(Instrumenter.java:175)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:690)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:685)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
java.lang.IllegalArgumentException: got 0 zzzclass java.lang.Integer
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintAdapter.getTypeForStackType(TaintAdapter.java:645)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.visitMethodInsn(TaintPassingMV.java:2609)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.instrumenter.MethodArgReindexer.visitMethodInsn(MethodArgReindexer.java:425)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodInsnNode.accept(MethodInsnNode.java:117)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.InsnList.accept(InsnList.java:144)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:792)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintLoadCoercer$UninstTaintLoadCoercerMN.visitEnd(TaintLoadCoercer.java:665)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer$PrimitiveArrayAnalyzerMN.visitEnd(PrimitiveArrayAnalyzer.java:1301)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer.visitEnd(PrimitiveArrayAnalyzer.java:1595)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintTrackingClassVisitor$4.visitEnd(TaintTrackingClassVisitor.java:532)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1279)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:679)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:391)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer._transform(PreMain.java:308)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer.transform(PreMain.java:107)
	at edu.columbia.cs.psl.phosphor.Instrumenter.instrumentClass(Instrumenter.java:175)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:690)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:685)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
method so far:
Saving org/apache/hadoop/hdfs/server/namenode/FSImage
java.lang.ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException
method so far:
Saving org/apache/hadoop/hdfs/server/namenode/ImageServlet
Processed: 16000/18827
java.lang.IllegalStateException: Not supposed to ever pop the top like this
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.storeTaintArrayAt(TaintPassingMV.java:1696)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.visitMethodInsn(TaintPassingMV.java:2628)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.instrumenter.MethodArgReindexer.visitMethodInsn(MethodArgReindexer.java:425)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodInsnNode.accept(MethodInsnNode.java:117)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.InsnList.accept(InsnList.java:144)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:792)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintLoadCoercer$UninstTaintLoadCoercerMN.visitEnd(TaintLoadCoercer.java:665)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer$PrimitiveArrayAnalyzerMN.visitEnd(PrimitiveArrayAnalyzer.java:1301)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer.visitEnd(PrimitiveArrayAnalyzer.java:1595)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintTrackingClassVisitor$4.visitEnd(TaintTrackingClassVisitor.java:532)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1279)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:679)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:391)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer._transform(PreMain.java:308)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer.transform(PreMain.java:107)
	at edu.columbia.cs.psl.phosphor.Instrumenter.instrumentClass(Instrumenter.java:175)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:690)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:685)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
java.lang.IllegalStateException: Not supposed to ever pop the top like this
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.storeTaintArrayAt(TaintPassingMV.java:1696)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.visitMethodInsn(TaintPassingMV.java:2628)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.instrumenter.MethodArgReindexer.visitMethodInsn(MethodArgReindexer.java:425)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodInsnNode.accept(MethodInsnNode.java:117)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.InsnList.accept(InsnList.java:144)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:792)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintLoadCoercer$UninstTaintLoadCoercerMN.visitEnd(TaintLoadCoercer.java:665)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer$PrimitiveArrayAnalyzerMN.visitEnd(PrimitiveArrayAnalyzer.java:1301)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer.visitEnd(PrimitiveArrayAnalyzer.java:1595)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintTrackingClassVisitor$4.visitEnd(TaintTrackingClassVisitor.java:532)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1279)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:679)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:391)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer._transform(PreMain.java:308)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer.transform(PreMain.java:107)
	at edu.columbia.cs.psl.phosphor.Instrumenter.instrumentClass(Instrumenter.java:175)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:690)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:685)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
method so far:
Saving org/apache/hadoop/io/WritableUtils
Processed: 17000/18827
Processed: 18000/18827
java.lang.IllegalArgumentException
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.Type.getTypeInternal(Type.java:429)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.Type.getType(Type.java:177)
	at edu.columbia.cs.psl.phosphor.instrumenter.UninstrumentedCompatMV.visitTypeInsn(UninstrumentedCompatMV.java:148)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitTypeInsn(MethodVisitor.java:363)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitTypeInsn(MethodVisitor.java:363)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitTypeInsn(MethodVisitor.java:363)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.TypeInsnNode.accept(TypeInsnNode.java:77)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.InsnList.accept(InsnList.java:144)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:792)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintLoadCoercer$UninstTaintLoadCoercerMN.visitEnd(TaintLoadCoercer.java:480)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer$PrimitiveArrayAnalyzerMN.visitEnd(PrimitiveArrayAnalyzer.java:1301)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer.visitEnd(PrimitiveArrayAnalyzer.java:1595)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintTrackingClassVisitor$4.visitEnd(TaintTrackingClassVisitor.java:532)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1279)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:679)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:391)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer._transform(PreMain.java:333)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer.transform(PreMain.java:107)
	at edu.columbia.cs.psl.phosphor.Instrumenter.instrumentClass(Instrumenter.java:175)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:690)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:685)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
java.lang.IllegalStateException: java.lang.IllegalArgumentException
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintLoadCoercer$UninstTaintLoadCoercerMN.visitEnd(TaintLoadCoercer.java:660)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer$PrimitiveArrayAnalyzerMN.visitEnd(PrimitiveArrayAnalyzer.java:1301)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer.visitEnd(PrimitiveArrayAnalyzer.java:1595)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintTrackingClassVisitor$4.visitEnd(TaintTrackingClassVisitor.java:532)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1279)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:679)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:391)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer._transform(PreMain.java:333)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer.transform(PreMain.java:107)
	at edu.columbia.cs.psl.phosphor.Instrumenter.instrumentClass(Instrumenter.java:175)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:690)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:685)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalArgumentException
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.Type.getTypeInternal(Type.java:429)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.Type.getType(Type.java:177)
	at edu.columbia.cs.psl.phosphor.instrumenter.UninstrumentedCompatMV.visitTypeInsn(UninstrumentedCompatMV.java:148)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitTypeInsn(MethodVisitor.java:363)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitTypeInsn(MethodVisitor.java:363)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitTypeInsn(MethodVisitor.java:363)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.TypeInsnNode.accept(TypeInsnNode.java:77)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.InsnList.accept(InsnList.java:144)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:792)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintLoadCoercer$UninstTaintLoadCoercerMN.visitEnd(TaintLoadCoercer.java:480)
	... 20 more
java.lang.IllegalStateException: java.lang.IllegalArgumentException
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintLoadCoercer$UninstTaintLoadCoercerMN.visitEnd(TaintLoadCoercer.java:660)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer$PrimitiveArrayAnalyzerMN.visitEnd(PrimitiveArrayAnalyzer.java:1301)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer.visitEnd(PrimitiveArrayAnalyzer.java:1595)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintTrackingClassVisitor$4.visitEnd(TaintTrackingClassVisitor.java:532)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1279)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:679)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:391)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer._transform(PreMain.java:333)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer.transform(PreMain.java:107)
	at edu.columbia.cs.psl.phosphor.Instrumenter.instrumentClass(Instrumenter.java:175)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:690)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:685)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalArgumentException
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.Type.getTypeInternal(Type.java:429)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.Type.getType(Type.java:177)
	at edu.columbia.cs.psl.phosphor.instrumenter.UninstrumentedCompatMV.visitTypeInsn(UninstrumentedCompatMV.java:148)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitTypeInsn(MethodVisitor.java:363)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitTypeInsn(MethodVisitor.java:363)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitTypeInsn(MethodVisitor.java:363)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.TypeInsnNode.accept(TypeInsnNode.java:77)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.InsnList.accept(InsnList.java:144)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:792)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintLoadCoercer$UninstTaintLoadCoercerMN.visitEnd(TaintLoadCoercer.java:480)
	... 20 more
method so far:
Saving org/icepdf/core/pobjects/fonts/ofont/Encoding
Done after 208410 ms
```
So you can see various exceptions:

- java.lang.ArrayIndexOutOfBoundsException: -1
- java.lang.NullPointerException
- java.lang.IllegalArgumentException: got 0 zzzclass java.lang.Integer
- java.lang.IllegalStateException: Not supposed to ever pop the top like this

I've used last version of Phoshor: 766b27a2bad56acbf6bb272a814f85e61795dbcd

Resulting jar is broken - it doesn't correct start:
```
Exception in thread "main" java.lang.VerifyError: Inconsistent stackmap frames at branch target 102
Exception Details:
  Location:
    com/mucommander/commons/runtime/OsFamily.parseSystemProperty(Ljava/lang/String;)Lcom/mucommander/commons/runtime/OsFamily; @102: getstatic
  Reason:
    Type 'java/lang/String' (current frame, locals[0]) is not assignable to 'com/mucommander/commons/runtime/OsFamily' (stack map, locals[0])
  Current Frame:
    bci: @86
    flags: { }
    locals: { 'java/lang/String', 'edu/columbia/cs/psl/phosphor/struct/TaintedBooleanWithObjTag' }
    stack: { integer }
  Stackmap Frame:
    bci: @102
    flags: { }
    locals: { 'com/mucommander/commons/runtime/OsFamily', 'edu/columbia/cs/psl/phosphor/struct/TaintedBooleanWithObjTag' }
    stack: { }
  Bytecode:
    0x0000000: bb00 a559 b700 af4c 2a12 142b b600 b3b4
    0x0000010: 00aa 9900 07b2 0025 b02a 1209 2bb6 00b3
    0x0000020: b400 aa99 0007 b200 20b0 2a12 0b2b b600
    0x0000030: b3b4 00aa 9900 07b2 0022 b02a 1207 2bb6
    0x0000040: 00b3 b400 aa99 0007 b200 1fb0 2a12 0f2b
    0x0000050: b600 b3b4 00aa 9a00 102a 1210 2bb6 00b3
    0x0000060: b400 aa99 0007 b200 23b0 2a12 032b b600
    0x0000070: b3b4 00aa 9900 07b2 001d b02a 1201 2bb6
    0x0000080: 00b3 b400 aa99 0007 b200 1cb0 2a12 042b
    0x0000090: b600 b3b4 00aa 9900 07b2 001e b02a 120d
    0x00000a0: 2bb6 00b3 b400 aa99 0007 b200 21b0 b200
    0x00000b0: 24b0                                   
  Stackmap Table:
    append_frame(@25,Object[#165])
    same_frame(@42)
    same_frame(@59)
    same_frame(@76)
    full_frame(@102,{Object[#23],Object[#165]},{})
    full_frame(@106,{Object[#25],Object[#165]},{})
    same_frame(@123)
    same_frame(@140)
    same_frame(@157)
    full_frame(@174,{Object[#23],Object[#165]},{})

	at com.mucommander.TrolCommander.main(TrolCommander.java:765)
```

I'll try to localize the problems a little bit later.
Various exceptions during the instrumenting phase
issue
created
dencat
username_0
Minimal reproducible example:
```java
public class A {
  public long a() {
    return Math.max(0, b());
  }

  public long b() {
    return 0;
  }
}
```

Instrumenting
```
javac A.java
java -jar Phosphor-0.0.4-SNAPSHOT.jar A.class t
```
leads to exception:
```
java.lang.IllegalArgumentException
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.Type.getTypeInternal(Type.java:429)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.Type.getType(Type.java:177)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintAdapter.getTypeForStackType(TaintAdapter.java:642)
```
comment
created
jon-bell
username_1
The jar file that you linked to is a dead link. Can you post the jar that causes this? Your minimized example was a different, strange issue.
comment
created
dencat
username_0
I've updated link, now it's correct.
One of exceptions is thrown on [this method](https://github.com/apache/hadoop/blob/041e7a7dee4a17714f31952dc6364c77a65b1b73/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImage.java#L1533), so i just simplified it.
comment
closed
jon-bell
username_1
issue
created
dencat
username_0
Now it's instrumented without errors, but instrumented jar file is still broken:
```
Exception in thread "main" java.lang.VerifyError: Inconsistent stackmap frames at branch target 102
Exception Details:
  Location:
    com/mucommander/commons/runtime/OsFamily.parseSystemProperty(Ljava/lang/String;)Lcom/mucommander/commons/runtime/OsFamily; @102: getstatic
  Reason:
    Type 'java/lang/String' (current frame, locals[0]) is not assignable to 'com/mucommander/commons/runtime/OsFamily' (stack map, locals[0])
  Current Frame:
    bci: @86
    flags: { }
    locals: { 'java/lang/String', 'edu/columbia/cs/psl/phosphor/struct/TaintedBooleanWithObjTag' }
    stack: { integer }
  Stackmap Frame:
    bci: @102
    flags: { }
    locals: { 'com/mucommander/commons/runtime/OsFamily', 'edu/columbia/cs/psl/phosphor/struct/TaintedBooleanWithObjTag' }
    stack: { }
  Bytecode:
    0x0000000: bb00 a559 b700 af4c 2a12 142b b600 b3b4
    0x0000010: 00aa 9900 07b2 0025 b02a 1209 2bb6 00b3
    0x0000020: b400 aa99 0007 b200 20b0 2a12 0b2b b600
    0x0000030: b3b4 00aa 9900 07b2 0022 b02a 1207 2bb6
    0x0000040: 00b3 b400 aa99 0007 b200 1fb0 2a12 0f2b
    0x0000050: b600 b3b4 00aa 9a00 102a 1210 2bb6 00b3
    0x0000060: b400 aa99 0007 b200 23b0 2a12 032b b600
    0x0000070: b3b4 00aa 9900 07b2 001d b02a 1201 2bb6
    0x0000080: 00b3 b400 aa99 0007 b200 1cb0 2a12 042b
    0x0000090: b600 b3b4 00aa 9900 07b2 001e b02a 120d
    0x00000a0: 2bb6 00b3 b400 aa99 0007 b200 21b0 b200
    0x00000b0: 24b0                                   
  Stackmap Table:
    append_frame(@25,Object[#165])
    same_frame(@42)
    same_frame(@59)
    same_frame(@76)
    full_frame(@102,{Object[#23],Object[#165]},{})
    full_frame(@106,{Object[#25],Object[#165]},{})
    same_frame(@123)
    same_frame(@140)
    same_frame(@157)
    full_frame(@174,{Object[#23],Object[#165]},{})

	at com.mucommander.TrolCommander.main(TrolCommander.java:765)
```
comment
created
jon-bell
username_1
While I am willing to keep fixing these things, I will warn you that we have a lot going on over the next few months here and this is not at the top of my priority queue.

I notice that this is a GUI application, and that it has been obfuscated in some ways (in particular, the stack map frames are unlike any that javac will generate). Have you confirmed that simpler GUI applications will work? We have never tried GUI applications with Phosphor. This might be something that you can investigate on your own while we sort out other instrumentation issues.
comment
reopened
jon-bell
username_1
Hi,
i have problem with [mucommander-0.9.9](https://github.com/trol73/mucommander/releases/download/v0.9.9/trolcommander.jar):
```
java -jar Phosphor-0.0.4-SNAPSHOT.jar -multiTaint trolcommander.jar test
```
Output:
```
Data flow tracking: enabled
Control flow tracking: disabled
Multi taint: enabled
Branch not taken: enabled
Starting analysis
Analysis Completed: Beginning Instrumentation Phase
java.lang.ArrayIndexOutOfBoundsException: -1
	at java.util.ArrayList.elementData(ArrayList.java:422)
	at java.util.ArrayList.get(ArrayList.java:435)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.visitMethodInsn(TaintPassingMV.java:2604)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.instrumenter.MethodArgReindexer.visitMethodInsn(MethodArgReindexer.java:425)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodInsnNode.accept(MethodInsnNode.java:117)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.InsnList.accept(InsnList.java:144)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:792)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintLoadCoercer$UninstTaintLoadCoercerMN.visitEnd(TaintLoadCoercer.java:665)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer$PrimitiveArrayAnalyzerMN.visitEnd(PrimitiveArrayAnalyzer.java:1301)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer.visitEnd(PrimitiveArrayAnalyzer.java:1595)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintTrackingClassVisitor$4.visitEnd(TaintTrackingClassVisitor.java:532)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1279)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:679)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:391)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer._transform(PreMain.java:308)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer.transform(PreMain.java:107)
	at edu.columbia.cs.psl.phosphor.Instrumenter.instrumentClass(Instrumenter.java:175)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:690)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:685)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
java.lang.ArrayIndexOutOfBoundsException: -1
	at java.util.ArrayList.elementData(ArrayList.java:422)
	at java.util.ArrayList.get(ArrayList.java:435)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.visitMethodInsn(TaintPassingMV.java:2604)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.instrumenter.MethodArgReindexer.visitMethodInsn(MethodArgReindexer.java:425)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodInsnNode.accept(MethodInsnNode.java:117)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.InsnList.accept(InsnList.java:144)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:792)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintLoadCoercer$UninstTaintLoadCoercerMN.visitEnd(TaintLoadCoercer.java:665)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer$PrimitiveArrayAnalyzerMN.visitEnd(PrimitiveArrayAnalyzer.java:1301)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer.visitEnd(PrimitiveArrayAnalyzer.java:1595)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintTrackingClassVisitor$4.visitEnd(TaintTrackingClassVisitor.java:532)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1279)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:679)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:391)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer._transform(PreMain.java:308)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer.transform(PreMain.java:107)
	at edu.columbia.cs.psl.phosphor.Instrumenter.instrumentClass(Instrumenter.java:175)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:690)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:685)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
method so far:
Saving com/google/common/collect/HashBiMap
Processed: 1000/18827
Processed: 2000/18827
java.lang.ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException
method so far:
Saving com/mucommander/commons/file/util/FileComparator
Processed: 3000/18827
java.lang.ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException
method so far:
Saving com/mucommander/ui/notifier/GrowlNotifier
Processed: 4000/18827
Processed: 5000/18827
Processed: 6000/18827
Processed: 7000/18827
Processed: 8000/18827
Processed: 9000/18827
java.lang.NullPointerException
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveBoxingFixer.visitMethodInsn(PrimitiveBoxingFixer.java:87)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.registerTaintedArray(TaintPassingMV.java:1573)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.storeTaintArrayAt(TaintPassingMV.java:1713)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.visitMethodInsn(TaintPassingMV.java:2628)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.instrumenter.MethodArgReindexer.visitMethodInsn(MethodArgReindexer.java:425)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodInsnNode.accept(MethodInsnNode.java:117)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.InsnList.accept(InsnList.java:144)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:792)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintLoadCoercer$UninstTaintLoadCoercerMN.visitEnd(TaintLoadCoercer.java:665)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer$PrimitiveArrayAnalyzerMN.visitEnd(PrimitiveArrayAnalyzer.java:1301)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer.visitEnd(PrimitiveArrayAnalyzer.java:1595)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintTrackingClassVisitor$4.visitEnd(TaintTrackingClassVisitor.java:532)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1279)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:679)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:391)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer._transform(PreMain.java:308)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer.transform(PreMain.java:107)
	at edu.columbia.cs.psl.phosphor.Instrumenter.instrumentClass(Instrumenter.java:175)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:690)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:685)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
java.lang.NullPointerException
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveBoxingFixer.visitMethodInsn(PrimitiveBoxingFixer.java:87)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.registerTaintedArray(TaintPassingMV.java:1573)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.storeTaintArrayAt(TaintPassingMV.java:1713)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.visitMethodInsn(TaintPassingMV.java:2628)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.instrumenter.MethodArgReindexer.visitMethodInsn(MethodArgReindexer.java:425)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodInsnNode.accept(MethodInsnNode.java:117)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.InsnList.accept(InsnList.java:144)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:792)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintLoadCoercer$UninstTaintLoadCoercerMN.visitEnd(TaintLoadCoercer.java:665)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer$PrimitiveArrayAnalyzerMN.visitEnd(PrimitiveArrayAnalyzer.java:1301)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer.visitEnd(PrimitiveArrayAnalyzer.java:1595)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintTrackingClassVisitor$4.visitEnd(TaintTrackingClassVisitor.java:532)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1279)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:679)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:391)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer._transform(PreMain.java:308)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer.transform(PreMain.java:107)
	at edu.columbia.cs.psl.phosphor.Instrumenter.instrumentClass(Instrumenter.java:175)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:690)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:685)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
method so far:
Saving jcifs/smb/Trans2QueryFSInformationResponse
java.lang.NullPointerException
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveBoxingFixer.visitMethodInsn(PrimitiveBoxingFixer.java:87)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.registerTaintedArray(TaintPassingMV.java:1573)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.storeTaintArrayAt(TaintPassingMV.java:1713)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.visitMethodInsn(TaintPassingMV.java:2628)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.instrumenter.MethodArgReindexer.visitMethodInsn(MethodArgReindexer.java:425)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodInsnNode.accept(MethodInsnNode.java:117)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.InsnList.accept(InsnList.java:144)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:792)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintLoadCoercer$UninstTaintLoadCoercerMN.visitEnd(TaintLoadCoercer.java:665)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer$PrimitiveArrayAnalyzerMN.visitEnd(PrimitiveArrayAnalyzer.java:1301)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer.visitEnd(PrimitiveArrayAnalyzer.java:1595)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintTrackingClassVisitor$4.visitEnd(TaintTrackingClassVisitor.java:532)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1279)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:679)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:391)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer._transform(PreMain.java:308)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer.transform(PreMain.java:107)
	at edu.columbia.cs.psl.phosphor.Instrumenter.instrumentClass(Instrumenter.java:175)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:690)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:685)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
java.lang.NullPointerException
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveBoxingFixer.visitMethodInsn(PrimitiveBoxingFixer.java:87)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.registerTaintedArray(TaintPassingMV.java:1573)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.storeTaintArrayAt(TaintPassingMV.java:1713)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.visitMethodInsn(TaintPassingMV.java:2628)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.instrumenter.MethodArgReindexer.visitMethodInsn(MethodArgReindexer.java:425)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodInsnNode.accept(MethodInsnNode.java:117)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.InsnList.accept(InsnList.java:144)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:792)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintLoadCoercer$UninstTaintLoadCoercerMN.visitEnd(TaintLoadCoercer.java:665)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer$PrimitiveArrayAnalyzerMN.visitEnd(PrimitiveArrayAnalyzer.java:1301)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer.visitEnd(PrimitiveArrayAnalyzer.java:1595)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintTrackingClassVisitor$4.visitEnd(TaintTrackingClassVisitor.java:532)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1279)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:679)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:391)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer._transform(PreMain.java:308)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer.transform(PreMain.java:107)
	at edu.columbia.cs.psl.phosphor.Instrumenter.instrumentClass(Instrumenter.java:175)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:690)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:685)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
method so far:
Saving jcifs/smb/Trans2QueryPathInformationResponse
Processed: 10000/18827
java.lang.ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException
method so far:
Saving org/apache/batik/dom/util/DOMUtilities
Processed: 11000/18827
Processed: 12000/18827
java.lang.ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException
method so far:
Saving org/apache/hadoop/fs/FileUtil
java.lang.ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException
method so far:
Saving org/apache/hadoop/fs/shell/Ls
Processed: 13000/18827
Processed: 14000/18827
Processed: 15000/18827
java.lang.IllegalArgumentException: got 0 zzzclass java.lang.Integer
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintAdapter.getTypeForStackType(TaintAdapter.java:645)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.visitMethodInsn(TaintPassingMV.java:2609)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.instrumenter.MethodArgReindexer.visitMethodInsn(MethodArgReindexer.java:425)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodInsnNode.accept(MethodInsnNode.java:117)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.InsnList.accept(InsnList.java:144)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:792)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintLoadCoercer$UninstTaintLoadCoercerMN.visitEnd(TaintLoadCoercer.java:665)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer$PrimitiveArrayAnalyzerMN.visitEnd(PrimitiveArrayAnalyzer.java:1301)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer.visitEnd(PrimitiveArrayAnalyzer.java:1595)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintTrackingClassVisitor$4.visitEnd(TaintTrackingClassVisitor.java:532)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1279)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:679)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:391)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer._transform(PreMain.java:308)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer.transform(PreMain.java:107)
	at edu.columbia.cs.psl.phosphor.Instrumenter.instrumentClass(Instrumenter.java:175)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:690)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:685)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
java.lang.IllegalArgumentException: got 0 zzzclass java.lang.Integer
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintAdapter.getTypeForStackType(TaintAdapter.java:645)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.visitMethodInsn(TaintPassingMV.java:2609)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.instrumenter.MethodArgReindexer.visitMethodInsn(MethodArgReindexer.java:425)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodInsnNode.accept(MethodInsnNode.java:117)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.InsnList.accept(InsnList.java:144)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:792)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintLoadCoercer$UninstTaintLoadCoercerMN.visitEnd(TaintLoadCoercer.java:665)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer$PrimitiveArrayAnalyzerMN.visitEnd(PrimitiveArrayAnalyzer.java:1301)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer.visitEnd(PrimitiveArrayAnalyzer.java:1595)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintTrackingClassVisitor$4.visitEnd(TaintTrackingClassVisitor.java:532)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1279)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:679)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:391)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer._transform(PreMain.java:308)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer.transform(PreMain.java:107)
	at edu.columbia.cs.psl.phosphor.Instrumenter.instrumentClass(Instrumenter.java:175)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:690)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:685)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
method so far:
Saving org/apache/hadoop/hdfs/server/namenode/FSImage
java.lang.ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException
method so far:
Saving org/apache/hadoop/hdfs/server/namenode/ImageServlet
Processed: 16000/18827
java.lang.IllegalStateException: Not supposed to ever pop the top like this
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.storeTaintArrayAt(TaintPassingMV.java:1696)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.visitMethodInsn(TaintPassingMV.java:2628)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.instrumenter.MethodArgReindexer.visitMethodInsn(MethodArgReindexer.java:425)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodInsnNode.accept(MethodInsnNode.java:117)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.InsnList.accept(InsnList.java:144)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:792)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintLoadCoercer$UninstTaintLoadCoercerMN.visitEnd(TaintLoadCoercer.java:665)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer$PrimitiveArrayAnalyzerMN.visitEnd(PrimitiveArrayAnalyzer.java:1301)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer.visitEnd(PrimitiveArrayAnalyzer.java:1595)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintTrackingClassVisitor$4.visitEnd(TaintTrackingClassVisitor.java:532)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1279)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:679)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:391)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer._transform(PreMain.java:308)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer.transform(PreMain.java:107)
	at edu.columbia.cs.psl.phosphor.Instrumenter.instrumentClass(Instrumenter.java:175)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:690)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:685)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
java.lang.IllegalStateException: Not supposed to ever pop the top like this
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.storeTaintArrayAt(TaintPassingMV.java:1696)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintPassingMV.visitMethodInsn(TaintPassingMV.java:2628)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:433)
	at edu.columbia.cs.psl.phosphor.instrumenter.MethodArgReindexer.visitMethodInsn(MethodArgReindexer.java:425)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodInsnNode.accept(MethodInsnNode.java:117)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.InsnList.accept(InsnList.java:144)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:792)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintLoadCoercer$UninstTaintLoadCoercerMN.visitEnd(TaintLoadCoercer.java:665)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer$PrimitiveArrayAnalyzerMN.visitEnd(PrimitiveArrayAnalyzer.java:1301)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer.visitEnd(PrimitiveArrayAnalyzer.java:1595)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintTrackingClassVisitor$4.visitEnd(TaintTrackingClassVisitor.java:532)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1279)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:679)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:391)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer._transform(PreMain.java:308)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer.transform(PreMain.java:107)
	at edu.columbia.cs.psl.phosphor.Instrumenter.instrumentClass(Instrumenter.java:175)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:690)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:685)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
method so far:
Saving org/apache/hadoop/io/WritableUtils
Processed: 17000/18827
Processed: 18000/18827
java.lang.IllegalArgumentException
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.Type.getTypeInternal(Type.java:429)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.Type.getType(Type.java:177)
	at edu.columbia.cs.psl.phosphor.instrumenter.UninstrumentedCompatMV.visitTypeInsn(UninstrumentedCompatMV.java:148)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitTypeInsn(MethodVisitor.java:363)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitTypeInsn(MethodVisitor.java:363)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitTypeInsn(MethodVisitor.java:363)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.TypeInsnNode.accept(TypeInsnNode.java:77)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.InsnList.accept(InsnList.java:144)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:792)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintLoadCoercer$UninstTaintLoadCoercerMN.visitEnd(TaintLoadCoercer.java:480)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer$PrimitiveArrayAnalyzerMN.visitEnd(PrimitiveArrayAnalyzer.java:1301)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer.visitEnd(PrimitiveArrayAnalyzer.java:1595)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintTrackingClassVisitor$4.visitEnd(TaintTrackingClassVisitor.java:532)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1279)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:679)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:391)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer._transform(PreMain.java:333)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer.transform(PreMain.java:107)
	at edu.columbia.cs.psl.phosphor.Instrumenter.instrumentClass(Instrumenter.java:175)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:690)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:685)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
java.lang.IllegalStateException: java.lang.IllegalArgumentException
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintLoadCoercer$UninstTaintLoadCoercerMN.visitEnd(TaintLoadCoercer.java:660)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer$PrimitiveArrayAnalyzerMN.visitEnd(PrimitiveArrayAnalyzer.java:1301)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer.visitEnd(PrimitiveArrayAnalyzer.java:1595)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintTrackingClassVisitor$4.visitEnd(TaintTrackingClassVisitor.java:532)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1279)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:679)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:391)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer._transform(PreMain.java:333)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer.transform(PreMain.java:107)
	at edu.columbia.cs.psl.phosphor.Instrumenter.instrumentClass(Instrumenter.java:175)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:690)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:685)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalArgumentException
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.Type.getTypeInternal(Type.java:429)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.Type.getType(Type.java:177)
	at edu.columbia.cs.psl.phosphor.instrumenter.UninstrumentedCompatMV.visitTypeInsn(UninstrumentedCompatMV.java:148)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitTypeInsn(MethodVisitor.java:363)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitTypeInsn(MethodVisitor.java:363)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitTypeInsn(MethodVisitor.java:363)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.TypeInsnNode.accept(TypeInsnNode.java:77)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.InsnList.accept(InsnList.java:144)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:792)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintLoadCoercer$UninstTaintLoadCoercerMN.visitEnd(TaintLoadCoercer.java:480)
	... 20 more
java.lang.IllegalStateException: java.lang.IllegalArgumentException
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintLoadCoercer$UninstTaintLoadCoercerMN.visitEnd(TaintLoadCoercer.java:660)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer$PrimitiveArrayAnalyzerMN.visitEnd(PrimitiveArrayAnalyzer.java:1301)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.instrumenter.PrimitiveArrayAnalyzer.visitEnd(PrimitiveArrayAnalyzer.java:1595)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:778)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:813)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintTrackingClassVisitor$4.visitEnd(TaintTrackingClassVisitor.java:532)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1279)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:679)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.ClassReader.accept(ClassReader.java:391)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer._transform(PreMain.java:333)
	at edu.columbia.cs.psl.phosphor.PreMain$PCLoggingTransformer.transform(PreMain.java:107)
	at edu.columbia.cs.psl.phosphor.Instrumenter.instrumentClass(Instrumenter.java:175)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:690)
	at edu.columbia.cs.psl.phosphor.Instrumenter$4.call(Instrumenter.java:685)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalArgumentException
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.Type.getTypeInternal(Type.java:429)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.Type.getType(Type.java:177)
	at edu.columbia.cs.psl.phosphor.instrumenter.UninstrumentedCompatMV.visitTypeInsn(UninstrumentedCompatMV.java:148)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitTypeInsn(MethodVisitor.java:363)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitTypeInsn(MethodVisitor.java:363)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.MethodVisitor.visitTypeInsn(MethodVisitor.java:363)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.TypeInsnNode.accept(TypeInsnNode.java:77)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.InsnList.accept(InsnList.java:144)
	at edu.columbia.cs.psl.phosphor.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:792)
	at edu.columbia.cs.psl.phosphor.instrumenter.TaintLoadCoercer$UninstTaintLoadCoercerMN.visitEnd(TaintLoadCoercer.java:480)
	... 20 more
method so far:
Saving org/icepdf/core/pobjects/fonts/ofont/Encoding
Done after 208410 ms
```
So you can see various exceptions:

- java.lang.ArrayIndexOutOfBoundsException: -1
- java.lang.NullPointerException
- java.lang.IllegalArgumentException: got 0 zzzclass java.lang.Integer
- java.lang.IllegalStateException: Not supposed to ever pop the top like this

I've used last version of Phoshor: 766b27a2bad56acbf6bb272a814f85e61795dbcd

Resulting jar is broken - it doesn't correct start:
```
Exception in thread "main" java.lang.VerifyError: Inconsistent stackmap frames at branch target 102
Exception Details:
  Location:
    com/mucommander/commons/runtime/OsFamily.parseSystemProperty(Ljava/lang/String;)Lcom/mucommander/commons/runtime/OsFamily; @102: getstatic
  Reason:
    Type 'java/lang/String' (current frame, locals[0]) is not assignable to 'com/mucommander/commons/runtime/OsFamily' (stack map, locals[0])
  Current Frame:
    bci: @86
    flags: { }
    locals: { 'java/lang/String', 'edu/columbia/cs/psl/phosphor/struct/TaintedBooleanWithObjTag' }
    stack: { integer }
  Stackmap Frame:
    bci: @102
    flags: { }
    locals: { 'com/mucommander/commons/runtime/OsFamily', 'edu/columbia/cs/psl/phosphor/struct/TaintedBooleanWithObjTag' }
    stack: { }
  Bytecode:
    0x0000000: bb00 a559 b700 af4c 2a12 142b b600 b3b4
    0x0000010: 00aa 9900 07b2 0025 b02a 1209 2bb6 00b3
    0x0000020: b400 aa99 0007 b200 20b0 2a12 0b2b b600
    0x0000030: b3b4 00aa 9900 07b2 0022 b02a 1207 2bb6
    0x0000040: 00b3 b400 aa99 0007 b200 1fb0 2a12 0f2b
    0x0000050: b600 b3b4 00aa 9a00 102a 1210 2bb6 00b3
    0x0000060: b400 aa99 0007 b200 23b0 2a12 032b b600
    0x0000070: b3b4 00aa 9900 07b2 001d b02a 1201 2bb6
    0x0000080: 00b3 b400 aa99 0007 b200 1cb0 2a12 042b
    0x0000090: b600 b3b4 00aa 9900 07b2 001e b02a 120d
    0x00000a0: 2bb6 00b3 b400 aa99 0007 b200 21b0 b200
    0x00000b0: 24b0                                   
  Stackmap Table:
    append_frame(@25,Object[#165])
    same_frame(@42)
    same_frame(@59)
    same_frame(@76)
    full_frame(@102,{Object[#23],Object[#165]},{})
    full_frame(@106,{Object[#25],Object[#165]},{})
    same_frame(@123)
    same_frame(@140)
    same_frame(@157)
    full_frame(@174,{Object[#23],Object[#165]},{})

	at com.mucommander.TrolCommander.main(TrolCommander.java:765)
```

I'll try to localize the problems a little bit later.
Various exceptions during the instrumenting phase
issue
created
dencat
username_0
I also tried [jedit](http://www.jedit.org/) and it works without any problems. Ok, I will try.
comment
closed
jon-bell
username_1
issue