Open GoogleCodeExporter opened 8 years ago
The problem seem to be reference cycles in the DAD decompiler. Attached is the
memory usage of:
self.a = APK(apkobject.apkfile.name)
self.vm = DalvikVMFormat(self.a.get_dex())
self.vmx = VMAnalysis(self.vm)
self.vm.create_python_export()
self.dx = uVMAnalysis( self.vm )
self.gx = GVMAnalysis( self.vmx, None )
self.vm.set_vmanalysis( self.dx )
self.vm.set_gvmanalysis( self.gx )
self.vm.set_decompiler(DecompilerDAD(self.vm, self.vmx))
self.vm.create_xref()
self.vm.create_dref()
Original comment by julian.s...@gmx.net
on 30 Aug 2013 at 8:40
Attachments:
Um... DalvikVMFormat is not cleared. There are no collectable references left,
but the reference counter is still not zero.
>>> gc.collect()
0
>>> objgraph.by_type('DalvikVMFormat')
[<androguard.core.bytecodes.dvm.DalvikVMFormat object at 0xb3a3702c>]
>>> gc.get_referrers(objgraph.by_type('DalvikVMFormat'))
[]
>>> import sys
>>> sys.getrefcount(objgraph.at(0xb3a3702c))
171418
Original comment by julian.s...@gmx.net
on 30 Aug 2013 at 7:09
Original issue reported on code.google.com by
dennis.t...@googlemail.com
on 27 Aug 2013 at 6:40