--- tags: decompiler --- # MWEs 1: 28-38 Note: - Python versions are selected based on the original pyc (Using command `file`) - MWEs generated will be compiled using `compileall` via the same python version ## Error 1/28 Source: [link](https://pypi.org/project/BioClients/0.0.4/#files) Python version: 3.8 Decompyle3: Failed Uncompyle6: Failed Error: `Deparsing stopped due to parse error` MWE1: | Py3.8 | Py3.7 | Py3.6 | Py2.7 | | -------- | -------- | -------- | -------- | | Fail | Pass-Incorrect | Pass | Pass | MWE2: | Py3.8 | Py3.7 | Py3.6 | Py2.7 | | -------- | -------- | -------- | -------- | | Fail | Pass-Incorrect | Pass | Pass | MWE3: | Py3.8 | Py3.7 | Py3.6 | Py2.7 | | -------- | -------- | -------- | -------- | | Fail | Pass-Incorrect | Pass | Pass | MWE4: | Py3.8 | Py3.7 | Py3.6 | Py2.7 | | -------- | -------- | -------- | -------- | | Fail | Pass | Pass | Pass | ### MWE: #### MWE1: ```python= def GetPerturbagens(): while True: try: pass except: continue ``` ##### Closest Solution1: No solution. See [this](https://hackmd.io/@aliahad97/ry3JqUjad#MWE-2) ##### MWE1 data: Bytecode for MWE: ```c= 1 0 LOAD_CONST 0 (<code object GetPerturbagens at 0x400246e920, file "main.py", line 1>) 2 LOAD_CONST 1 ('GetPerturbagens') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (GetPerturbagens) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object GetPerturbagens at 0x400246e920, file "main.py", line 1>: 3 >> 0 SETUP_FINALLY 4 (to 6) 4 2 POP_BLOCK 4 JUMP_ABSOLUTE 0 5 >> 6 POP_TOP 8 POP_TOP 10 POP_TOP 6 12 POP_EXCEPT 14 JUMP_ABSOLUTE 0 16 POP_EXCEPT 18 JUMP_ABSOLUTE 0 20 END_FINALLY 22 JUMP_ABSOLUTE 0 24 LOAD_CONST 0 (None) 26 RETURN_VALUE ``` Output uncompyle6: ```python= def GetPerturbagens--- This code section failed: --- L. 3 0 SETUP_FINALLY 6 'to 6' L. 4 2 POP_BLOCK 4 JUMP_BACK 0 'to 0' 6_0 COME_FROM_FINALLY 0 '0' L. 5 6 POP_TOP 8 POP_TOP 10 POP_TOP L. 6 12 POP_EXCEPT 14 JUMP_BACK 0 'to 0' 16 POP_EXCEPT 18 JUMP_BACK 0 'to 0' 20 END_FINALLY 22 JUMP_BACK 0 'to 0' Parse error at or near `POP_EXCEPT' instruction at offset 16 ``` Output Decompyle3: ```python= Instruction context: L. 6 12 POP_EXCEPT -> 14 JUMP_BACK 0 'to 0' 16 POP_EXCEPT 18 JUMP_BACK 0 'to 0' 20 END_FINALLY test/main.pyc -- # decompile failed # file test/main.pyc # Deparsing stopped due to parse error ``` #### MWE2: ```python= def ListDrugs(): while True: try: pass except Exception as e: continue ``` ##### Closest Solution2: No solution. See [this](https://hackmd.io/@aliahad97/ry3JqUjad#MWE-2) ##### MWE2 data: Bytecode for MWE: ```c= 1 0 LOAD_CONST 0 (<code object ListDrugs at 0x40021eeb30, file "main.py", line 1>) 2 LOAD_CONST 1 ('ListDrugs') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (ListDrugs) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object ListDrugs at 0x40021eeb30, file "main.py", line 1>: 3 >> 0 SETUP_FINALLY 4 (to 6) 4 2 POP_BLOCK 4 JUMP_ABSOLUTE 0 5 >> 6 DUP_TOP 8 LOAD_GLOBAL 0 (Exception) 10 COMPARE_OP 10 (exception match) 12 POP_JUMP_IF_FALSE 46 14 POP_TOP 16 STORE_FAST 0 (e) 18 POP_TOP 20 SETUP_FINALLY 12 (to 34) 6 22 POP_BLOCK 24 POP_EXCEPT 26 CALL_FINALLY 6 (to 34) 28 JUMP_ABSOLUTE 0 30 POP_BLOCK 32 BEGIN_FINALLY >> 34 LOAD_CONST 0 (None) 36 STORE_FAST 0 (e) 38 DELETE_FAST 0 (e) 40 END_FINALLY 42 POP_EXCEPT 44 JUMP_ABSOLUTE 0 >> 46 END_FINALLY 48 JUMP_ABSOLUTE 0 50 LOAD_CONST 0 (None) 52 RETURN_VALUE ``` Output uncompyle6: ```python= def ListDrugs--- This code section failed: --- L. 3 0 SETUP_FINALLY 6 'to 6' L. 4 2 POP_BLOCK 4 JUMP_BACK 0 'to 0' 6_0 COME_FROM_FINALLY 0 '0' L. 5 6 DUP_TOP 8 LOAD_GLOBAL Exception 10 COMPARE_OP exception-match 12 POP_JUMP_IF_FALSE 46 'to 46' 14 POP_TOP 16 STORE_FAST 'e' 18 POP_TOP 20 SETUP_FINALLY 34 'to 34' L. 6 22 POP_BLOCK 24 POP_EXCEPT 26 CALL_FINALLY 34 'to 34' 28 JUMP_BACK 0 'to 0' 30 POP_BLOCK 32 BEGIN_FINALLY 34_0 COME_FROM 26 '26' 34_1 COME_FROM_FINALLY 20 '20' 34 LOAD_CONST None 36 STORE_FAST 'e' 38 DELETE_FAST 'e' 40 END_FINALLY 42 POP_EXCEPT 44 JUMP_BACK 0 'to 0' 46_0 COME_FROM 12 '12' 46 END_FINALLY 48 JUMP_BACK 0 'to 0' Parse error at or near `CALL_FINALLY' instruction at offset 26 ``` Output Decompyle3: ```python= Instruction context: L. 6 22 POP_BLOCK 24 POP_EXCEPT 26 CALL_FINALLY 34 'to 34' -> 28 JUMP_BACK 0 'to 0' 30 POP_BLOCK 32 BEGIN_FINALLY 34_0 COME_FROM 26 '26' 34_1 COME_FROM_FINALLY 20 '20' 34 LOAD_CONST None 36 STORE_FAST 'e' 38 DELETE_FAST 'e' 40 END_FINALLY 42 POP_EXCEPT 44 JUMP_BACK 0 'to 0' 46_0 COME_FROM 12 '12' 46 END_FINALLY test/main.pyc -- # decompile failed # file test/main.pyc # Deparsing stopped due to parse error ``` #### MWE3: ```python= def ListCells(): while True: try: pass except Exception as e: continue ``` ##### Closest Solution3: No solution. See [this](https://hackmd.io/@aliahad97/ry3JqUjad#MWE-2) ##### MWE3 data: Bytecode for MWE: ```c= 1 0 LOAD_CONST 0 (<code object ListCells at 0x400236eb30, file "main.py", line 1>) 2 LOAD_CONST 1 ('ListCells') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (ListCells) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object ListCells at 0x400236eb30, file "main.py", line 1>: 3 >> 0 SETUP_FINALLY 4 (to 6) 4 2 POP_BLOCK 4 JUMP_ABSOLUTE 0 5 >> 6 DUP_TOP 8 LOAD_GLOBAL 0 (Exception) 10 COMPARE_OP 10 (exception match) 12 POP_JUMP_IF_FALSE 46 14 POP_TOP 16 STORE_FAST 0 (e) 18 POP_TOP 20 SETUP_FINALLY 12 (to 34) 6 22 POP_BLOCK 24 POP_EXCEPT 26 CALL_FINALLY 6 (to 34) 28 JUMP_ABSOLUTE 0 30 POP_BLOCK 32 BEGIN_FINALLY >> 34 LOAD_CONST 0 (None) 36 STORE_FAST 0 (e) 38 DELETE_FAST 0 (e) 40 END_FINALLY 42 POP_EXCEPT 44 JUMP_ABSOLUTE 0 >> 46 END_FINALLY 48 JUMP_ABSOLUTE 0 50 LOAD_CONST 0 (None) 52 RETURN_VALUE ``` Output uncompyle6: ```python= def ListCells--- This code section failed: --- L. 3 0 SETUP_FINALLY 6 'to 6' L. 4 2 POP_BLOCK 4 JUMP_BACK 0 'to 0' 6_0 COME_FROM_FINALLY 0 '0' L. 5 6 DUP_TOP 8 LOAD_GLOBAL Exception 10 COMPARE_OP exception-match 12 POP_JUMP_IF_FALSE 46 'to 46' 14 POP_TOP 16 STORE_FAST 'e' 18 POP_TOP 20 SETUP_FINALLY 34 'to 34' L. 6 22 POP_BLOCK 24 POP_EXCEPT 26 CALL_FINALLY 34 'to 34' 28 JUMP_BACK 0 'to 0' 30 POP_BLOCK 32 BEGIN_FINALLY 34_0 COME_FROM 26 '26' 34_1 COME_FROM_FINALLY 20 '20' 34 LOAD_CONST None 36 STORE_FAST 'e' 38 DELETE_FAST 'e' 40 END_FINALLY 42 POP_EXCEPT 44 JUMP_BACK 0 'to 0' 46_0 COME_FROM 12 '12' 46 END_FINALLY 48 JUMP_BACK 0 'to 0' Parse error at or near `CALL_FINALLY' instruction at offset 26 ``` Output Decompyle3: ```python= Instruction context: L. 6 22 POP_BLOCK 24 POP_EXCEPT 26 CALL_FINALLY 34 'to 34' -> 28 JUMP_BACK 0 'to 0' 30 POP_BLOCK 32 BEGIN_FINALLY 34_0 COME_FROM 26 '26' 34_1 COME_FROM_FINALLY 20 '20' 34 LOAD_CONST None 36 STORE_FAST 'e' 38 DELETE_FAST 'e' 40 END_FINALLY 42 POP_EXCEPT 44 JUMP_BACK 0 'to 0' 46_0 COME_FROM 12 '12' 46 END_FINALLY test/main.pyc -- # decompile failed # file test/main.pyc # Deparsing stopped due to parse error ``` #### MWE4: ```python= def GetSignatures(): while True: try: pass except: continue ``` ##### Closest Solution4: No solution. See [this](https://hackmd.io/@aliahad97/ry3JqUjad#MWE-2) ##### MWE4 data: Bytecode for MWE: ```c= 1 0 LOAD_CONST 0 (<code object GetSignatures at 0x40021ee920, file "main.py", line 1>) 2 LOAD_CONST 1 ('GetSignatures') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (GetSignatures) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object GetSignatures at 0x40021ee920, file "main.py", line 1>: 3 >> 0 SETUP_FINALLY 4 (to 6) 4 2 POP_BLOCK 4 JUMP_ABSOLUTE 0 5 >> 6 POP_TOP 8 POP_TOP 10 POP_TOP 6 12 POP_EXCEPT 14 JUMP_ABSOLUTE 0 16 POP_EXCEPT 18 JUMP_ABSOLUTE 0 20 END_FINALLY 22 JUMP_ABSOLUTE 0 24 LOAD_CONST 0 (None) 26 RETURN_VALUE ``` Output uncompyle6: ```python= def GetSignatures--- This code section failed: --- L. 3 0 SETUP_FINALLY 6 'to 6' L. 4 2 POP_BLOCK 4 JUMP_BACK 0 'to 0' 6_0 COME_FROM_FINALLY 0 '0' L. 5 6 POP_TOP 8 POP_TOP 10 POP_TOP L. 6 12 POP_EXCEPT 14 JUMP_BACK 0 'to 0' 16 POP_EXCEPT 18 JUMP_BACK 0 'to 0' 20 END_FINALLY 22 JUMP_BACK 0 'to 0' Parse error at or near `POP_EXCEPT' instruction at offset 16 ``` Output Decompyle3: ```python= Instruction context: L. 6 12 POP_EXCEPT -> 14 JUMP_BACK 0 'to 0' 16 POP_EXCEPT 18 JUMP_BACK 0 'to 0' 20 END_FINALLY test/main.pyc -- # decompile failed # file test/main.pyc # Deparsing stopped due to parse error ``` ## Error 1/29 Source: [link](https://github.com/jeremyjyang/BioClients/blob/a054185b3072537abefa924b570f6025b87246c2/BioClients/mesh/Utils.py#L63) Python version: 3.8 Decompyle3: Failed Uncompyle6: Failed Error: `Deparsing stopped due to parse error` | Py3.8 | Py3.7 | Py3.6 | Py2.7 | | -------- | -------- | -------- | -------- | | Fail | Pass | Pass | Pass | ### MWE: ```python= def Supp2Csv(): for event,elem in ElementTree.iterparse(fin): if a: if b and c: continue #chemical-only if d: continue x = x +1 z() ``` #### Closest Solution: ```python= def Supp2Csv(): for event,elem in ElementTree.iterparse(fin): if a: tmp = b and c if tmp: continue #chemical-only if d: continue x = x +1 z() ``` ```c= 1 0 LOAD_CONST 0 (<code object Supp2Csv at 0x40021ae9d0, file "main.py", line 1>) 2 LOAD_CONST 1 ('Supp2Csv') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (Supp2Csv) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object Supp2Csv at 0x40021ae9d0, file "main.py", line 1>: 2 0 LOAD_GLOBAL 0 (ElementTree) 2 LOAD_METHOD 1 (iterparse) 4 LOAD_GLOBAL 2 (fin) 6 CALL_METHOD 1 8 GET_ITER >> 10 FOR_ITER 40 (to 52) 12 UNPACK_SEQUENCE 2 14 STORE_FAST 0 (event) 16 STORE_FAST 1 (elem) 3 18 LOAD_GLOBAL 3 (a) 20 POP_JUMP_IF_FALSE 10 4 22 LOAD_GLOBAL 4 (b) 24 JUMP_IF_FALSE_OR_POP 28 26 LOAD_GLOBAL 5 (c) >> 28 STORE_FAST 2 (tmp) 5 30 LOAD_FAST 2 (tmp) 32 POP_JUMP_IF_FALSE 36 34 JUMP_ABSOLUTE 10 6 >> 36 LOAD_GLOBAL 6 (d) 38 POP_JUMP_IF_FALSE 42 40 JUMP_ABSOLUTE 10 7 >> 42 LOAD_FAST 3 (x) 44 LOAD_CONST 1 (1) 46 BINARY_ADD 48 STORE_FAST 3 (x) 50 JUMP_ABSOLUTE 10 8 >> 52 LOAD_GLOBAL 7 (z) 54 CALL_FUNCTION 0 56 POP_TOP 58 LOAD_CONST 0 (None) 60 RETURN_VALUE ``` #### MWE data: Bytecode for MWE: ```c= 1 0 LOAD_CONST 0 (<code object Supp2Csv at 0x400236e9d0, file "main.py", line 1>) 2 LOAD_CONST 1 ('Supp2Csv') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (Supp2Csv) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object Supp2Csv at 0x400236e9d0, file "main.py", line 1>: 2 0 LOAD_GLOBAL 0 (ElementTree) 2 LOAD_METHOD 1 (iterparse) 4 LOAD_GLOBAL 2 (fin) 6 CALL_METHOD 1 8 GET_ITER >> 10 FOR_ITER 36 (to 48) 12 UNPACK_SEQUENCE 2 14 STORE_FAST 0 (event) 16 STORE_FAST 1 (elem) 3 18 LOAD_GLOBAL 3 (a) 20 POP_JUMP_IF_FALSE 10 4 22 LOAD_GLOBAL 4 (b) 24 POP_JUMP_IF_FALSE 32 26 LOAD_GLOBAL 5 (c) 28 POP_JUMP_IF_FALSE 32 30 JUMP_ABSOLUTE 10 5 >> 32 LOAD_GLOBAL 6 (d) 34 POP_JUMP_IF_FALSE 38 36 JUMP_ABSOLUTE 10 6 >> 38 LOAD_FAST 2 (x) 40 LOAD_CONST 1 (1) 42 BINARY_ADD 44 STORE_FAST 2 (x) 46 JUMP_ABSOLUTE 10 7 >> 48 LOAD_GLOBAL 7 (z) 50 CALL_FUNCTION 0 52 POP_TOP 54 LOAD_CONST 0 (None) 56 RETURN_VALUE ``` Output uncompyle6: ```python= def Supp2Csv--- This code section failed: --- L. 2 0 LOAD_GLOBAL ElementTree 2 LOAD_METHOD iterparse 4 LOAD_GLOBAL fin 6 CALL_METHOD_1 1 '' 8 GET_ITER 10_0 COME_FROM 20 '20' 10 FOR_ITER 48 'to 48' 12 UNPACK_SEQUENCE_2 2 14 STORE_FAST 'event' 16 STORE_FAST 'elem' L. 3 18 LOAD_GLOBAL a 20 POP_JUMP_IF_FALSE 10 'to 10' L. 4 22 LOAD_GLOBAL b 24 POP_JUMP_IF_FALSE 32 'to 32' 26 LOAD_GLOBAL c 28 POP_JUMP_IF_FALSE 32 'to 32' L. 4 30 JUMP_BACK 10 'to 10' 32_0 COME_FROM 28 '28' 32_1 COME_FROM 24 '24' L. 5 32 LOAD_GLOBAL d 34 POP_JUMP_IF_FALSE 38 'to 38' L. 5 36 JUMP_BACK 10 'to 10' 38_0 COME_FROM 34 '34' L. 6 38 LOAD_FAST 'x' 40 LOAD_CONST 1 42 BINARY_ADD 44 STORE_FAST 'x' 46 JUMP_BACK 10 'to 10' L. 7 48 LOAD_GLOBAL z 50 CALL_FUNCTION_0 0 '' 52 POP_TOP Parse error at or near `LOAD_GLOBAL' instruction at offset 48 ``` Output Decompyle3: ```python= Instruction context: L. 7 48 LOAD_GLOBAL z -> 50 CALL_FUNCTION_0 0 '' test/main.pyc -- # decompile failed # file test/main.pyc # Deparsing stopped due to parse error ``` ## Error 1/30 Source: [link](https://github.com/jeremyjyang/BioClients/blob/a054185b3072537abefa924b570f6025b87246c2/BioClients/opentargets/Utils.py#L18) Python version: 3.8 Decompyle3: Failed Uncompyle6: Failed Error: `Deparsing stopped due to parse error` | Py3.8 | Py3.7 | Py3.6 | Py2.7 | | -------- | -------- | -------- | -------- | | Fail | Pass-Incorrect | Pass | Pass | ### MWE: ```python= def SearchAssociations(): for id_this in ids: try: pass except Exception as e: continue ``` #### Closest Solution: No solution. See [this](https://hackmd.io/@aliahad97/ry3JqUjad#MWE-2) #### MWE data: Bytecode for MWE: ```c= 1 0 LOAD_CONST 0 (<code object SearchAssociations at 0x40021aeb30, file "main.py", line 1>) 2 LOAD_CONST 1 ('SearchAssociations') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (SearchAssociations) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object SearchAssociations at 0x40021aeb30, file "main.py", line 1>: 2 0 LOAD_GLOBAL 0 (ids) 2 GET_ITER >> 4 FOR_ITER 52 (to 58) 6 STORE_FAST 0 (id_this) 3 8 SETUP_FINALLY 4 (to 14) 4 10 POP_BLOCK 12 JUMP_ABSOLUTE 4 5 >> 14 DUP_TOP 16 LOAD_GLOBAL 1 (Exception) 18 COMPARE_OP 10 (exception match) 20 POP_JUMP_IF_FALSE 54 22 POP_TOP 24 STORE_FAST 1 (e) 26 POP_TOP 28 SETUP_FINALLY 12 (to 42) 6 30 POP_BLOCK 32 POP_EXCEPT 34 CALL_FINALLY 6 (to 42) 36 JUMP_ABSOLUTE 4 38 POP_BLOCK 40 BEGIN_FINALLY >> 42 LOAD_CONST 0 (None) 44 STORE_FAST 1 (e) 46 DELETE_FAST 1 (e) 48 END_FINALLY 50 POP_EXCEPT 52 JUMP_ABSOLUTE 4 >> 54 END_FINALLY 56 JUMP_ABSOLUTE 4 >> 58 LOAD_CONST 0 (None) 60 RETURN_VALUE ``` Output uncompyle6: ```python= def SearchAssociations--- This code section failed: --- L. 2 0 LOAD_GLOBAL ids 2 GET_ITER 4 FOR_ITER 58 'to 58' 6 STORE_FAST 'id_this' L. 3 8 SETUP_FINALLY 14 'to 14' L. 4 10 POP_BLOCK 12 JUMP_BACK 4 'to 4' 14_0 COME_FROM_FINALLY 8 '8' L. 5 14 DUP_TOP 16 LOAD_GLOBAL Exception 18 COMPARE_OP exception-match 20 POP_JUMP_IF_FALSE 54 'to 54' 22 POP_TOP 24 STORE_FAST 'e' 26 POP_TOP 28 SETUP_FINALLY 42 'to 42' L. 6 30 POP_BLOCK 32 POP_EXCEPT 34 CALL_FINALLY 42 'to 42' 36 JUMP_BACK 4 'to 4' 38 POP_BLOCK 40 BEGIN_FINALLY 42_0 COME_FROM 34 '34' 42_1 COME_FROM_FINALLY 28 '28' 42 LOAD_CONST None 44 STORE_FAST 'e' 46 DELETE_FAST 'e' 48 END_FINALLY 50 POP_EXCEPT 52 JUMP_BACK 4 'to 4' 54_0 COME_FROM 20 '20' 54 END_FINALLY 56 JUMP_BACK 4 'to 4' Parse error at or near `CALL_FINALLY' instruction at offset 34 ``` Output Decompyle3: ```python= Instruction context: L. 6 30 POP_BLOCK 32 POP_EXCEPT 34 CALL_FINALLY 42 'to 42' -> 36 JUMP_BACK 4 'to 4' 38 POP_BLOCK 40 BEGIN_FINALLY 42_0 COME_FROM 34 '34' 42_1 COME_FROM_FINALLY 28 '28' 42 LOAD_CONST None 44 STORE_FAST 'e' 46 DELETE_FAST 'e' 48 END_FINALLY 50 POP_EXCEPT 52 JUMP_BACK 4 'to 4' 54_0 COME_FROM 20 '20' 54 END_FINALLY 56 JUMP_BACK 4 'to 4' test/main.pyc -- # decompile failed # file test/main.pyc # Deparsing stopped due to parse error ``` ## Error 1/31 Source: [link](https://github.com/jeremyjyang/BioClients/blob/a054185b3072537abefa924b570f6025b87246c2/BioClients/pdb/Utils.py) Python version: 3.8 Decompyle3: Failed Uncompyle6: Failed Error: `Deparsing stopped due to parse error` MWE1: | Py3.8 | Py3.7 | Py3.6 | Py2.7 | | -------- | -------- | -------- | -------- | | Fail | Pass | Pass | Pass | MWE2: | Py3.8 | Py3.7 | Py3.6 | Py2.7 | | -------- | -------- | -------- | -------- | | Fail | Pass | Pass | Pass | MWE3: | Py3.8 | Py3.7 | Py3.6 | Py2.7 | | -------- | -------- | -------- | -------- | | Fail | Pass | Pass | Pass | MWE4: | Py3.8 | Py3.7 | Py3.6 | Py2.7 | | -------- | -------- | -------- | -------- | | Fail | Pass | Pass | Pass | MWE5: | Py3.8 | Py3.7 | Py3.6 | Py2.7 | | -------- | -------- | -------- | -------- | | Fail | Pass | Pass | Pass | MWE6: | Py3.8 | Py3.7 | Py3.6 | Py2.7 | | -------- | -------- | -------- | -------- | | Fail | Pass | Pass | Pass | ### MWE: #### MWE1: ```python= def GetProteinData(): try: pass except Exception as e: x = x + 1 return [] ``` ##### Closest Solution1: No solution. See this [link](https://hackmd.io/@aliahad97/ry3JqUjad#MWE-5) for changing program flow. ##### MWE1 data: Bytecode for MWE: ```c= 1 0 LOAD_CONST 0 (<code object GetProteinData at 0x400246eb30, file "main.py", line 1>) 2 LOAD_CONST 1 ('GetProteinData') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (GetProteinData) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object GetProteinData at 0x400246eb30, file "main.py", line 1>: 2 0 SETUP_FINALLY 4 (to 6) 3 2 POP_BLOCK 4 JUMP_FORWARD 50 (to 56) 4 >> 6 DUP_TOP 8 LOAD_GLOBAL 0 (Exception) 10 COMPARE_OP 10 (exception match) 12 POP_JUMP_IF_FALSE 54 14 POP_TOP 16 STORE_FAST 0 (e) 18 POP_TOP 20 SETUP_FINALLY 20 (to 42) 5 22 LOAD_FAST 1 (x) 24 LOAD_CONST 1 (1) 26 BINARY_ADD 28 STORE_FAST 1 (x) 6 30 BUILD_LIST 0 32 ROT_FOUR 34 POP_BLOCK 36 POP_EXCEPT 38 CALL_FINALLY 2 (to 42) 40 RETURN_VALUE >> 42 LOAD_CONST 0 (None) 44 STORE_FAST 0 (e) 46 DELETE_FAST 0 (e) 48 END_FINALLY 50 POP_EXCEPT 52 JUMP_FORWARD 2 (to 56) >> 54 END_FINALLY >> 56 LOAD_CONST 0 (None) 58 RETURN_VALUE ``` Output uncompyle6: ```python= def GetProteinData--- This code section failed: --- L. 2 0 SETUP_FINALLY 6 'to 6' L. 3 2 POP_BLOCK 4 JUMP_FORWARD 56 'to 56' 6_0 COME_FROM_FINALLY 0 '0' L. 4 6 DUP_TOP 8 LOAD_GLOBAL Exception 10 COMPARE_OP exception-match 12 POP_JUMP_IF_FALSE 54 'to 54' 14 POP_TOP 16 STORE_FAST 'e' 18 POP_TOP 20 SETUP_FINALLY 42 'to 42' L. 5 22 LOAD_FAST 'x' 24 LOAD_CONST 1 26 BINARY_ADD 28 STORE_FAST 'x' L. 6 30 BUILD_LIST_0 0 32 ROT_FOUR 34 POP_BLOCK 36 POP_EXCEPT 38 CALL_FINALLY 42 'to 42' 40 RETURN_VALUE 42_0 COME_FROM 38 '38' 42_1 COME_FROM_FINALLY 20 '20' 42 LOAD_CONST None 44 STORE_FAST 'e' 46 DELETE_FAST 'e' 48 END_FINALLY 50 POP_EXCEPT 52 JUMP_FORWARD 56 'to 56' 54_0 COME_FROM 12 '12' 54 END_FINALLY 56_0 COME_FROM 52 '52' 56_1 COME_FROM 4 '4' Parse error at or near `POP_BLOCK' instruction at offset 34 ``` Output Decompyle3: ```python= Instruction context: L. 6 30 BUILD_LIST_0 0 32 ROT_FOUR -> 34 POP_BLOCK 36 POP_EXCEPT 38 CALL_FINALLY 42 'to 42' 40 RETURN_VALUE 42_0 COME_FROM 38 '38' 42_1 COME_FROM_FINALLY 20 '20' 42 LOAD_CONST None 44 STORE_FAST 'e' 46 DELETE_FAST 'e' 48 END_FINALLY 50 POP_EXCEPT 52 JUMP_FORWARD 56 'to 56' 54_0 COME_FROM 12 '12' 54 END_FINALLY 56_0 COME_FROM 52 '52' test/main.pyc -- # decompile failed # file test/main.pyc # Deparsing stopped due to parse error ``` #### MWE2: ```python= def GetLigandData(): try: pass except Exception as e: x = x + 1 return [] ``` ##### Closest Solution2: No solution. See this [link](https://hackmd.io/@aliahad97/ry3JqUjad#MWE-5) for changing program flow. ##### MWE2 data: Bytecode for MWE: ```c= 1 0 LOAD_CONST 0 (<code object GetLigandData at 0x40021aeb30, file "main.py", line 1>) 2 LOAD_CONST 1 ('GetLigandData') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (GetLigandData) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object GetLigandData at 0x40021aeb30, file "main.py", line 1>: 2 0 SETUP_FINALLY 4 (to 6) 3 2 POP_BLOCK 4 JUMP_FORWARD 50 (to 56) 4 >> 6 DUP_TOP 8 LOAD_GLOBAL 0 (Exception) 10 COMPARE_OP 10 (exception match) 12 POP_JUMP_IF_FALSE 54 14 POP_TOP 16 STORE_FAST 0 (e) 18 POP_TOP 20 SETUP_FINALLY 20 (to 42) 5 22 LOAD_FAST 1 (x) 24 LOAD_CONST 1 (1) 26 BINARY_ADD 28 STORE_FAST 1 (x) 6 30 BUILD_LIST 0 32 ROT_FOUR 34 POP_BLOCK 36 POP_EXCEPT 38 CALL_FINALLY 2 (to 42) 40 RETURN_VALUE >> 42 LOAD_CONST 0 (None) 44 STORE_FAST 0 (e) 46 DELETE_FAST 0 (e) 48 END_FINALLY 50 POP_EXCEPT 52 JUMP_FORWARD 2 (to 56) >> 54 END_FINALLY >> 56 LOAD_CONST 0 (None) 58 RETURN_VALUE ``` Output uncompyle6: ```python= def GetLigandData--- This code section failed: --- L. 2 0 SETUP_FINALLY 6 'to 6' L. 3 2 POP_BLOCK 4 JUMP_FORWARD 56 'to 56' 6_0 COME_FROM_FINALLY 0 '0' L. 4 6 DUP_TOP 8 LOAD_GLOBAL Exception 10 COMPARE_OP exception-match 12 POP_JUMP_IF_FALSE 54 'to 54' 14 POP_TOP 16 STORE_FAST 'e' 18 POP_TOP 20 SETUP_FINALLY 42 'to 42' L. 5 22 LOAD_FAST 'x' 24 LOAD_CONST 1 26 BINARY_ADD 28 STORE_FAST 'x' L. 6 30 BUILD_LIST_0 0 32 ROT_FOUR 34 POP_BLOCK 36 POP_EXCEPT 38 CALL_FINALLY 42 'to 42' 40 RETURN_VALUE 42_0 COME_FROM 38 '38' 42_1 COME_FROM_FINALLY 20 '20' 42 LOAD_CONST None 44 STORE_FAST 'e' 46 DELETE_FAST 'e' 48 END_FINALLY 50 POP_EXCEPT 52 JUMP_FORWARD 56 'to 56' 54_0 COME_FROM 12 '12' 54 END_FINALLY 56_0 COME_FROM 52 '52' 56_1 COME_FROM 4 '4' Parse error at or near `POP_BLOCK' instruction at offset 34 ``` Output Decompyle3: ```python= Instruction context: L. 6 30 BUILD_LIST_0 0 32 ROT_FOUR -> 34 POP_BLOCK 36 POP_EXCEPT 38 CALL_FINALLY 42 'to 42' 40 RETURN_VALUE 42_0 COME_FROM 38 '38' 42_1 COME_FROM_FINALLY 20 '20' 42 LOAD_CONST None 44 STORE_FAST 'e' 46 DELETE_FAST 'e' 48 END_FINALLY 50 POP_EXCEPT 52 JUMP_FORWARD 56 'to 56' 54_0 COME_FROM 12 '12' 54 END_FINALLY 56_0 COME_FROM 52 '52' test/main.pyc -- # decompile failed # file test/main.pyc # Deparsing stopped due to parse error ``` #### MWE3: ```python= def GetLigands_LID2SDF(): for lid in lids: try: pass except Exception as e: continue ``` ##### Closest Solution3: No solution. See this [link](https://hackmd.io/@aliahad97/ry3JqUjad#MWE-2) for changing program flow. ##### MWE3 data: Bytecode for MWE: ```c= 1 0 LOAD_CONST 0 (<code object GetLigands_LID2SDF at 0x400246eb30, file "main.py", line 1>) 2 LOAD_CONST 1 ('GetLigands_LID2SDF') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (GetLigands_LID2SDF) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object GetLigands_LID2SDF at 0x400246eb30, file "main.py", line 1>: 2 0 LOAD_GLOBAL 0 (lids) 2 GET_ITER >> 4 FOR_ITER 52 (to 58) 6 STORE_FAST 0 (lid) 3 8 SETUP_FINALLY 4 (to 14) 4 10 POP_BLOCK 12 JUMP_ABSOLUTE 4 5 >> 14 DUP_TOP 16 LOAD_GLOBAL 1 (Exception) 18 COMPARE_OP 10 (exception match) 20 POP_JUMP_IF_FALSE 54 22 POP_TOP 24 STORE_FAST 1 (e) 26 POP_TOP 28 SETUP_FINALLY 12 (to 42) 6 30 POP_BLOCK 32 POP_EXCEPT 34 CALL_FINALLY 6 (to 42) 36 JUMP_ABSOLUTE 4 38 POP_BLOCK 40 BEGIN_FINALLY >> 42 LOAD_CONST 0 (None) 44 STORE_FAST 1 (e) 46 DELETE_FAST 1 (e) 48 END_FINALLY 50 POP_EXCEPT 52 JUMP_ABSOLUTE 4 >> 54 END_FINALLY 56 JUMP_ABSOLUTE 4 >> 58 LOAD_CONST 0 (None) 60 RETURN_VALUE ``` Output uncompyle6: ```python= def GetLigands_LID2SDF--- This code section failed: --- L. 2 0 LOAD_GLOBAL lids 2 GET_ITER 4 FOR_ITER 58 'to 58' 6 STORE_FAST 'lid' L. 3 8 SETUP_FINALLY 14 'to 14' L. 4 10 POP_BLOCK 12 JUMP_BACK 4 'to 4' 14_0 COME_FROM_FINALLY 8 '8' L. 5 14 DUP_TOP 16 LOAD_GLOBAL Exception 18 COMPARE_OP exception-match 20 POP_JUMP_IF_FALSE 54 'to 54' 22 POP_TOP 24 STORE_FAST 'e' 26 POP_TOP 28 SETUP_FINALLY 42 'to 42' L. 6 30 POP_BLOCK 32 POP_EXCEPT 34 CALL_FINALLY 42 'to 42' 36 JUMP_BACK 4 'to 4' 38 POP_BLOCK 40 BEGIN_FINALLY 42_0 COME_FROM 34 '34' 42_1 COME_FROM_FINALLY 28 '28' 42 LOAD_CONST None 44 STORE_FAST 'e' 46 DELETE_FAST 'e' 48 END_FINALLY 50 POP_EXCEPT 52 JUMP_BACK 4 'to 4' 54_0 COME_FROM 20 '20' 54 END_FINALLY 56 JUMP_BACK 4 'to 4' Parse error at or near `CALL_FINALLY' instruction at offset 34 ``` Output Decompyle3: ```python= Instruction context: L. 6 30 POP_BLOCK 32 POP_EXCEPT 34 CALL_FINALLY 42 'to 42' -> 36 JUMP_BACK 4 'to 4' 38 POP_BLOCK 40 BEGIN_FINALLY 42_0 COME_FROM 34 '34' 42_1 COME_FROM_FINALLY 28 '28' 42 LOAD_CONST None 44 STORE_FAST 'e' 46 DELETE_FAST 'e' 48 END_FINALLY 50 POP_EXCEPT 52 JUMP_BACK 4 'to 4' 54_0 COME_FROM 20 '20' 54 END_FINALLY 56 JUMP_BACK 4 'to 4' test/main.pyc -- # decompile failed # file test/main.pyc # Deparsing stopped due to parse error ``` #### MWE4: ```python= def LigandIsDruglike(): try: if a: return False except Exception as e: return False return True ``` ##### Closest Solution4: No solution. See [this](https://hackmd.io/@aliahad97/ry3JqUjad#MWE-5) for changing program flows. ##### MWE4 data: Bytecode for MWE: ```c= 1 0 LOAD_CONST 0 (<code object LigandIsDruglike at 0x400246ebe0, file "main.py", line 1>) 2 LOAD_CONST 1 ('LigandIsDruglike') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (LigandIsDruglike) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object LigandIsDruglike at 0x400246ebe0, file "main.py", line 1>: 2 0 SETUP_FINALLY 14 (to 16) 3 2 LOAD_GLOBAL 0 (a) 4 POP_JUMP_IF_FALSE 12 4 6 POP_BLOCK 8 LOAD_CONST 1 (False) 10 RETURN_VALUE >> 12 POP_BLOCK 14 JUMP_FORWARD 40 (to 56) 5 >> 16 DUP_TOP 18 LOAD_GLOBAL 1 (Exception) 20 COMPARE_OP 10 (exception match) 22 POP_JUMP_IF_FALSE 54 24 POP_TOP 26 STORE_FAST 0 (e) 28 POP_TOP 30 SETUP_FINALLY 10 (to 42) 6 32 POP_BLOCK 34 POP_EXCEPT 36 CALL_FINALLY 4 (to 42) 38 LOAD_CONST 1 (False) 40 RETURN_VALUE >> 42 LOAD_CONST 0 (None) 44 STORE_FAST 0 (e) 46 DELETE_FAST 0 (e) 48 END_FINALLY 50 POP_EXCEPT 52 JUMP_FORWARD 2 (to 56) >> 54 END_FINALLY 7 >> 56 LOAD_CONST 2 (True) 58 RETURN_VALUE ``` Output uncompyle6: ```python= def LigandIsDruglike--- This code section failed: --- L. 2 0 SETUP_FINALLY 16 'to 16' L. 3 2 LOAD_GLOBAL a 4 POP_JUMP_IF_FALSE 12 'to 12' L. 4 6 POP_BLOCK 8 LOAD_CONST False 10 RETURN_VALUE 12_0 COME_FROM 4 '4' 12 POP_BLOCK 14 JUMP_FORWARD 56 'to 56' 16_0 COME_FROM_FINALLY 0 '0' L. 5 16 DUP_TOP 18 LOAD_GLOBAL Exception 20 COMPARE_OP exception-match 22 POP_JUMP_IF_FALSE 54 'to 54' 24 POP_TOP 26 STORE_FAST 'e' 28 POP_TOP 30 SETUP_FINALLY 42 'to 42' L. 6 32 POP_BLOCK 34 POP_EXCEPT 36 CALL_FINALLY 42 'to 42' 38 LOAD_CONST False 40 RETURN_VALUE 42_0 COME_FROM 36 '36' 42_1 COME_FROM_FINALLY 30 '30' 42 LOAD_CONST None 44 STORE_FAST 'e' 46 DELETE_FAST 'e' 48 END_FINALLY 50 POP_EXCEPT 52 JUMP_FORWARD 56 'to 56' 54_0 COME_FROM 22 '22' 54 END_FINALLY 56_0 COME_FROM 52 '52' 56_1 COME_FROM 14 '14' L. 7 56 LOAD_CONST True 58 RETURN_VALUE -1 RETURN_LAST Parse error at or near `LOAD_CONST' instruction at offset 8 ``` Output Decompyle3: ```python= Instruction context: L. 4 6 POP_BLOCK -> 8 LOAD_CONST False 10 RETURN_VALUE 12_0 COME_FROM 4 '4' 12 POP_BLOCK 14 JUMP_FORWARD 56 'to 56' 16_0 COME_FROM_FINALLY 0 '0' test/main.pyc -- # decompile failed # file test/main.pyc # Deparsing stopped due to parse error ``` #### MWE5: ```python= def AllPIDs(): try: pass except Exception as e: x = x + 1 return [] ``` ##### Closest Solution5: No solution. See this [link](https://hackmd.io/@aliahad97/ry3JqUjad#MWE-5) for changing program flow. ##### MWE5 data: Bytecode for MWE: ```c= 1 0 LOAD_CONST 0 (<code object AllPIDs at 0x400246eb30, file "main.py", line 1>) 2 LOAD_CONST 1 ('AllPIDs') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (AllPIDs) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object AllPIDs at 0x400246eb30, file "main.py", line 1>: 2 0 SETUP_FINALLY 4 (to 6) 3 2 POP_BLOCK 4 JUMP_FORWARD 50 (to 56) 4 >> 6 DUP_TOP 8 LOAD_GLOBAL 0 (Exception) 10 COMPARE_OP 10 (exception match) 12 POP_JUMP_IF_FALSE 54 14 POP_TOP 16 STORE_FAST 0 (e) 18 POP_TOP 20 SETUP_FINALLY 20 (to 42) 5 22 LOAD_FAST 1 (x) 24 LOAD_CONST 1 (1) 26 BINARY_ADD 28 STORE_FAST 1 (x) 6 30 BUILD_LIST 0 32 ROT_FOUR 34 POP_BLOCK 36 POP_EXCEPT 38 CALL_FINALLY 2 (to 42) 40 RETURN_VALUE >> 42 LOAD_CONST 0 (None) 44 STORE_FAST 0 (e) 46 DELETE_FAST 0 (e) 48 END_FINALLY 50 POP_EXCEPT 52 JUMP_FORWARD 2 (to 56) >> 54 END_FINALLY >> 56 LOAD_CONST 0 (None) 58 RETURN_VALUE ``` Output uncompyle6: ```python= def AllPIDs--- This code section failed: --- L. 2 0 SETUP_FINALLY 6 'to 6' L. 3 2 POP_BLOCK 4 JUMP_FORWARD 56 'to 56' 6_0 COME_FROM_FINALLY 0 '0' L. 4 6 DUP_TOP 8 LOAD_GLOBAL Exception 10 COMPARE_OP exception-match 12 POP_JUMP_IF_FALSE 54 'to 54' 14 POP_TOP 16 STORE_FAST 'e' 18 POP_TOP 20 SETUP_FINALLY 42 'to 42' L. 5 22 LOAD_FAST 'x' 24 LOAD_CONST 1 26 BINARY_ADD 28 STORE_FAST 'x' L. 6 30 BUILD_LIST_0 0 32 ROT_FOUR 34 POP_BLOCK 36 POP_EXCEPT 38 CALL_FINALLY 42 'to 42' 40 RETURN_VALUE 42_0 COME_FROM 38 '38' 42_1 COME_FROM_FINALLY 20 '20' 42 LOAD_CONST None 44 STORE_FAST 'e' 46 DELETE_FAST 'e' 48 END_FINALLY 50 POP_EXCEPT 52 JUMP_FORWARD 56 'to 56' 54_0 COME_FROM 12 '12' 54 END_FINALLY 56_0 COME_FROM 52 '52' 56_1 COME_FROM 4 '4' Parse error at or near `POP_BLOCK' instruction at offset 34 ``` Output Decompyle3: ```python= Instruction context: L. 6 30 BUILD_LIST_0 0 32 ROT_FOUR -> 34 POP_BLOCK 36 POP_EXCEPT 38 CALL_FINALLY 42 'to 42' 40 RETURN_VALUE 42_0 COME_FROM 38 '38' 42_1 COME_FROM_FINALLY 20 '20' 42 LOAD_CONST None 44 STORE_FAST 'e' 46 DELETE_FAST 'e' 48 END_FINALLY 50 POP_EXCEPT 52 JUMP_FORWARD 56 'to 56' 54_0 COME_FROM 12 '12' 54 END_FINALLY 56_0 COME_FROM 52 '52' test/main.pyc -- # decompile failed # file test/main.pyc # Deparsing stopped due to parse error ``` #### MWE6: ```python= def SearchByKeywords(): try: pass except Exception as e: x = x + 1 return [] ``` ##### Closest Solution6: No solution. See [this](https://hackmd.io/@aliahad97/ry3JqUjad#MWE-5) for changing program flows. ##### MWE6 data: Bytecode for MWE: ```c= 1 0 LOAD_CONST 0 (<code object SearchByKeywords at 0x400246eb30, file "main.py", line 1>) 2 LOAD_CONST 1 ('SearchByKeywords') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (SearchByKeywords) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object SearchByKeywords at 0x400246eb30, file "main.py", line 1>: 2 0 SETUP_FINALLY 4 (to 6) 3 2 POP_BLOCK 4 JUMP_FORWARD 50 (to 56) 4 >> 6 DUP_TOP 8 LOAD_GLOBAL 0 (Exception) 10 COMPARE_OP 10 (exception match) 12 POP_JUMP_IF_FALSE 54 14 POP_TOP 16 STORE_FAST 0 (e) 18 POP_TOP 20 SETUP_FINALLY 20 (to 42) 5 22 LOAD_FAST 1 (x) 24 LOAD_CONST 1 (1) 26 BINARY_ADD 28 STORE_FAST 1 (x) 6 30 BUILD_LIST 0 32 ROT_FOUR 34 POP_BLOCK 36 POP_EXCEPT 38 CALL_FINALLY 2 (to 42) 40 RETURN_VALUE >> 42 LOAD_CONST 0 (None) 44 STORE_FAST 0 (e) 46 DELETE_FAST 0 (e) 48 END_FINALLY 50 POP_EXCEPT 52 JUMP_FORWARD 2 (to 56) >> 54 END_FINALLY >> 56 LOAD_CONST 0 (None) 58 RETURN_VALUE ``` Output uncompyle6: ```python= def SearchByKeywords--- This code section failed: --- L. 2 0 SETUP_FINALLY 6 'to 6' L. 3 2 POP_BLOCK 4 JUMP_FORWARD 56 'to 56' 6_0 COME_FROM_FINALLY 0 '0' L. 4 6 DUP_TOP 8 LOAD_GLOBAL Exception 10 COMPARE_OP exception-match 12 POP_JUMP_IF_FALSE 54 'to 54' 14 POP_TOP 16 STORE_FAST 'e' 18 POP_TOP 20 SETUP_FINALLY 42 'to 42' L. 5 22 LOAD_FAST 'x' 24 LOAD_CONST 1 26 BINARY_ADD 28 STORE_FAST 'x' L. 6 30 BUILD_LIST_0 0 32 ROT_FOUR 34 POP_BLOCK 36 POP_EXCEPT 38 CALL_FINALLY 42 'to 42' 40 RETURN_VALUE 42_0 COME_FROM 38 '38' 42_1 COME_FROM_FINALLY 20 '20' 42 LOAD_CONST None 44 STORE_FAST 'e' 46 DELETE_FAST 'e' 48 END_FINALLY 50 POP_EXCEPT 52 JUMP_FORWARD 56 'to 56' 54_0 COME_FROM 12 '12' 54 END_FINALLY 56_0 COME_FROM 52 '52' 56_1 COME_FROM 4 '4' Parse error at or near `POP_BLOCK' instruction at offset 34 ``` Output Decompyle3: ```python= Instruction context: L. 6 30 BUILD_LIST_0 0 32 ROT_FOUR -> 34 POP_BLOCK 36 POP_EXCEPT 38 CALL_FINALLY 42 'to 42' 40 RETURN_VALUE 42_0 COME_FROM 38 '38' 42_1 COME_FROM_FINALLY 20 '20' 42 LOAD_CONST None 44 STORE_FAST 'e' 46 DELETE_FAST 'e' 48 END_FINALLY 50 POP_EXCEPT 52 JUMP_FORWARD 56 'to 56' 54_0 COME_FROM 12 '12' 54 END_FINALLY 56_0 COME_FROM 52 '52' test/main.pyc -- # decompile failed # file test/main.pyc # Deparsing stopped due to parse error ``` ## Error 1/32 Source: [link](https://github.com/jeremyjyang/BioClients/blob/a054185b3072537abefa924b570f6025b87246c2/BioClients/pubchem/ftp/pubchem_ftp_compound_assaystats.py) Python version: 3.8 Decompyle3: Failed Uncompyle6: Failed Error: `Deparsing stopped due to parse error` | Py3.8 | Py3.7 | Py3.6 | Py2.7 | | -------- | -------- | -------- | -------- | | Fail | Pass | Pass | Pass | ### MWE: ```python= def main(): for fname_csv_gz in os.listdir(csvdir): try: pass except: continue ``` #### Closest Solution: No solution. See this [link](https://hackmd.io/@aliahad97/ry3JqUjad#MWE-2). #### MWE data: Bytecode for MWE: ```c= 1 0 LOAD_CONST 0 (<code object main at 0x40021eeb30, file "main.py", line 1>) 2 LOAD_CONST 1 ('main') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (main) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object main at 0x40021eeb30, file "main.py", line 1>: 2 0 LOAD_GLOBAL 0 (os) 2 LOAD_METHOD 1 (listdir) 4 LOAD_GLOBAL 2 (csvdir) 6 CALL_METHOD 1 8 GET_ITER >> 10 FOR_ITER 26 (to 38) 12 STORE_FAST 0 (fname_csv_gz) 3 14 SETUP_FINALLY 4 (to 20) 4 16 POP_BLOCK 18 JUMP_ABSOLUTE 10 5 >> 20 POP_TOP 22 POP_TOP 24 POP_TOP 6 26 POP_EXCEPT 28 JUMP_ABSOLUTE 10 30 POP_EXCEPT 32 JUMP_ABSOLUTE 10 34 END_FINALLY 36 JUMP_ABSOLUTE 10 >> 38 LOAD_CONST 0 (None) 40 RETURN_VALUE ``` Output uncompyle6: ```python= def main--- This code section failed: --- L. 2 0 LOAD_GLOBAL os 2 LOAD_METHOD listdir 4 LOAD_GLOBAL csvdir 6 CALL_METHOD_1 1 '' 8 GET_ITER 10 FOR_ITER 38 'to 38' 12 STORE_FAST 'fname_csv_gz' L. 3 14 SETUP_FINALLY 20 'to 20' L. 4 16 POP_BLOCK 18 JUMP_BACK 10 'to 10' 20_0 COME_FROM_FINALLY 14 '14' L. 5 20 POP_TOP 22 POP_TOP 24 POP_TOP L. 6 26 POP_EXCEPT 28 JUMP_BACK 10 'to 10' 30 POP_EXCEPT 32 JUMP_BACK 10 'to 10' 34 END_FINALLY 36 JUMP_BACK 10 'to 10' Parse error at or near `POP_EXCEPT' instruction at offset 30 ``` Output Decompyle3: ```python= Instruction context: L. 6 26 POP_EXCEPT -> 28 JUMP_BACK 10 'to 10' 30 POP_EXCEPT 32 JUMP_BACK 10 'to 10' 34 END_FINALLY 36 JUMP_BACK 10 'to 10' test/main.pyc -- # decompile failed # file test/main.pyc # Deparsing stopped due to parse error ``` ## Error 1/33 Source: [link](https://github.com/jeremyjyang/BioClients/blob/a054185b3072537abefa924b570f6025b87246c2/BioClients/pubchem/ftp/Utils.py#L90) Python version: 3.8 Decompyle3: Failed Uncompyle6: Failed Error: `Deparsing stopped due to parse error` | Py3.8 | Py3.7 | Py3.6 | Py2.7 | | -------- | -------- | -------- | -------- | | Fail | Pass | Pass | Pass | ### MWE: ```python= def ExtractOutcomes(): for line in lines: try: if not sid: continue except: pass ``` #### Closest Solution: No solution. See this [link](https://hackmd.io/@aliahad97/ry3JqUjad#MWE-2) #### MWE data: Bytecode for MWE: ```c= 1 0 LOAD_CONST 0 (<code object ExtractOutcomes at 0x400246eb30, file "main.py", line 1>) 2 LOAD_CONST 1 ('ExtractOutcomes') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (ExtractOutcomes) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object ExtractOutcomes at 0x400246eb30, file "main.py", line 1>: 2 0 LOAD_GLOBAL 0 (lines) 2 GET_ITER >> 4 FOR_ITER 30 (to 36) 6 STORE_FAST 0 (line) 3 8 SETUP_FINALLY 12 (to 22) 4 10 LOAD_GLOBAL 1 (sid) 12 POP_JUMP_IF_TRUE 18 14 POP_BLOCK 16 JUMP_ABSOLUTE 4 >> 18 POP_BLOCK 20 JUMP_ABSOLUTE 4 5 >> 22 POP_TOP 24 POP_TOP 26 POP_TOP 6 28 POP_EXCEPT 30 JUMP_ABSOLUTE 4 32 END_FINALLY 34 JUMP_ABSOLUTE 4 >> 36 LOAD_CONST 0 (None) 38 RETURN_VALUE ``` Output uncompyle6: ```python= def ExtractOutcomes--- This code section failed: --- L. 2 0 LOAD_GLOBAL lines 2 GET_ITER 4 FOR_ITER 36 'to 36' 6 STORE_FAST 'line' L. 3 8 SETUP_FINALLY 22 'to 22' L. 4 10 LOAD_GLOBAL sid 12 POP_JUMP_IF_TRUE 18 'to 18' L. 4 14 POP_BLOCK 16 JUMP_BACK 4 'to 4' 18_0 COME_FROM 12 '12' 18 POP_BLOCK 20 JUMP_BACK 4 'to 4' 22_0 COME_FROM_FINALLY 8 '8' L. 5 22 POP_TOP 24 POP_TOP 26 POP_TOP L. 6 28 POP_EXCEPT 30 JUMP_BACK 4 'to 4' 32 END_FINALLY 34 JUMP_BACK 4 'to 4' Parse error at or near `JUMP_BACK' instruction at offset 16 ``` Output Decompyle3: ```python= Instruction context: L. 4 14 POP_BLOCK -> 16 JUMP_BACK 4 'to 4' 18_0 COME_FROM 12 '12' 18 POP_BLOCK 20 JUMP_BACK 4 'to 4' 22_0 COME_FROM_FINALLY 8 '8' test/main.pyc -- # decompile failed # file test/main.pyc # Deparsing stopped due to parse error ``` ## Error 1/34 Source: [link](https://pypi.org/project/BioClients/0.0.4/#files) Python version: 3.8 Decompyle3: Pass Uncompyle6: Failed Error: `Deparsing stopped due to parse error` | Py3.8 | Py3.7 | Py3.6 | Py2.7 | | -------- | -------- | -------- | -------- | | Fail | Pass | Pass | Pass | ### MWE: ```python= def ListCompounds(): try: pass except Exception as e: return ``` #### Closest Solution: No solution. Check this [link](https://hackmd.io/@aliahad97/ry3JqUjad#MWE6) #### MWE data: Bytecode for MWE: ```c= 1 0 LOAD_CONST 0 (<code object ListCompounds at 0x40021aeb30, file "main.py", line 1>) 2 LOAD_CONST 1 ('ListCompounds') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (ListCompounds) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object ListCompounds at 0x40021aeb30, file "main.py", line 1>: 2 0 SETUP_FINALLY 4 (to 6) 3 2 POP_BLOCK 4 JUMP_FORWARD 40 (to 46) 4 >> 6 DUP_TOP 8 LOAD_GLOBAL 0 (Exception) 10 COMPARE_OP 10 (exception match) 12 POP_JUMP_IF_FALSE 44 14 POP_TOP 16 STORE_FAST 0 (e) 18 POP_TOP 20 SETUP_FINALLY 10 (to 32) 5 22 POP_BLOCK 24 POP_EXCEPT 26 CALL_FINALLY 4 (to 32) 28 LOAD_CONST 0 (None) 30 RETURN_VALUE >> 32 LOAD_CONST 0 (None) 34 STORE_FAST 0 (e) 36 DELETE_FAST 0 (e) 38 END_FINALLY 40 POP_EXCEPT 42 JUMP_FORWARD 2 (to 46) >> 44 END_FINALLY >> 46 LOAD_CONST 0 (None) 48 RETURN_VALUE ``` Output uncompyle6: ```python= def ListCompounds--- This code section failed: --- L. 2 0 SETUP_FINALLY 6 'to 6' L. 3 2 POP_BLOCK 4 JUMP_FORWARD 46 'to 46' 6_0 COME_FROM_FINALLY 0 '0' L. 4 6 DUP_TOP 8 LOAD_GLOBAL Exception 10 COMPARE_OP exception-match 12 POP_JUMP_IF_FALSE 44 'to 44' 14 POP_TOP 16 STORE_FAST 'e' 18 POP_TOP 20 SETUP_FINALLY 32 'to 32' L. 5 22 POP_BLOCK 24 POP_EXCEPT 26 CALL_FINALLY 32 'to 32' 28 LOAD_CONST None 30 RETURN_VALUE 32_0 COME_FROM 26 '26' 32_1 COME_FROM_FINALLY 20 '20' 32 LOAD_CONST None 34 STORE_FAST 'e' 36 DELETE_FAST 'e' 38 END_FINALLY 40 POP_EXCEPT 42 JUMP_FORWARD 46 'to 46' 44_0 COME_FROM 12 '12' 44 END_FINALLY 46_0 COME_FROM 42 '42' 46_1 COME_FROM 4 '4' Parse error at or near `CALL_FINALLY' instruction at offset 26 ``` Output Decompyle3: ```python= def ListCompounds(): try: pass except Exception as e: try: return finally: e = None del e ``` ## Error 1/35 Source: [link](https://pypi.org/project/BioClients/0.0.4/#files) Python version: 3.8 Decompyle3: Failed Uncompyle6: Failed Error: `Deparsing stopped due to parse error` MWE1: | Py3.8 | Py3.7 | Py3.6 | Py2.7 | | -------- | -------- | -------- | -------- | | Fail | Fail | Pass-Incorrect | Pass | MWE2: | Py3.8 | Py3.7 | Py3.6 | Py2.7 | | -------- | -------- | -------- | -------- | | Pass | Fail | Pass | Pass | ### MWE: #### MWE1: ```python= def GetTargetDiseases(): for id_this in ids: if conda and condb: continue while True: a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() if cond1 and cond2: break x() ``` > Note: Removing one function in the middle decompiles to incorrect solution. ##### Closest Solution1: No solution. Changes control flow as shown [here](https://hackmd.io/@aliahad97/ry3JqUjad#MWE7) ##### MWE1 data: Bytecode for MWE: ```c= 1 0 LOAD_CONST 0 (<code object GetTargetDiseases at 0x40021ae9d0, file "main.py", line 1>) 2 LOAD_CONST 1 ('GetTargetDiseases') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (GetTargetDiseases) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object GetTargetDiseases at 0x40021ae9d0, file "main.py", line 1>: 2 0 LOAD_GLOBAL 0 (ids) 2 GET_ITER >> 4 EXTENDED_ARG 0 6 FOR_ITER 254 (to 262) 8 STORE_FAST 0 (id_this) 3 10 LOAD_GLOBAL 1 (conda) 12 POP_JUMP_IF_FALSE 20 14 LOAD_GLOBAL 2 (condb) 16 POP_JUMP_IF_FALSE 20 18 JUMP_ABSOLUTE 4 5 >> 20 LOAD_GLOBAL 3 (a) 22 LOAD_METHOD 4 (b) 24 CALL_METHOD 0 26 POP_TOP 6 28 LOAD_GLOBAL 3 (a) 30 LOAD_METHOD 4 (b) 32 CALL_METHOD 0 34 POP_TOP 7 36 LOAD_GLOBAL 3 (a) 38 LOAD_METHOD 4 (b) 40 CALL_METHOD 0 42 POP_TOP 8 44 LOAD_GLOBAL 3 (a) 46 LOAD_METHOD 4 (b) 48 CALL_METHOD 0 50 POP_TOP 9 52 LOAD_GLOBAL 3 (a) 54 LOAD_METHOD 4 (b) 56 CALL_METHOD 0 58 POP_TOP 10 60 LOAD_GLOBAL 3 (a) 62 LOAD_METHOD 4 (b) 64 CALL_METHOD 0 66 POP_TOP 11 68 LOAD_GLOBAL 3 (a) 70 LOAD_METHOD 4 (b) 72 CALL_METHOD 0 74 POP_TOP 12 76 LOAD_GLOBAL 3 (a) 78 LOAD_METHOD 4 (b) 80 CALL_METHOD 0 82 POP_TOP 13 84 LOAD_GLOBAL 3 (a) 86 LOAD_METHOD 4 (b) 88 CALL_METHOD 0 90 POP_TOP 14 92 LOAD_GLOBAL 3 (a) 94 LOAD_METHOD 4 (b) 96 CALL_METHOD 0 98 POP_TOP 15 100 LOAD_GLOBAL 3 (a) 102 LOAD_METHOD 4 (b) 104 CALL_METHOD 0 106 POP_TOP 16 108 LOAD_GLOBAL 3 (a) 110 LOAD_METHOD 4 (b) 112 CALL_METHOD 0 114 POP_TOP 17 116 LOAD_GLOBAL 3 (a) 118 LOAD_METHOD 4 (b) 120 CALL_METHOD 0 122 POP_TOP 18 124 LOAD_GLOBAL 3 (a) 126 LOAD_METHOD 4 (b) 128 CALL_METHOD 0 130 POP_TOP 19 132 LOAD_GLOBAL 3 (a) 134 LOAD_METHOD 4 (b) 136 CALL_METHOD 0 138 POP_TOP 20 140 LOAD_GLOBAL 3 (a) 142 LOAD_METHOD 4 (b) 144 CALL_METHOD 0 146 POP_TOP 21 148 LOAD_GLOBAL 3 (a) 150 LOAD_METHOD 4 (b) 152 CALL_METHOD 0 154 POP_TOP 22 156 LOAD_GLOBAL 3 (a) 158 LOAD_METHOD 4 (b) 160 CALL_METHOD 0 162 POP_TOP 23 164 LOAD_GLOBAL 3 (a) 166 LOAD_METHOD 4 (b) 168 CALL_METHOD 0 170 POP_TOP 24 172 LOAD_GLOBAL 3 (a) 174 LOAD_METHOD 4 (b) 176 CALL_METHOD 0 178 POP_TOP 25 180 LOAD_GLOBAL 3 (a) 182 LOAD_METHOD 4 (b) 184 CALL_METHOD 0 186 POP_TOP 26 188 LOAD_GLOBAL 3 (a) 190 LOAD_METHOD 4 (b) 192 CALL_METHOD 0 194 POP_TOP 27 196 LOAD_GLOBAL 3 (a) 198 LOAD_METHOD 4 (b) 200 CALL_METHOD 0 202 POP_TOP 28 204 LOAD_GLOBAL 3 (a) 206 LOAD_METHOD 4 (b) 208 CALL_METHOD 0 210 POP_TOP 29 212 LOAD_GLOBAL 3 (a) 214 LOAD_METHOD 4 (b) 216 CALL_METHOD 0 218 POP_TOP 30 220 LOAD_GLOBAL 3 (a) 222 LOAD_METHOD 4 (b) 224 CALL_METHOD 0 226 POP_TOP 31 228 LOAD_GLOBAL 3 (a) 230 LOAD_METHOD 4 (b) 232 CALL_METHOD 0 234 POP_TOP 32 236 LOAD_GLOBAL 3 (a) 238 LOAD_METHOD 4 (b) 240 CALL_METHOD 0 242 POP_TOP 244 JUMP_ABSOLUTE 20 33 246 LOAD_GLOBAL 5 (cond1) 248 POP_JUMP_IF_FALSE 4 250 LOAD_GLOBAL 6 (cond2) 252 POP_JUMP_IF_FALSE 4 254 POP_TOP 256 EXTENDED_ARG 1 258 JUMP_ABSOLUTE 262 260 JUMP_ABSOLUTE 4 34 >> 262 LOAD_GLOBAL 7 (x) 264 CALL_FUNCTION 0 266 POP_TOP 268 LOAD_CONST 0 (None) 270 RETURN_VALUE ``` Output uncompyle6: ```python= def GetTargetDiseases--- This code section failed: --- L. 2 0 LOAD_GLOBAL ids 2 GET_ITER 4_0 COME_FROM 252 '252' 4_1 COME_FROM 248 '248' 4_6 FOR_ITER 262 'to 262' 8 STORE_FAST 'id_this' L. 3 10 LOAD_GLOBAL conda 12 POP_JUMP_IF_FALSE 20 'to 20' 14 LOAD_GLOBAL condb 16 POP_JUMP_IF_FALSE 20 'to 20' L. 3 18 JUMP_BACK 4 'to 4' 20_0 COME_FROM 16 '16' 20_1 COME_FROM 12 '12' L. 5 20 LOAD_GLOBAL a 22 LOAD_METHOD b 24 CALL_METHOD_0 0 '' 26 POP_TOP L. 6 28 LOAD_GLOBAL a 30 LOAD_METHOD b 32 CALL_METHOD_0 0 '' 34 POP_TOP L. 7 36 LOAD_GLOBAL a 38 LOAD_METHOD b 40 CALL_METHOD_0 0 '' 42 POP_TOP L. 8 44 LOAD_GLOBAL a 46 LOAD_METHOD b 48 CALL_METHOD_0 0 '' 50 POP_TOP L. 9 52 LOAD_GLOBAL a 54 LOAD_METHOD b 56 CALL_METHOD_0 0 '' 58 POP_TOP L. 10 60 LOAD_GLOBAL a 62 LOAD_METHOD b 64 CALL_METHOD_0 0 '' 66 POP_TOP L. 11 68 LOAD_GLOBAL a 70 LOAD_METHOD b 72 CALL_METHOD_0 0 '' 74 POP_TOP L. 12 76 LOAD_GLOBAL a 78 LOAD_METHOD b 80 CALL_METHOD_0 0 '' 82 POP_TOP L. 13 84 LOAD_GLOBAL a 86 LOAD_METHOD b 88 CALL_METHOD_0 0 '' 90 POP_TOP L. 14 92 LOAD_GLOBAL a 94 LOAD_METHOD b 96 CALL_METHOD_0 0 '' 98 POP_TOP L. 15 100 LOAD_GLOBAL a 102 LOAD_METHOD b 104 CALL_METHOD_0 0 '' 106 POP_TOP L. 16 108 LOAD_GLOBAL a 110 LOAD_METHOD b 112 CALL_METHOD_0 0 '' 114 POP_TOP L. 17 116 LOAD_GLOBAL a 118 LOAD_METHOD b 120 CALL_METHOD_0 0 '' 122 POP_TOP L. 18 124 LOAD_GLOBAL a 126 LOAD_METHOD b 128 CALL_METHOD_0 0 '' 130 POP_TOP L. 19 132 LOAD_GLOBAL a 134 LOAD_METHOD b 136 CALL_METHOD_0 0 '' 138 POP_TOP L. 20 140 LOAD_GLOBAL a 142 LOAD_METHOD b 144 CALL_METHOD_0 0 '' 146 POP_TOP L. 21 148 LOAD_GLOBAL a 150 LOAD_METHOD b 152 CALL_METHOD_0 0 '' 154 POP_TOP L. 22 156 LOAD_GLOBAL a 158 LOAD_METHOD b 160 CALL_METHOD_0 0 '' 162 POP_TOP L. 23 164 LOAD_GLOBAL a 166 LOAD_METHOD b 168 CALL_METHOD_0 0 '' 170 POP_TOP L. 24 172 LOAD_GLOBAL a 174 LOAD_METHOD b 176 CALL_METHOD_0 0 '' 178 POP_TOP L. 25 180 LOAD_GLOBAL a 182 LOAD_METHOD b 184 CALL_METHOD_0 0 '' 186 POP_TOP L. 26 188 LOAD_GLOBAL a 190 LOAD_METHOD b 192 CALL_METHOD_0 0 '' 194 POP_TOP L. 27 196 LOAD_GLOBAL a 198 LOAD_METHOD b 200 CALL_METHOD_0 0 '' 202 POP_TOP L. 28 204 LOAD_GLOBAL a 206 LOAD_METHOD b 208 CALL_METHOD_0 0 '' 210 POP_TOP L. 29 212 LOAD_GLOBAL a 214 LOAD_METHOD b 216 CALL_METHOD_0 0 '' 218 POP_TOP L. 30 220 LOAD_GLOBAL a 222 LOAD_METHOD b 224 CALL_METHOD_0 0 '' 226 POP_TOP L. 31 228 LOAD_GLOBAL a 230 LOAD_METHOD b 232 CALL_METHOD_0 0 '' 234 POP_TOP L. 32 236 LOAD_GLOBAL a 238 LOAD_METHOD b 240 CALL_METHOD_0 0 '' 242 POP_TOP 244 JUMP_BACK 20 'to 20' L. 33 246 LOAD_GLOBAL cond1 248 POP_JUMP_IF_FALSE 4 'to 4' 250 LOAD_GLOBAL cond2 252 POP_JUMP_IF_FALSE 4 'to 4' L. 33 254 POP_TOP 256_258 JUMP_ABSOLUTE 262 'to 262' 260 JUMP_BACK 4 'to 4' L. 34 262 LOAD_GLOBAL x 264 CALL_FUNCTION_0 0 '' 266 POP_TOP Parse error at or near `JUMP_BACK' instruction at offset 260 ``` Output Decompyle3: ```python= Instruction context: L. 33 254 POP_TOP -> 256_258 JUMP_FORWARD 262 'to 262' 260 JUMP_BACK 4 'to 4' 262_0 COME_FROM 256 '256' 262_1 COME_FROM 4 '4' test/main.pyc -- # decompile failed # file test/main.pyc # Deparsing stopped due to parse error ``` #### MWE2: Same as MWE1. Only strings different. ## Error 1/36 Source: [link](https://pypi.org/project/BioClients/0.0.4/#files) Python version: 3.8 Decompyle3: Failed Uncompyle6: Failed Error: `Deparsing stopped due to parse error` MWE1: | Py3.8 | Py3.7 | Py3.6 | Py2.7 | | -------- | -------- | -------- | -------- | | Fail | Pass | Pass | Pass | MWE2: | Py3.8 | Py3.7 | Py3.6 | Py2.7 | | -------- | -------- | -------- | -------- | | Fail | Fail | Pass | Pass | ### MWE: #### MWE1: ```python= def RequestURL(): try: pass except Exception as e: if x: return ([]) ``` ##### Closest Solution1: No solution. See [this](https://hackmd.io/@aliahad97/ry3JqUjad#MWE-5) ##### MWE1 data: Bytecode for MWE: ```c= 1 0 LOAD_CONST 0 (<code object RequestURL at 0x40021eeb30, file "main.py", line 1>) 2 LOAD_CONST 1 ('RequestURL') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (RequestURL) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object RequestURL at 0x40021eeb30, file "main.py", line 1>: 2 0 LOAD_CONST 0 (None) 2 STORE_FAST 0 (tmp) 3 4 SETUP_FINALLY 4 (to 10) 4 6 POP_BLOCK 8 JUMP_FORWARD 38 (to 48) 5 >> 10 DUP_TOP 12 LOAD_GLOBAL 0 (Exception) 14 COMPARE_OP 10 (exception match) 16 POP_JUMP_IF_FALSE 46 18 POP_TOP 20 STORE_FAST 1 (e) 22 POP_TOP 24 SETUP_FINALLY 8 (to 34) 6 26 LOAD_GLOBAL 1 (x) 28 STORE_FAST 0 (tmp) 30 POP_BLOCK 32 BEGIN_FINALLY >> 34 LOAD_CONST 0 (None) 36 STORE_FAST 1 (e) 38 DELETE_FAST 1 (e) 40 END_FINALLY 42 POP_EXCEPT 44 JUMP_FORWARD 2 (to 48) >> 46 END_FINALLY 7 >> 48 LOAD_FAST 0 (tmp) 50 LOAD_GLOBAL 1 (x) 52 COMPARE_OP 2 (==) 54 POP_JUMP_IF_FALSE 60 8 56 BUILD_LIST 0 58 RETURN_VALUE >> 60 LOAD_CONST 0 (None) 62 RETURN_VALUE ``` Output uncompyle6: ```python= def RequestURL--- This code section failed: --- L. 2 0 SETUP_FINALLY 6 'to 6' L. 3 2 POP_BLOCK 4 JUMP_FORWARD 56 'to 56' 6_0 COME_FROM_FINALLY 0 '0' L. 4 6 DUP_TOP 8 LOAD_GLOBAL Exception 10 COMPARE_OP exception-match 12 POP_JUMP_IF_FALSE 54 'to 54' 14 POP_TOP 16 STORE_FAST 'e' 18 POP_TOP 20 SETUP_FINALLY 42 'to 42' L. 5 22 LOAD_GLOBAL x 24 POP_JUMP_IF_FALSE 38 'to 38' L. 6 26 BUILD_LIST_0 0 28 ROT_FOUR 30 POP_BLOCK 32 POP_EXCEPT 34 CALL_FINALLY 42 'to 42' 36 RETURN_VALUE 38_0 COME_FROM 24 '24' 38 POP_BLOCK 40 BEGIN_FINALLY 42_0 COME_FROM 34 '34' 42_1 COME_FROM_FINALLY 20 '20' 42 LOAD_CONST None 44 STORE_FAST 'e' 46 DELETE_FAST 'e' 48 END_FINALLY 50 POP_EXCEPT 52 JUMP_FORWARD 56 'to 56' 54_0 COME_FROM 12 '12' 54 END_FINALLY 56_0 COME_FROM 52 '52' 56_1 COME_FROM 4 '4' Parse error at or near `POP_BLOCK' instruction at offset 30 ``` Output Decompyle3: ```python= Instruction context: L. 6 26 BUILD_LIST_0 0 28 ROT_FOUR -> 30 POP_BLOCK 32 POP_EXCEPT 34 CALL_FINALLY 42 'to 42' 36 RETURN_VALUE 38_0 COME_FROM 24 '24' 38 POP_BLOCK 40 BEGIN_FINALLY 42_0 COME_FROM 34 '34' 42_1 COME_FROM_FINALLY 20 '20' 42 LOAD_CONST None 44 STORE_FAST 'e' 46 DELETE_FAST 'e' 48 END_FINALLY 50 POP_EXCEPT 52 JUMP_FORWARD 56 'to 56' 54_0 COME_FROM 12 '12' 54 END_FINALLY 56_0 COME_FROM 52 '52' test/main.pyc -- # decompile failed # file test/main.pyc # Deparsing stopped due to parse error ``` #### MWE2: ```python= def ParseXml(): try: pass except Exception as e: return False ``` ##### Closest Solution2: No solution. See [this](https://hackmd.io/@aliahad97/ry3JqUjad#MWE-5). ##### MWE2 data: Bytecode for MWE: ```c= 1 0 LOAD_CONST 0 (<code object ParseXml at 0x40021aeb30, file "main.py", line 1>) 2 LOAD_CONST 1 ('ParseXml') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (ParseXml) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object ParseXml at 0x40021aeb30, file "main.py", line 1>: 2 0 SETUP_FINALLY 4 (to 6) 3 2 POP_BLOCK 4 JUMP_FORWARD 40 (to 46) 4 >> 6 DUP_TOP 8 LOAD_GLOBAL 0 (Exception) 10 COMPARE_OP 10 (exception match) 12 POP_JUMP_IF_FALSE 44 14 POP_TOP 16 STORE_FAST 0 (e) 18 POP_TOP 20 SETUP_FINALLY 10 (to 32) 5 22 POP_BLOCK 24 POP_EXCEPT 26 CALL_FINALLY 4 (to 32) 28 LOAD_CONST 1 (False) 30 RETURN_VALUE >> 32 LOAD_CONST 0 (None) 34 STORE_FAST 0 (e) 36 DELETE_FAST 0 (e) 38 END_FINALLY 40 POP_EXCEPT 42 JUMP_FORWARD 2 (to 46) >> 44 END_FINALLY >> 46 LOAD_CONST 0 (None) 48 RETURN_VALUE ``` Output uncompyle6: ```python= def ParseXml--- This code section failed: --- L. 2 0 SETUP_FINALLY 6 'to 6' L. 3 2 POP_BLOCK 4 JUMP_FORWARD 46 'to 46' 6_0 COME_FROM_FINALLY 0 '0' L. 4 6 DUP_TOP 8 LOAD_GLOBAL Exception 10 COMPARE_OP exception-match 12 POP_JUMP_IF_FALSE 44 'to 44' 14 POP_TOP 16 STORE_FAST 'e' 18 POP_TOP 20 SETUP_FINALLY 32 'to 32' L. 5 22 POP_BLOCK 24 POP_EXCEPT 26 CALL_FINALLY 32 'to 32' 28 LOAD_CONST False 30 RETURN_VALUE 32_0 COME_FROM 26 '26' 32_1 COME_FROM_FINALLY 20 '20' 32 LOAD_CONST None 34 STORE_FAST 'e' 36 DELETE_FAST 'e' 38 END_FINALLY 40 POP_EXCEPT 42 JUMP_FORWARD 46 'to 46' 44_0 COME_FROM 12 '12' 44 END_FINALLY 46_0 COME_FROM 42 '42' 46_1 COME_FROM 4 '4' Parse error at or near `CALL_FINALLY' instruction at offset 26 ``` Output Decompyle3: ```python= def ParseXml(): try: pass except Exception as e: try: return False finally: e = None del e ``` ## Error 1/37 Source: [link](https://pypi.org/project/BioClients/0.0.4/#files) Python version: 3.8 Decompyle3: Failed Uncompyle6: Failed Error: `Deparsing stopped due to parse error` | Py3.8 | Py3.7 | Py3.6 | Py2.7 | | -------- | -------- | -------- | -------- | | Fail | Pass | Pass | Pass | ### MWE: ```python= def Describe(): while True: try: pass except Exception as e: break ``` #### Closest Solution: No solution. See [here](https://hackmd.io/@aliahad97/ry3JqUjad#MWE-2) #### MWE data: Bytecode for MWE: ```c= 1 0 LOAD_CONST 0 (<code object Describe at 0x400246eb30, file "main.py", line 1>) 2 LOAD_CONST 1 ('Describe') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (Describe) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object Describe at 0x400246eb30, file "main.py", line 1>: 3 >> 0 SETUP_FINALLY 4 (to 6) 4 2 POP_BLOCK 4 JUMP_ABSOLUTE 0 5 >> 6 DUP_TOP 8 LOAD_GLOBAL 0 (Exception) 10 COMPARE_OP 10 (exception match) 12 POP_JUMP_IF_FALSE 46 14 POP_TOP 16 STORE_FAST 0 (e) 18 POP_TOP 20 SETUP_FINALLY 12 (to 34) 6 22 POP_BLOCK 24 POP_EXCEPT 26 CALL_FINALLY 6 (to 34) 28 JUMP_ABSOLUTE 50 30 POP_BLOCK 32 BEGIN_FINALLY >> 34 LOAD_CONST 0 (None) 36 STORE_FAST 0 (e) 38 DELETE_FAST 0 (e) 40 END_FINALLY 42 POP_EXCEPT 44 JUMP_ABSOLUTE 0 >> 46 END_FINALLY 48 JUMP_ABSOLUTE 0 >> 50 LOAD_CONST 0 (None) 52 RETURN_VALUE ``` Output uncompyle6: ```python= def Describe--- This code section failed: --- L. 3 0 SETUP_FINALLY 6 'to 6' L. 4 2 POP_BLOCK 4 JUMP_BACK 0 'to 0' 6_0 COME_FROM_FINALLY 0 '0' L. 5 6 DUP_TOP 8 LOAD_GLOBAL Exception 10 COMPARE_OP exception-match 12 POP_JUMP_IF_FALSE 46 'to 46' 14 POP_TOP 16 STORE_FAST 'e' 18 POP_TOP 20 SETUP_FINALLY 34 'to 34' L. 6 22 POP_BLOCK 24 POP_EXCEPT 26 CALL_FINALLY 34 'to 34' 28 BREAK_LOOP 50 'to 50' 30 POP_BLOCK 32 BEGIN_FINALLY 34_0 COME_FROM 26 '26' 34_1 COME_FROM_FINALLY 20 '20' 34 LOAD_CONST None 36 STORE_FAST 'e' 38 DELETE_FAST 'e' 40 END_FINALLY 42 POP_EXCEPT 44 JUMP_BACK 0 'to 0' 46_0 COME_FROM 12 '12' 46 END_FINALLY 48 JUMP_BACK 0 'to 0' Parse error at or near `CALL_FINALLY' instruction at offset 26 ``` Output Decompyle3: ```python= Instruction context: L. 6 22 POP_BLOCK 24 POP_EXCEPT 26 CALL_FINALLY 34 'to 34' -> 28 JUMP_FORWARD 50 'to 50' 30 POP_BLOCK 32 BEGIN_FINALLY 34_0 COME_FROM 26 '26' 34_1 COME_FROM_FINALLY 20 '20' 34 LOAD_CONST None 36 STORE_FAST 'e' 38 DELETE_FAST 'e' 40 END_FINALLY 42 POP_EXCEPT 44 JUMP_BACK 0 'to 0' 46_0 COME_FROM 12 '12' 46 END_FINALLY 48 JUMP_BACK 0 'to 0' test/main.pyc -- # decompile failed # file test/main.pyc # Deparsing stopped due to parse error ``` ## Error 1/38 Source: [link](https://github.com/reneshbedre/bioinfokit/blob/7f62e8fe38e1ce07ee025a45d29f61fb46025589/bioinfokit/visuz.py#L271) Python version: 3.7 Decompyle3: Pass Uncompyle6: Failed Error: `Deparsing stopped due to parse error` | Py3.8 | Py3.7 | Py3.6 | Py2.7 | | -------- | -------- | -------- | -------- | | Pass | Fail | Pass | Pass | ### MWE: ```python= def geneplot_mhat(): if a: if b: for i in l: # if c: a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() elif d: for i in l: if f: a.b() # Error line else: pass ``` #### Closest Solution: ```python= ``` ```c= ``` #### MWE data: Bytecode for MWE: ```c= 1 0 LOAD_CONST 0 (<code object geneplot_mhat at 0x40022eee40, file "main.py", line 1>) 2 LOAD_CONST 1 ('geneplot_mhat') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (geneplot_mhat) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object geneplot_mhat at 0x40022eee40, file "main.py", line 1>: 2 0 LOAD_GLOBAL 0 (a) 2 EXTENDED_ARG 1 4 POP_JUMP_IF_FALSE 306 3 6 LOAD_GLOBAL 1 (b) 8 EXTENDED_ARG 1 10 POP_JUMP_IF_FALSE 268 4 12 SETUP_LOOP 252 (to 266) 14 LOAD_GLOBAL 2 (l) 16 GET_ITER >> 18 FOR_ITER 244 (to 264) 20 STORE_FAST 0 (i) 6 22 LOAD_GLOBAL 0 (a) 24 LOAD_METHOD 1 (b) 26 CALL_METHOD 0 28 POP_TOP 7 30 LOAD_GLOBAL 0 (a) 32 LOAD_METHOD 1 (b) 34 CALL_METHOD 0 36 POP_TOP 8 38 LOAD_GLOBAL 0 (a) 40 LOAD_METHOD 1 (b) 42 CALL_METHOD 0 44 POP_TOP 9 X---- Removed Section -----X 34 246 LOAD_GLOBAL 0 (a) 248 LOAD_METHOD 1 (b) 250 CALL_METHOD 0 252 POP_TOP 35 254 LOAD_GLOBAL 0 (a) 256 LOAD_METHOD 1 (b) 258 CALL_METHOD 0 260 POP_TOP 262 JUMP_ABSOLUTE 18 >> 264 POP_BLOCK >> 266 JUMP_FORWARD 36 (to 304) 37 >> 268 LOAD_GLOBAL 3 (d) 270 EXTENDED_ARG 1 272 POP_JUMP_IF_FALSE 306 38 274 SETUP_LOOP 30 (to 306) 276 LOAD_GLOBAL 2 (l) 278 GET_ITER >> 280 FOR_ITER 20 (to 302) 282 STORE_FAST 0 (i) 39 284 LOAD_GLOBAL 4 (f) 286 EXTENDED_ARG 1 288 POP_JUMP_IF_FALSE 280 40 290 LOAD_GLOBAL 0 (a) 292 LOAD_METHOD 1 (b) 294 CALL_METHOD 0 296 POP_TOP 298 EXTENDED_ARG 1 300 JUMP_ABSOLUTE 280 >> 302 POP_BLOCK >> 304 JUMP_FORWARD 0 (to 306) 42 >> 306 LOAD_CONST 0 (None) 308 RETURN_VALUE ``` Output uncompyle6: ```python= def geneplot_mhat--- This code section failed: --- L. 2 0 LOAD_GLOBAL a 2_4 POP_JUMP_IF_FALSE 306 'to 306' L. 3 6 LOAD_GLOBAL b 8_10 POP_JUMP_IF_FALSE 268 'to 268' L. 4 12 SETUP_LOOP 266 'to 266' 14 LOAD_GLOBAL l 16 GET_ITER 18 FOR_ITER 264 'to 264' 20 STORE_FAST 'i' L. 6 22 LOAD_GLOBAL a 24 LOAD_METHOD b 26 CALL_METHOD_0 0 '0 positional arguments' 28 POP_TOP L. 7 30 LOAD_GLOBAL a 32 LOAD_METHOD b 34 CALL_METHOD_0 0 '0 positional arguments' 36 POP_TOP L. 8 X ---- Removed Section ---- X L. 35 254 LOAD_GLOBAL a 256 LOAD_METHOD b 258 CALL_METHOD_0 0 '0 positional arguments' 260 POP_TOP 262 JUMP_BACK 18 'to 18' 264 POP_BLOCK 266_0 COME_FROM_LOOP 12 '12' 266 JUMP_FORWARD 304 'to 304' 268_0 COME_FROM 8 '8' L. 37 268 LOAD_GLOBAL d 270_272 POP_JUMP_IF_FALSE 306 'to 306' L. 38 274 SETUP_LOOP 306 'to 306' 276 LOAD_GLOBAL l 278 GET_ITER 280_0 COME_FROM 286 '286' 280 FOR_ITER 302 'to 302' 282 STORE_FAST 'i' L. 39 284 LOAD_GLOBAL f 286_288 POP_JUMP_IF_FALSE 280 'to 280' L. 40 290 LOAD_GLOBAL a 292 LOAD_METHOD b 294 CALL_METHOD_0 0 '0 positional arguments' 296 POP_TOP 298_300 JUMP_BACK 280 'to 280' 302 POP_BLOCK 304_0 COME_FROM 266 '266' 304 JUMP_FORWARD 306 'to 306' 306_0 COME_FROM 304 '304' 306_1 COME_FROM_LOOP 274 '274' 306_2 COME_FROM 270 '270' 306_3 COME_FROM 2 '2' Parse error at or near `COME_FROM' instruction at offset 306_2 ``` Output Decompyle3: ```python= # decompyle3 version 3.7.5 # Python bytecode 3.7 (3394) # Decompiled from: Python 3.7.11 (default, Jun 29 2021, 20:31:06) # [GCC 8.3.0] # Embedded file name: main.py # Compiled at: 2021-07-21 18:22:43 # Size of source mod 2**32: 917 bytes def geneplot_mhat(): if a: if b: for i in l: a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() a.b() elif d: for i in l: if f: a.b() else: pass ```