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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions