Skip to content

Error: not all bodies retrieved. 导致输出文件关闭 #8

@SuperXiaoxiong

Description

@SuperXiaoxiong

运行参数

 java -jar soot-fact-generator.jar -i /mnt/hgfs/bytecodedl/jeecg-system-cloud-start-3.4.3.jar -l /home/ubuntu/work/jdk1.8.0_371/jre/lib/rt.jar --generate-jimple --allow-phantom --full --ignore-wrong-staticness --ignore-factgen-errors  -d /mnt/hgfs/bytecodedl/jeecg_out1  --log-dir /mnt/hgfs/bytecodedl/jeecg_out1/
Exception in thread "Thread-1" Error: not all bodies retrieved.
java.lang.RuntimeException: Failed to convert <oracle.jdbc.proxy.ClassGenerator: void generate(org.objectweb.asm.ClassWriter)>
        at soot.asm.AsmMethodSource.getBody(AsmMethodSource.java:2163)
        at soot.SootMethod.retrieveActiveBody(SootMethod.java:402)
        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:750)
Caused by: java.lang.RuntimeException: Trying to create interface invoke expression for non-interface type: org.objectweb.asm.MethodVisitor Use JVirtualInvokeExpr or JSpecialInvokeExpr instead!
        at soot.jimple.internal.JInterfaceInvokeExpr.<init>(JInterfaceInvokeExpr.java:45)
        at soot.jimple.Jimple.newInterfaceInvokeExpr(Jimple.java:491)
        at soot.asm.AsmMethodSource.convertMethodInsn(AsmMethodSource.java:1398)
        at soot.asm.AsmMethodSource.convert(AsmMethodSource.java:1907)
        at soot.asm.AsmMethodSource.getBody(AsmMethodSource.java:2161)
        ... 4 more
java.lang.RuntimeException: Failed to convert <oracle.jdbc.proxy.ClassGenerator: void generate(org.objectweb.asm.ClassWriter)>
        at soot.asm.AsmMethodSource.getBody(AsmMethodSource.java:2163)
        at soot.SootMethod.retrieveActiveBody(SootMethod.java:402)
        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:750)
Caused by: java.lang.RuntimeException: Trying to create interface invoke expression for non-interface type: org.objectweb.asm.MethodVisitor Use JVirtualInvokeExpr or JSpecialInvokeExpr instead!
        at soot.jimple.internal.JInterfaceInvokeExpr.<init>(JInterfaceInvokeExpr.java:45)
        at soot.jimple.Jimple.newInterfaceInvokeExpr(Jimple.java:491)
        at soot.asm.AsmMethodSource.convertMethodInsn(AsmMethodSource.java:1398)
        at soot.asm.AsmMethodSource.convert(AsmMethodSource.java:1907)
        at soot.asm.AsmMethodSource.getBody(AsmMethodSource.java:2161)
        ... 4 more
Fact generation cores: 8
null
org.clyze.doop.common.DoopErrorCodeException: Doop error #10
        at org.clyze.doop.common.DoopErrorCodeException.error10(DoopErrorCodeException.java:53)
        at org.clyze.doop.common.Driver.waitForExecutorShutdown(Driver.java:73)
        at org.clyze.doop.common.Driver.shutdownExecutor(Driver.java:78)
        at org.clyze.doop.common.Driver.doInParallel(Driver.java:62)
        at org.clyze.doop.common.Driver.generateInParallel(Driver.java:89)
        at org.clyze.doop.soot.Main.invokeSoot(Main.java:296)
        at org.clyze.doop.soot.Main.lambda$produceFacts$1(Main.java:127)
        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:750)
Fact generation failed for method <sun.security.jgss.wrapper.NativeGSSContext: byte[] retrieveToken(java.io.InputStream,int)>.
java.lang.RuntimeException: java.io.IOException: Stream closed
        at org.clyze.doop.common.Database.add(Database.java:114)
        at org.clyze.doop.common.JavaFactWriter.writeActualParam(JavaFactWriter.java:293)
        at org.clyze.doop.soot.FactWriter.writeActualParams(FactWriter.java:861)
        at org.clyze.doop.soot.FactWriter.writeInvokeHelper(FactWriter.java:890)
        at org.clyze.doop.soot.FactWriter.writeInvoke(FactWriter.java:885)
        at org.clyze.doop.soot.FactGenerator.generate(FactGenerator.java:273)
        at org.clyze.doop.soot.FactGenerator.generate(FactGenerator.java:223)
        at org.clyze.doop.soot.FactGenerator.run(FactGenerator.java:75)
        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:750)
Caused by: java.io.IOException: Stream closed
        at sun.nio.cs.StreamEncoder.ensureOpen(StreamEncoder.java:45)
        at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:118)
        at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:135)
        at java.io.OutputStreamWriter.write(OutputStreamWriter.java:220)
        at java.io.Writer.write(Writer.java:157)
        at org.clyze.doop.common.Database.add(Database.java:111)
        ... 10 more
Fact generation failed for method <java.util.logging.FileHandler: void openFiles()>.
java.lang.RuntimeException: java.io.IOException: Stream closed
        at org.clyze.doop.common.Database.add(Database.java:114)
        at org.clyze.doop.common.JavaFactWriter.writeActualParam(JavaFactWriter.java:293)
        at org.clyze.doop.soot.FactWriter.writeActualParams(FactWriter.java:861)
        at org.clyze.doop.soot.FactWriter.writeInvokeHelper(FactWriter.java:890)
        at org.clyze.doop.soot.FactWriter.writeInvoke(FactWriter.java:885)
        at org.clyze.doop.soot.FactWriter.writeAssignInvoke(FactWriter.java:258)
        at org.clyze.doop.soot.FactGenerator.generateAssignToLocal(FactGenerator.java:368)
        at org.clyze.doop.soot.FactGenerator.generate(FactGenerator.java:356)
        at org.clyze.doop.soot.FactGenerator.generate(FactGenerator.java:269)
        at org.clyze.doop.soot.FactGenerator.generate(FactGenerator.java:223)
        at org.clyze.doop.soot.FactGenerator.run(FactGenerator.java:75)
        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:750)
Caused by: java.io.IOException: Stream closed
        at sun.nio.cs.StreamEncoder.ensureOpen(StreamEncoder.java:45)
        at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:118)
        at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:135)
        at java.io.OutputStreamWriter.write(OutputStreamWriter.java:220)
        at java.io.Writer.write(Writer.java:157)
        at org.clyze.doop.common.Database.add(Database.java:111)
        ... 13 more
Error while processing method: <java.util.logging.FileHandler: void openFiles()>: java.io.IOException: Stream closed
Error while processing method: <sun.security.jgss.wrapper.NativeGSSContext: byte[] retrieveToken(java.io.InputStream,int)>: java.io.IOException: Stream closed
Fact generation failed for method <org.springframework.data.util.MethodInvocationRecorder: java.util.Optional getPropertyPath(java.util.List)>.
java.lang.RuntimeException: java.io.IOException: Stream closed
        at org.clyze.doop.common.Database.add(Database.java:114)
        at org.clyze.doop.common.JavaFactWriter.writeActualParam(JavaFactWriter.java:293)
        at org.clyze.doop.soot.FactWriter.writeActualParams(FactWriter.java:861)
        at org.clyze.doop.soot.FactWriter.writeInvokeHelper(FactWriter.java:890)
        at org.clyze.doop.soot.FactWriter.writeInvoke(FactWriter.java:885)
        at org.clyze.doop.soot.FactWriter.writeAssignInvoke(FactWriter.java:258)
        at org.clyze.doop.soot.FactGenerator.generateAssignToLocal(FactGenerator.java:368)
        at org.clyze.doop.soot.FactGenerator.generate(FactGenerator.java:356)
        at org.clyze.doop.soot.FactGenerator.generate(FactGenerator.java:269)
        at org.clyze.doop.soot.FactGenerator.generate(FactGenerator.java:223)
        at org.clyze.doop.soot.FactGenerator.run(FactGenerator.java:75)
        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:750)
Caused by: java.io.IOException: Stream closed
        at sun.nio.cs.StreamEncoder.ensureOpen(StreamEncoder.java:45)
        at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:118)
        at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:135)
        at java.io.OutputStreamWriter.write(OutputStreamWriter.java:220)
        at java.io.Writer.write(Writer.java:157)
        at org.clyze.doop.common.Database.add(Database.java:111)
        ... 13 more
Error while processing method: <org.springframework.data.util.MethodInvocationRecorder: java.util.Optional getPropertyPath(java.util.List)>: java.io.IOException: Stream closed
Fact generation failed for method <org.springframework.data.util.MethodInvocationRecorder: java.util.Optional lambda$getPropertyPath$0(java.util.List,org.springframework.data.util.MethodInvocationRecorder$RecordingMethodInterceptor)>.
java.lang.RuntimeException: java.io.IOException: Stream closed
        at org.clyze.doop.common.Database.add(Database.java:114)
        at org.clyze.doop.common.JavaFactWriter.writeActualParam(JavaFactWriter.java:293)
        at org.clyze.doop.soot.FactWriter.writeActualParams(FactWriter.java:861)
        at org.clyze.doop.soot.FactWriter.writeInvokeHelper(FactWriter.java:890)
        at org.clyze.doop.soot.FactWriter.writeInvoke(FactWriter.java:885)
        at org.clyze.doop.soot.FactWriter.writeAssignInvoke(FactWriter.java:258)
        at org.clyze.doop.soot.FactGenerator.generateAssignToLocal(FactGenerator.java:368)
        at org.clyze.doop.soot.FactGenerator.generate(FactGenerator.java:356)
        at org.clyze.doop.soot.FactGenerator.generate(FactGenerator.java:269)
        at org.clyze.doop.soot.FactGenerator.generate(FactGenerator.java:223)
        at org.clyze.doop.soot.FactGenerator.run(FactGenerator.java:75)
        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:750)
Caused by: java.io.IOException: Stream closed
        at sun.nio.cs.StreamEncoder.ensureOpen(StreamEncoder.java:45)
        at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:118)
        at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:135)
        at java.io.OutputStreamWriter.write(OutputStreamWriter.java:220)
        at java.io.Writer.write(Writer.java:157)
        at org.clyze.doop.common.Database.add(Database.java:111)
        ... 13 more
Error while processing method: <org.springframework.data.util.MethodInvocationRecorder: java.util.Optional lambda$getPropertyPath$0(java.util.List,org.springframework.data.util.MethodInvocationRecorder$RecordingMethodInterceptor)>: java.io.IOException: Stream closed
Error while processing method: <reactor.extra.processor.RingBuffer: reactor.extra.processor.RingBuffer$Sequence[] getSequenceReceivers()>: java.io.IOException: Stream closed
Fact generation failed for method <sun.security.jgss.wrapper.NativeGSSContext: void <init>(sun.security.jgss.wrapper.GSSNameElement,sun.security.jgss.wrapper.GSSCredElement,int,sun.security.jgss.wrapper.GSSLibStub)>.
java.lang.RuntimeException: java.io.IOException: Stream closed
        at org.clyze.doop.common.Database.add(Database.java:114)
        at org.clyze.doop.soot.FactWriter.writeAssignHeapAllocation(FactWriter.java:277)
        at org.clyze.doop.soot.FactGenerator.generateAssignToLocal(FactGenerator.java:370)
        at org.clyze.doop.soot.FactGenerator.generate(FactGenerator.java:356)
        at org.clyze.doop.soot.FactGenerator.generate(FactGenerator.java:269)
        at org.clyze.doop.soot.FactGenerator.generate(FactGenerator.java:223)
        at org.clyze.doop.soot.FactGenerator.run(FactGenerator.java:75)
        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:750)
Caused by: java.io.IOException: Stream closed
        at sun.nio.cs.StreamEncoder.ensureOpen(StreamEncoder.java:45)
        at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:118)
        at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:135)
        at java.io.OutputStreamWriter.write(OutputStreamWriter.java:220)
        at java.io.Writer.write(Writer.java:157)
        at org.clyze.doop.common.Database.add(Database.java:111)
        ... 9 more
Error while processing method: <sun.security.jgss.wrapper.NativeGSSContext: void <init>(sun.security.jgss.wrapper.GSSNameElement,sun.security.jgss.wrapper.GSSCredElement,int,sun.security.jgss.wrapper.GSSLibStub)>: java.io.IOException: Stream closed
Fact generation failed for method <org.springframework.data.util.MethodInvocationRecorder: org.springframework.data.util.MethodInvocationRecorder$Recorded access$300(org.springframework.data.util.MethodInvocationRecorder,java.lang.Class)>.
java.lang.RuntimeException: java.io.IOException: Stream closed
        at org.clyze.doop.common.Database.add(Database.java:114)
        at org.clyze.doop.common.JavaFactWriter.writeActualParam(JavaFactWriter.java:293)
        at org.clyze.doop.soot.FactWriter.writeActualParams(FactWriter.java:861)
        at org.clyze.doop.soot.FactWriter.writeInvokeHelper(FactWriter.java:890)
        at org.clyze.doop.soot.FactWriter.writeInvoke(FactWriter.java:885)
        at org.clyze.doop.soot.FactWriter.writeAssignInvoke(FactWriter.java:258)
        at org.clyze.doop.soot.FactGenerator.generateAssignToLocal(FactGenerator.java:368)
        at org.clyze.doop.soot.FactGenerator.generate(FactGenerator.java:356)
        at org.clyze.doop.soot.FactGenerator.generate(FactGenerator.java:269)
        at org.clyze.doop.soot.FactGenerator.generate(FactGenerator.java:223)
        at org.clyze.doop.soot.FactGenerator.run(FactGenerator.java:75)
        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:750)
Caused by: java.io.IOException: Stream closed
        at sun.nio.cs.StreamEncoder.ensureOpen(StreamEncoder.java:45)
        at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:118)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions