---
tags: decompiler
---
# MWEs 1: 62-82
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/62
Source: [link](https://github.com/PingThingsIO/btrdb-python/blob/v5.8/btrdb/stream.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 |
### MWE:
#### MWE1:
```python=
def exists():
try:
x=x
return True
except:
pass
```
##### Closest Solution1:
No solution. See this [link](https://hackmd.io/@aliahad97/ry3JqUjad#MWE-2).
##### MWE1 data:
Bytecode for MWE:
```c=
1 0 LOAD_CONST 0 (<code object exists at 0x400236ea80, file "main.py", line 1>)
2 LOAD_CONST 1 ('exists')
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (exists)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object exists at 0x400236ea80, file "main.py", line 1>:
2 0 SETUP_FINALLY 10 (to 12)
3 2 LOAD_FAST 0 (x)
4 STORE_FAST 0 (x)
4 6 POP_BLOCK
8 LOAD_CONST 1 (True)
10 RETURN_VALUE
5 >> 12 POP_TOP
14 POP_TOP
16 POP_TOP
6 18 POP_EXCEPT
20 JUMP_FORWARD 2 (to 24)
22 END_FINALLY
>> 24 LOAD_CONST 0 (None)
26 RETURN_VALUE
```
Output uncompyle6:
```python=
def exists--- This code section failed: ---
L. 2 0 SETUP_FINALLY 12 'to 12'
L. 3 2 LOAD_FAST 'x'
4 STORE_FAST 'x'
L. 4 6 POP_BLOCK
8 LOAD_CONST True
10 RETURN_VALUE
12_0 COME_FROM_FINALLY 0 '0'
L. 5 12 POP_TOP
14 POP_TOP
16 POP_TOP
L. 6 18 POP_EXCEPT
20 JUMP_FORWARD 24 'to 24'
22 END_FINALLY
24_0 COME_FROM 20 '20'
Parse error at or near `RETURN_VALUE' instruction at offset 10
```
Output Decompyle3:
```python=
Instruction context:
L. 6 18 POP_EXCEPT
-> 20 JUMP_FORWARD 24 'to 24'
22 END_FINALLY
test/main.pyc --
# decompile failed
# file test/main.pyc
# Deparsing stopped due to parse error
```
#### MWE2:
```python=
def _update_annotations(encoder):
serialized = {k: x(encoder, k) for k in l}
```
##### Closest Solution2:
```python=
def _update_annotations(encoder):
serialized = {}
for k in l:
serialized[k] = x(encoder, k)
```
```c=
1 0 LOAD_CONST 0 (<code object _update_annotations at 0x400246eb30, file "main.py", line 1>)
2 LOAD_CONST 1 ('_update_annotations')
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (_update_annotations)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object _update_annotations at 0x400246eb30, file "main.py", line 1>:
2 0 BUILD_MAP 0
2 STORE_FAST 1 (serialized)
3 4 LOAD_GLOBAL 0 (l)
6 GET_ITER
>> 8 FOR_ITER 18 (to 28)
10 STORE_FAST 2 (k)
4 12 LOAD_GLOBAL 1 (x)
14 LOAD_FAST 0 (encoder)
16 LOAD_FAST 2 (k)
18 CALL_FUNCTION 2
20 LOAD_FAST 1 (serialized)
22 LOAD_FAST 2 (k)
24 STORE_SUBSCR
26 JUMP_ABSOLUTE 8
>> 28 LOAD_CONST 0 (None)
30 RETURN_VALUE
```
##### MWE2 data:
Bytecode for MWE:
```c=
1 0 LOAD_CONST 0 (<code object _update_annotations at 0x40021aeea0, file "main.py", line 1>)
2 LOAD_CONST 1 ('_update_annotations')
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (_update_annotations)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object _update_annotations at 0x40021aeea0, file "main.py", line 1>:
2 0 LOAD_CLOSURE 0 (encoder)
2 BUILD_TUPLE 1
4 LOAD_CONST 1 (<code object <dictcomp> at 0x40021aedf0, file "main.py", line 2>)
6 LOAD_CONST 2 ('_update_annotations.<locals>.<dictcomp>')
8 MAKE_FUNCTION 8 (closure)
10 LOAD_GLOBAL 0 (l)
12 GET_ITER
14 CALL_FUNCTION 1
16 STORE_FAST 1 (serialized)
18 LOAD_CONST 0 (None)
20 RETURN_VALUE
Disassembly of <code object <dictcomp> at 0x40021aedf0, file "main.py", line 2>:
2 0 BUILD_MAP 0
2 LOAD_FAST 0 (.0)
>> 4 FOR_ITER 16 (to 22)
6 STORE_FAST 1 (k)
8 LOAD_FAST 1 (k)
10 LOAD_GLOBAL 0 (x)
12 LOAD_DEREF 0 (encoder)
14 LOAD_FAST 1 (k)
16 CALL_FUNCTION 2
18 MAP_ADD 2
20 JUMP_ABSOLUTE 4
>> 22 RETURN_VALUE
```
Output uncompyle6:
```python=
def _update_annotations--- This code section failed: ---
L. 2 0 LOAD_CLOSURE 'encoder'
2 BUILD_TUPLE_1 1
4 LOAD_DICTCOMP '<code_object <dictcomp>>'
6 LOAD_STR '_update_annotations.<locals>.<dictcomp>'
8 MAKE_FUNCTION_8 'closure'
10 LOAD_GLOBAL l
12 GET_ITER
14 CALL_FUNCTION_1 1 ''
16 STORE_FAST 'serialized'
Parse error at or near `None' instruction at offset -1
```
Output Decompyle3:
```python=
def _update_annotations(encoder):
serialized = {x(encoder, k):k for k in l}
```
#### MWE3:
```python=
def nearest():
try:
pass
except BTrDBError as exc:
return None
```
##### Closest Solution3:
No solution. See this [link](https://hackmd.io/@aliahad97/ry3JqUjad#MWE-1).
##### MWE3 data:
Bytecode for MWE:
```c=
1 0 LOAD_CONST 0 (<code object nearest at 0x40021aeb30, file "main.py", line 1>)
2 LOAD_CONST 1 ('nearest')
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (nearest)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object nearest 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 (BTrDBError)
10 COMPARE_OP 10 (exception match)
12 POP_JUMP_IF_FALSE 44
14 POP_TOP
16 STORE_FAST 0 (exc)
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 (exc)
36 DELETE_FAST 0 (exc)
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 nearest--- 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 BTrDBError
10 COMPARE_OP exception-match
12 POP_JUMP_IF_FALSE 44 'to 44'
14 POP_TOP
16 STORE_FAST 'exc'
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 'exc'
36 DELETE_FAST 'exc'
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 nearest():
try:
pass
except BTrDBError as exc:
try:
return
finally:
exc = None
del exc
```
#### MWE4:
```python=
def rows():
for x in l:
try:
streams_empty = False
except:
continue
```
##### Closest Solution4:
No solution. See this [link](https://hackmd.io/@aliahad97/ry3JqUjad#MWE-2).
##### MWE4 data:
Bytecode for MWE:
```c=
1 0 LOAD_CONST 0 (<code object rows at 0x40021eebe0, file "main.py", line 1>)
2 LOAD_CONST 1 ('rows')
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (rows)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object rows at 0x40021eebe0, file "main.py", line 1>:
2 0 LOAD_GLOBAL 0 (l)
2 GET_ITER
>> 4 FOR_ITER 30 (to 36)
6 STORE_FAST 0 (x)
3 8 SETUP_FINALLY 8 (to 18)
4 10 LOAD_CONST 1 (False)
12 STORE_FAST 1 (streams_empty)
14 POP_BLOCK
16 JUMP_ABSOLUTE 4
5 >> 18 POP_TOP
20 POP_TOP
22 POP_TOP
6 24 POP_EXCEPT
26 JUMP_ABSOLUTE 4
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 rows--- This code section failed: ---
L. 2 0 LOAD_GLOBAL l
2 GET_ITER
4 FOR_ITER 36 'to 36'
6 STORE_FAST 'x'
L. 3 8 SETUP_FINALLY 18 'to 18'
L. 4 10 LOAD_CONST False
12 STORE_FAST 'streams_empty'
14 POP_BLOCK
16 JUMP_BACK 4 'to 4'
18_0 COME_FROM_FINALLY 8 '8'
L. 5 18 POP_TOP
20 POP_TOP
22 POP_TOP
L. 6 24 POP_EXCEPT
26 JUMP_BACK 4 'to 4'
28 POP_EXCEPT
30 JUMP_BACK 4 'to 4'
32 END_FINALLY
34 JUMP_BACK 4 'to 4'
Parse error at or near `POP_EXCEPT' instruction at offset 28
```
Output Decompyle3:
```python=
Instruction context:
L. 6 24 POP_EXCEPT
-> 26 JUMP_BACK 4 'to 4'
28 POP_EXCEPT
30 JUMP_BACK 4 'to 4'
32 END_FINALLY
34 JUMP_BACK 4 'to 4'
test/main.pyc --
# decompile failed
# file test/main.pyc
# Deparsing stopped due to parse error
```
## Error 1/63 - Py3.4
Source: [link](https://github.com/ksmaheshkumar/ButterflyNet/blob/master/bfnet/Net.py)
Python version: 3.4
Decompyle3: Failed
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`
MWE1:
| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- |
| Pass | Pass | Pass | Pass |
MWE2:
| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- |
| Pass | Fail | Pass | Pass |
MWE3:
| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- |
| Pass | Fail | Pass | Pass |
### MWE:
### MWE1:
> NOTE: Ignoring this since it fails in python 3.4. This file passes for all other python versions (atleast the relevant ones)
```python=
def any_data(self, func):
def match(data):
return func
self.handlers.append(match)
return func
```
### MWE2:
> NOTE: Ignoring this since it fails in python 3.4. This file passes for all other python versions (atleast the relevant ones)
```python=
def regexp_match(self, regexp: str):
def real_decorator(func: types.FunctionType):
# Compile the regexp pattern.
pattern = re.compile(regexp)
# Create a match function.
def match(data: bytes):
# Match it - if it works, return the func. Else, return None.
data = data.decode()
if pattern.match(data):
return func
else:
return None
self.handlers.append(match)
return func
return real_decorator
```
### MWE3:
> NOTE: Ignoring this since it fails in python 3.4. This file passes for all other python versions (atleast the relevant ones)
```python=
def prefix_match(self, prefix: str, start=None, end=None):
def real_decorator(func: types.FunctionType):
def match(data: bytes):
data = data.decode()
if data.startswith(prefix=prefix, start=start, end=end):
return func
else:
return None
self.handlers.append(match)
return func
return real_decorator
```
## Error 1/64
Source: [link](https://pypi.org/project/buzzepar/#files)
Python version: 3.7
Decompyle3: Works- Incorrect
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`
MWE1
| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- |
| Fail | Fail | Pass | Pass |
MWE2
| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- |
| Fail | Fail | Pass | Pass |
MWE3
| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- |
| Fail | Fail | Pass | Pass |
### MWE:
#### MWE1:
```python=
def _is_chinese_char():
if ((cp >= 0x4E00 and cp <= 0x9FFF) or #
(cp >= 0x3400 and cp <= 0x4DBF) or #
(cp >= 0x20000 and cp <= 0x2A6DF) or #
(cp >= 0x2F800 and cp <= 0x2FA1F)): #
return True
return False
```
##### Closest Solution1:
```python=
def _is_chinese_char():
tmp1 = (cp >= 0x4E00 and cp <= 0x9FFF)
tmp2 = (cp >= 0x3400 and cp <= 0x4DBF)
tmp3 = (cp >= 0x20000 and cp <= 0x2A6DF)
tmp4 = (cp >= 0x2F800 and cp <= 0x2FA1F)
if ( tmp1 or tmp2 or tmp3 ): #
return True
if tmp4:
return True
return False
```
```c=
1 0 LOAD_CONST 0 (<code object _is_chinese_char at 0x40022eee40, file "main.py", line 1>)
2 LOAD_CONST 1 ('_is_chinese_char')
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (_is_chinese_char)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object _is_chinese_char at 0x40022eee40, file "main.py", line 1>:
2 0 LOAD_GLOBAL 0 (cp)
2 LOAD_CONST 1 (19968)
4 COMPARE_OP 5 (>=)
6 JUMP_IF_FALSE_OR_POP 14
8 LOAD_GLOBAL 0 (cp)
10 LOAD_CONST 2 (40959)
12 COMPARE_OP 1 (<=)
>> 14 STORE_FAST 0 (tmp1)
3 16 LOAD_GLOBAL 0 (cp)
18 LOAD_CONST 3 (13312)
20 COMPARE_OP 5 (>=)
22 JUMP_IF_FALSE_OR_POP 30
24 LOAD_GLOBAL 0 (cp)
26 LOAD_CONST 4 (19903)
28 COMPARE_OP 1 (<=)
>> 30 STORE_FAST 1 (tmp2)
4 32 LOAD_GLOBAL 0 (cp)
34 LOAD_CONST 5 (131072)
36 COMPARE_OP 5 (>=)
38 JUMP_IF_FALSE_OR_POP 46
40 LOAD_GLOBAL 0 (cp)
42 LOAD_CONST 6 (173791)
44 COMPARE_OP 1 (<=)
>> 46 STORE_FAST 2 (tmp3)
5 48 LOAD_GLOBAL 0 (cp)
50 LOAD_CONST 7 (194560)
52 COMPARE_OP 5 (>=)
54 JUMP_IF_FALSE_OR_POP 62
56 LOAD_GLOBAL 0 (cp)
58 LOAD_CONST 8 (195103)
60 COMPARE_OP 1 (<=)
>> 62 STORE_FAST 3 (tmp4)
6 64 LOAD_FAST 0 (tmp1)
66 POP_JUMP_IF_TRUE 76
68 LOAD_FAST 1 (tmp2)
70 POP_JUMP_IF_TRUE 76
72 LOAD_FAST 2 (tmp3)
74 POP_JUMP_IF_FALSE 80
7 >> 76 LOAD_CONST 9 (True)
78 RETURN_VALUE
8 >> 80 LOAD_FAST 3 (tmp4)
82 POP_JUMP_IF_FALSE 88
9 84 LOAD_CONST 9 (True)
86 RETURN_VALUE
10 >> 88 LOAD_CONST 10 (False)
90 RETURN_VALUE
```
##### MWE1 data:
Bytecode for MWE:
```c=
1 0 LOAD_CONST 0 (<code object _is_chinese_char at 0x40022eee40, file "main.py", line 1>)
2 LOAD_CONST 1 ('_is_chinese_char')
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (_is_chinese_char)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object _is_chinese_char at 0x40022eee40, file "main.py", line 1>:
2 0 LOAD_GLOBAL 0 (cp)
2 LOAD_CONST 1 (19968)
4 COMPARE_OP 5 (>=)
6 POP_JUMP_IF_FALSE 16
8 LOAD_GLOBAL 0 (cp)
10 LOAD_CONST 2 (40959)
12 COMPARE_OP 1 (<=)
14 POP_JUMP_IF_TRUE 64
3 >> 16 LOAD_GLOBAL 0 (cp)
18 LOAD_CONST 3 (13312)
20 COMPARE_OP 5 (>=)
22 POP_JUMP_IF_FALSE 32
24 LOAD_GLOBAL 0 (cp)
26 LOAD_CONST 4 (19903)
28 COMPARE_OP 1 (<=)
30 POP_JUMP_IF_TRUE 64
4 >> 32 LOAD_GLOBAL 0 (cp)
34 LOAD_CONST 5 (131072)
36 COMPARE_OP 5 (>=)
38 POP_JUMP_IF_FALSE 48
40 LOAD_GLOBAL 0 (cp)
42 LOAD_CONST 6 (173791)
44 COMPARE_OP 1 (<=)
46 POP_JUMP_IF_TRUE 64
5 >> 48 LOAD_GLOBAL 0 (cp)
50 LOAD_CONST 7 (194560)
52 COMPARE_OP 5 (>=)
54 POP_JUMP_IF_FALSE 68
56 LOAD_GLOBAL 0 (cp)
58 LOAD_CONST 8 (195103)
60 COMPARE_OP 1 (<=)
62 POP_JUMP_IF_FALSE 68
6 >> 64 LOAD_CONST 9 (True)
66 RETURN_VALUE
8 >> 68 LOAD_CONST 10 (False)
70 RETURN_VALUE
```
Output uncompyle6:
```python=
def _is_chinese_char--- This code section failed: ---
L. 2 0 LOAD_GLOBAL cp
2 LOAD_CONST 19968
4 COMPARE_OP >=
6 POP_JUMP_IF_FALSE 16 'to 16'
8 LOAD_GLOBAL cp
10 LOAD_CONST 40959
12 COMPARE_OP <=
14 POP_JUMP_IF_TRUE 64 'to 64'
16_0 COME_FROM 6 '6'
L. 3 16 LOAD_GLOBAL cp
18 LOAD_CONST 13312
20 COMPARE_OP >=
22 POP_JUMP_IF_FALSE 32 'to 32'
24 LOAD_GLOBAL cp
26 LOAD_CONST 19903
28 COMPARE_OP <=
30 POP_JUMP_IF_TRUE 64 'to 64'
32_0 COME_FROM 22 '22'
L. 4 32 LOAD_GLOBAL cp
34 LOAD_CONST 131072
36 COMPARE_OP >=
38 POP_JUMP_IF_FALSE 48 'to 48'
40 LOAD_GLOBAL cp
42 LOAD_CONST 173791
44 COMPARE_OP <=
46 POP_JUMP_IF_TRUE 64 'to 64'
48_0 COME_FROM 38 '38'
L. 5 48 LOAD_GLOBAL cp
50 LOAD_CONST 194560
52 COMPARE_OP >=
54 POP_JUMP_IF_FALSE 68 'to 68'
56 LOAD_GLOBAL cp
58 LOAD_CONST 195103
60 COMPARE_OP <=
62 POP_JUMP_IF_FALSE 68 'to 68'
64_0 COME_FROM 46 '46'
64_1 COME_FROM 30 '30'
64_2 COME_FROM 14 '14'
L. 6 64 LOAD_CONST True
66 RETURN_VALUE
68_0 COME_FROM 62 '62'
68_1 COME_FROM 54 '54'
L. 8 68 LOAD_CONST False
70 RETURN_VALUE
-1 RETURN_LAST
Parse error at or near `COME_FROM' instruction at offset 68_1
```
Output Decompyle3:
```python=
def _is_chinese_char():
if not (cp >= 19968 and cp <= 40959):
if cp >= 13312 and not cp <= 19903:
if cp >= 131072 and not cp <= 173791:
if not cp >= 194560 or cp <= 195103:
return True
return False
```
#### MWE2:
```python=
def _is_whitespace():
if char == " " or char == "\t" or char == "\n" or char == "\r":
return True
return False
```
##### Closest Solution2:
```python=
def _is_whitespace():
tmp1 = char == " " or char == "\t"
if tmp1 or char == "\n" or char == "\r":
return True
return False
```
```c=
1 0 LOAD_CONST 0 (<code object _is_whitespace at 0x40022eee40, file "main.py", line 1>)
2 LOAD_CONST 1 ('_is_whitespace')
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (_is_whitespace)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object _is_whitespace at 0x40022eee40, file "main.py", line 1>:
2 0 LOAD_GLOBAL 0 (char)
2 LOAD_CONST 1 (' ')
4 COMPARE_OP 2 (==)
6 JUMP_IF_TRUE_OR_POP 14
8 LOAD_GLOBAL 0 (char)
10 LOAD_CONST 2 ('\t')
12 COMPARE_OP 2 (==)
>> 14 STORE_FAST 0 (tmp1)
3 16 LOAD_FAST 0 (tmp1)
18 POP_JUMP_IF_TRUE 36
20 LOAD_GLOBAL 0 (char)
22 LOAD_CONST 3 ('\n')
24 COMPARE_OP 2 (==)
26 POP_JUMP_IF_TRUE 36
28 LOAD_GLOBAL 0 (char)
30 LOAD_CONST 4 ('\r')
32 COMPARE_OP 2 (==)
34 POP_JUMP_IF_FALSE 40
4 >> 36 LOAD_CONST 5 (True)
38 RETURN_VALUE
5 >> 40 LOAD_CONST 6 (False)
42 RETURN_VALUE
```
##### MWE2 data:
Bytecode for MWE:
```c=
1 0 LOAD_CONST 0 (<code object _is_whitespace at 0x40022eee40, file "main.py", line 1>)
2 LOAD_CONST 1 ('_is_whitespace')
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (_is_whitespace)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object _is_whitespace at 0x40022eee40, file "main.py", line 1>:
2 0 LOAD_GLOBAL 0 (char)
2 LOAD_CONST 1 (' ')
4 COMPARE_OP 2 (==)
6 POP_JUMP_IF_TRUE 32
8 LOAD_GLOBAL 0 (char)
10 LOAD_CONST 2 ('\t')
12 COMPARE_OP 2 (==)
14 POP_JUMP_IF_TRUE 32
16 LOAD_GLOBAL 0 (char)
18 LOAD_CONST 3 ('\n')
20 COMPARE_OP 2 (==)
22 POP_JUMP_IF_TRUE 32
24 LOAD_GLOBAL 0 (char)
26 LOAD_CONST 4 ('\r')
28 COMPARE_OP 2 (==)
30 POP_JUMP_IF_FALSE 36
3 >> 32 LOAD_CONST 5 (True)
34 RETURN_VALUE
4 >> 36 LOAD_CONST 6 (False)
38 RETURN_VALUE
```
Output uncompyle6:
```python=
def _is_whitespace--- This code section failed: ---
L. 2 0 LOAD_GLOBAL char
2 LOAD_STR ' '
4 COMPARE_OP ==
6 POP_JUMP_IF_TRUE 32 'to 32'
8 LOAD_GLOBAL char
10 LOAD_STR '\t'
12 COMPARE_OP ==
14 POP_JUMP_IF_TRUE 32 'to 32'
16 LOAD_GLOBAL char
18 LOAD_STR '\n'
20 COMPARE_OP ==
22 POP_JUMP_IF_TRUE 32 'to 32'
24 LOAD_GLOBAL char
26 LOAD_STR '\r'
28 COMPARE_OP ==
30 POP_JUMP_IF_FALSE 36 'to 36'
32_0 COME_FROM 22 '22'
32_1 COME_FROM 14 '14'
32_2 COME_FROM 6 '6'
L. 3 32 LOAD_CONST True
34 RETURN_VALUE
36_0 COME_FROM 30 '30'
L. 4 36 LOAD_CONST False
38 RETURN_VALUE
-1 RETURN_LAST
Parse error at or near `RETURN_VALUE' instruction at offset 38
```
Output Decompyle3:
```python=
def _is_whitespace():
if not char == ' ':
if char == '\t' or (char == '\n' or char == '\r'):
return True
return False
```
#### MWE3:
```python=
def _is_punctuation():
if ((cp >= 33 and cp <= 47) or (cp >= 58 and cp <= 64) or
(cp >= 91 and cp <= 96) or (cp >= 123 and cp <= 126)):
return True
return False
```
##### Closest Solution3:
```python=
def _is_punctuation():
tmp1 = (cp >= 33 and cp <= 47) or (cp >= 58 and cp <= 64)
if ( tmp1 or
(cp >= 91 and cp <= 96) or (cp >= 123 and cp <= 126)):
return True
return False
```
```c=
1 0 LOAD_CONST 0 (<code object _is_punctuation at 0x40022eee40, file "main.py", line 1>)
2 LOAD_CONST 1 ('_is_punctuation')
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (_is_punctuation)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object _is_punctuation at 0x40022eee40, file "main.py", line 1>:
2 0 LOAD_GLOBAL 0 (cp)
2 LOAD_CONST 1 (33)
4 COMPARE_OP 5 (>=)
6 POP_JUMP_IF_FALSE 16
8 LOAD_GLOBAL 0 (cp)
10 LOAD_CONST 2 (47)
12 COMPARE_OP 1 (<=)
14 JUMP_IF_TRUE_OR_POP 30
>> 16 LOAD_GLOBAL 0 (cp)
18 LOAD_CONST 3 (58)
20 COMPARE_OP 5 (>=)
22 JUMP_IF_FALSE_OR_POP 30
24 LOAD_GLOBAL 0 (cp)
26 LOAD_CONST 4 (64)
28 COMPARE_OP 1 (<=)
>> 30 STORE_FAST 0 (tmp1)
3 32 LOAD_FAST 0 (tmp1)
34 POP_JUMP_IF_TRUE 68
4 36 LOAD_GLOBAL 0 (cp)
38 LOAD_CONST 5 (91)
40 COMPARE_OP 5 (>=)
42 POP_JUMP_IF_FALSE 52
44 LOAD_GLOBAL 0 (cp)
46 LOAD_CONST 6 (96)
48 COMPARE_OP 1 (<=)
50 POP_JUMP_IF_TRUE 68
>> 52 LOAD_GLOBAL 0 (cp)
54 LOAD_CONST 7 (123)
56 COMPARE_OP 5 (>=)
58 POP_JUMP_IF_FALSE 72
60 LOAD_GLOBAL 0 (cp)
62 LOAD_CONST 8 (126)
64 COMPARE_OP 1 (<=)
66 POP_JUMP_IF_FALSE 72
5 >> 68 LOAD_CONST 9 (True)
70 RETURN_VALUE
6 >> 72 LOAD_CONST 10 (False)
74 RETURN_VALUE
```
##### MWE3 data:
Bytecode for MWE:
```c=
1 0 LOAD_CONST 0 (<code object _is_punctuation at 0x40022eee40, file "main.py", line 1>)
2 LOAD_CONST 1 ('_is_punctuation')
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (_is_punctuation)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object _is_punctuation at 0x40022eee40, file "main.py", line 1>:
2 0 LOAD_GLOBAL 0 (cp)
2 LOAD_CONST 1 (33)
4 COMPARE_OP 5 (>=)
6 POP_JUMP_IF_FALSE 16
8 LOAD_GLOBAL 0 (cp)
10 LOAD_CONST 2 (47)
12 COMPARE_OP 1 (<=)
14 POP_JUMP_IF_TRUE 64
>> 16 LOAD_GLOBAL 0 (cp)
18 LOAD_CONST 3 (58)
20 COMPARE_OP 5 (>=)
22 POP_JUMP_IF_FALSE 32
24 LOAD_GLOBAL 0 (cp)
26 LOAD_CONST 4 (64)
28 COMPARE_OP 1 (<=)
30 POP_JUMP_IF_TRUE 64
3 >> 32 LOAD_GLOBAL 0 (cp)
34 LOAD_CONST 5 (91)
36 COMPARE_OP 5 (>=)
38 POP_JUMP_IF_FALSE 48
40 LOAD_GLOBAL 0 (cp)
42 LOAD_CONST 6 (96)
44 COMPARE_OP 1 (<=)
46 POP_JUMP_IF_TRUE 64
>> 48 LOAD_GLOBAL 0 (cp)
50 LOAD_CONST 7 (123)
52 COMPARE_OP 5 (>=)
54 POP_JUMP_IF_FALSE 68
56 LOAD_GLOBAL 0 (cp)
58 LOAD_CONST 8 (126)
60 COMPARE_OP 1 (<=)
62 POP_JUMP_IF_FALSE 68
4 >> 64 LOAD_CONST 9 (True)
66 RETURN_VALUE
5 >> 68 LOAD_CONST 10 (False)
70 RETURN_VALUE
```
Output uncompyle6:
```python=
def _is_punctuation--- This code section failed: ---
L. 2 0 LOAD_GLOBAL cp
2 LOAD_CONST 33
4 COMPARE_OP >=
6 POP_JUMP_IF_FALSE 16 'to 16'
8 LOAD_GLOBAL cp
10 LOAD_CONST 47
12 COMPARE_OP <=
14 POP_JUMP_IF_TRUE 64 'to 64'
16_0 COME_FROM 6 '6'
16 LOAD_GLOBAL cp
18 LOAD_CONST 58
20 COMPARE_OP >=
22 POP_JUMP_IF_FALSE 32 'to 32'
24 LOAD_GLOBAL cp
26 LOAD_CONST 64
28 COMPARE_OP <=
30 POP_JUMP_IF_TRUE 64 'to 64'
32_0 COME_FROM 22 '22'
L. 3 32 LOAD_GLOBAL cp
34 LOAD_CONST 91
36 COMPARE_OP >=
38 POP_JUMP_IF_FALSE 48 'to 48'
40 LOAD_GLOBAL cp
42 LOAD_CONST 96
44 COMPARE_OP <=
46 POP_JUMP_IF_TRUE 64 'to 64'
48_0 COME_FROM 38 '38'
48 LOAD_GLOBAL cp
50 LOAD_CONST 123
52 COMPARE_OP >=
54 POP_JUMP_IF_FALSE 68 'to 68'
56 LOAD_GLOBAL cp
58 LOAD_CONST 126
60 COMPARE_OP <=
62 POP_JUMP_IF_FALSE 68 'to 68'
64_0 COME_FROM 46 '46'
64_1 COME_FROM 30 '30'
64_2 COME_FROM 14 '14'
L. 4 64 LOAD_CONST True
66 RETURN_VALUE
68_0 COME_FROM 62 '62'
68_1 COME_FROM 54 '54'
L. 5 68 LOAD_CONST False
70 RETURN_VALUE
-1 RETURN_LAST
Parse error at or near `COME_FROM' instruction at offset 68_1
```
Output Decompyle3:
```python=
def _is_punctuation():
if not (cp >= 33 and cp <= 47):
if cp >= 58 and not cp <= 64:
if cp >= 91 and not cp <= 96:
if not cp >= 123 or cp <= 126:
return True
return False
```
## Error 1/65 - Cannot recreate Py 2.7
Source: [link](https://pypi.org/project/bytecodehacks/#files)
Python version: 2.7
Decompyle3: Unsupported
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`
| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- |
| Pass | Pass | Pass | Pass |
### MWE:
```python=
def post_do(self):
assert Old.self.x == self.x
assert Old.self.y == self.y
assert Result > 0, "Result was %s"%`Result`
```
## Error 1/66 - Cannot recreate Py 2.7
Source: [link](https://github.com/saitoha/tff/blob/6b3ea4c6a83cdb7d0b0c4f37d899588ccd0606c0/tff.py#L1277)
Python version: 2.7
Decompyle3: Unsupported
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`
| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- |
| Pass | Pass | Pass | Pass |
> NOTE: The MWE could not be recreated after recompiling through python 2.7. Will take a closer look into this later.
## Error 1/67
Source: [link](https://github.com/sgammon/canteen/blob/3bef22a2059ef6ac5df178324fbc1dba45316e22/canteen/base/handler.py#L217)
Python version: 2.7
Decompyle3: Unsupported
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`
| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- |
| Fail | Fail | Fail | Fail |
### MWE:
```python=
def respond():
return x or y if z else a
```
#### Closest Solution:
```python=
def respond():
tmp = x or y if z else a
return tmp
```
```c=
1 0 LOAD_CONST 0 (<code object respond at 0x400203c530, file "main.py", line 1>)
3 MAKE_FUNCTION 0
6 STORE_NAME 0 (respond)
9 LOAD_CONST 1 (None)
12 RETURN_VALUE
Disassembly of respond:
2 0 LOAD_GLOBAL 0 (z)
3 POP_JUMP_IF_FALSE 18
6 LOAD_GLOBAL 1 (x)
9 JUMP_IF_TRUE_OR_POP 21
12 LOAD_GLOBAL 2 (y)
15 JUMP_FORWARD 3 (to 21)
>> 18 LOAD_GLOBAL 3 (a)
>> 21 STORE_FAST 0 (tmp)
3 24 LOAD_FAST 0 (tmp)
27 RETURN_VALUE
```
#### MWE data:
Bytecode for MWE:
```c=
1 0 LOAD_CONST 0 (<code object respond at 0x400203c530, file "main.py", line 1>)
3 MAKE_FUNCTION 0
6 STORE_NAME 0 (respond)
9 LOAD_CONST 1 (None)
12 RETURN_VALUE
Disassembly of respond:
2 0 LOAD_GLOBAL 0 (z)
3 POP_JUMP_IF_FALSE 16
6 LOAD_GLOBAL 1 (x)
9 JUMP_IF_TRUE_OR_POP 19
12 LOAD_GLOBAL 2 (y)
15 RETURN_VALUE
>> 16 LOAD_GLOBAL 3 (a)
>> 19 RETURN_VALUE
```
Output uncompyle6:
```python=
def respond--- This code section failed: ---
L. 2 0 LOAD_GLOBAL 0 'z'
3 POP_JUMP_IF_FALSE 16 'to 16'
6 LOAD_GLOBAL 1 'x'
9 JUMP_IF_TRUE_OR_POP 19 'to 19'
12 LOAD_GLOBAL 2 'y'
15 RETURN_END_IF
16_0 COME_FROM 9 '9'
16_1 COME_FROM 3 '3'
16 LOAD_GLOBAL 3 'a'
19 RETURN_VALUE
-1 RETURN_LAST
Parse error at or near `None' instruction at offset -1
```
Output Decompyle3:
```python=
Traceback (most recent call last):
File "/usr/local/bin/decompyle3", line 5, in <module>
from decompyle3.bin.decompile import main_bin
File "/usr/local/lib/python2.7/site-packages/decompyle3/__init__.py", line 39
PYTHON_VERSION: float = sys.version_info[0] + (sys.version_info[1] / 10.0)
^
SyntaxError: invalid syntax
```
## Error 1/68
Source: [link](https://pypi.org/project/caspredict/#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 is_fasta():
try:
with open(fasta, 'r') as handle:
fa = z()
return False
except:
pass
```
#### Closest Solution:
```python=
def is_fasta():
try:
tmp = False
with open(fasta, 'r') as handle:
fa = z()
tmp = True
except:
pass
else:
z =z
if tmp: return False
```
```c=
1 0 LOAD_CONST 0 (<code object is_fasta at 0x400246ea80, file "main.py", line 1>)
2 LOAD_CONST 1 ('is_fasta')
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (is_fasta)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object is_fasta at 0x400246ea80, file "main.py", line 1>:
2 0 SETUP_FINALLY 40 (to 42)
3 2 LOAD_CONST 1 (False)
4 STORE_FAST 0 (tmp)
4 6 LOAD_GLOBAL 0 (open)
8 LOAD_GLOBAL 1 (fasta)
10 LOAD_CONST 2 ('r')
12 CALL_FUNCTION 2
14 SETUP_WITH 16 (to 32)
16 STORE_FAST 1 (handle)
5 18 LOAD_FAST 2 (z)
20 CALL_FUNCTION 0
22 STORE_FAST 3 (fa)
6 24 LOAD_CONST 3 (True)
26 STORE_FAST 0 (tmp)
28 POP_BLOCK
30 BEGIN_FINALLY
>> 32 WITH_CLEANUP_START
34 WITH_CLEANUP_FINISH
36 END_FINALLY
38 POP_BLOCK
40 JUMP_FORWARD 12 (to 54)
7 >> 42 POP_TOP
44 POP_TOP
46 POP_TOP
8 48 POP_EXCEPT
50 JUMP_FORWARD 6 (to 58)
52 END_FINALLY
10 >> 54 LOAD_FAST 2 (z)
56 STORE_FAST 2 (z)
11 >> 58 LOAD_FAST 0 (tmp)
60 POP_JUMP_IF_FALSE 66
62 LOAD_CONST 1 (False)
64 RETURN_VALUE
>> 66 LOAD_CONST 0 (None)
68 RETURN_VALUE
```
#### MWE data:
Bytecode for MWE:
```c=
1 0 LOAD_CONST 0 (<code object is_fasta at 0x40021aeb30, file "main.py", line 1>)
2 LOAD_CONST 1 ('is_fasta')
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (is_fasta)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object is_fasta at 0x40021aeb30, file "main.py", line 1>:
2 0 SETUP_FINALLY 44 (to 46)
3 2 LOAD_GLOBAL 0 (open)
4 LOAD_GLOBAL 1 (fasta)
6 LOAD_CONST 1 ('r')
8 CALL_FUNCTION 2
10 SETUP_WITH 24 (to 36)
12 STORE_FAST 0 (handle)
4 14 LOAD_GLOBAL 2 (z)
16 CALL_FUNCTION 0
18 STORE_FAST 1 (fa)
5 20 POP_BLOCK
22 BEGIN_FINALLY
24 WITH_CLEANUP_START
26 WITH_CLEANUP_FINISH
28 POP_FINALLY 0
30 POP_BLOCK
32 LOAD_CONST 2 (False)
34 RETURN_VALUE
>> 36 WITH_CLEANUP_START
38 WITH_CLEANUP_FINISH
40 END_FINALLY
42 POP_BLOCK
44 JUMP_FORWARD 12 (to 58)
6 >> 46 POP_TOP
48 POP_TOP
50 POP_TOP
7 52 POP_EXCEPT
54 JUMP_FORWARD 2 (to 58)
56 END_FINALLY
>> 58 LOAD_CONST 0 (None)
60 RETURN_VALUE
```
Output uncompyle6:
```python=
def is_fasta--- This code section failed: ---
L. 2 0 SETUP_FINALLY 46 'to 46'
L. 3 2 LOAD_GLOBAL open
4 LOAD_GLOBAL fasta
6 LOAD_STR 'r'
8 CALL_FUNCTION_2 2 ''
10 SETUP_WITH 36 'to 36'
12 STORE_FAST 'handle'
L. 4 14 LOAD_GLOBAL z
16 CALL_FUNCTION_0 0 ''
18 STORE_FAST 'fa'
L. 5 20 POP_BLOCK
22 BEGIN_FINALLY
24 WITH_CLEANUP_START
26 WITH_CLEANUP_FINISH
28 POP_FINALLY 0 ''
30 POP_BLOCK
32 LOAD_CONST False
34 RETURN_VALUE
36_0 COME_FROM_WITH 10 '10'
36 WITH_CLEANUP_START
38 WITH_CLEANUP_FINISH
40 END_FINALLY
42 POP_BLOCK
44 JUMP_FORWARD 58 'to 58'
46_0 COME_FROM_FINALLY 0 '0'
L. 6 46 POP_TOP
48 POP_TOP
50 POP_TOP
L. 7 52 POP_EXCEPT
54 JUMP_FORWARD 58 'to 58'
56 END_FINALLY
58_0 COME_FROM 54 '54'
58_1 COME_FROM 44 '44'
Parse error at or near `WITH_CLEANUP_START' instruction at offset 24
```
Output Decompyle3:
```python=
Instruction context:
L. 5 20 POP_BLOCK
22 BEGIN_FINALLY
-> 24 WITH_CLEANUP_START
26 WITH_CLEANUP_FINISH
28 POP_FINALLY 0 ''
30 POP_BLOCK
32 LOAD_CONST False
34 RETURN_VALUE
36_0 COME_FROM_WITH 10 '10'
36 WITH_CLEANUP_START
38 WITH_CLEANUP_FINISH
40 END_FINALLY
42 POP_BLOCK
44 JUMP_FORWARD 58 'to 58'
46_0 COME_FROM_FINALLY 0 '0'
test/main.pyc --
# decompile failed
# file test/main.pyc
# Deparsing stopped due to parse error
```
## Error 1/69
Source: [link](https://github.com/catenae/catenae-kafka/blob/36439737bcd9f8f9ccf4aa2d37bb59a675911900/catenae/link.py#L739)
Python version: 3.7
Decompyle3: Works-Incorrect
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`
| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- |
| Pass-Incorrect | Fail | Pass | Pass |
### MWE:
```python=
def _kafka_main_consumer():
while (a or b or c) and d:
continue
```
#### Closest Solution:
```python=
def _kafka_main_consumer():
tmp = a or b or c
while (tmp) and d:
tmp = a or b or c
continue
```
```c=
1 0 LOAD_CONST 0 (<code object _kafka_main_consumer at 0x40022eee40, file "main.py", line 1>)
2 LOAD_CONST 1 ('_kafka_main_consumer')
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (_kafka_main_consumer)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object _kafka_main_consumer at 0x40022eee40, file "main.py", line 1>:
2 0 LOAD_GLOBAL 0 (a)
2 JUMP_IF_TRUE_OR_POP 10
4 LOAD_GLOBAL 1 (b)
6 JUMP_IF_TRUE_OR_POP 10
8 LOAD_GLOBAL 2 (c)
>> 10 STORE_FAST 0 (tmp)
3 12 SETUP_LOOP 26 (to 40)
>> 14 LOAD_FAST 0 (tmp)
16 POP_JUMP_IF_FALSE 38
18 LOAD_GLOBAL 3 (d)
20 POP_JUMP_IF_FALSE 38
4 22 LOAD_GLOBAL 0 (a)
24 JUMP_IF_TRUE_OR_POP 32
26 LOAD_GLOBAL 1 (b)
28 JUMP_IF_TRUE_OR_POP 32
30 LOAD_GLOBAL 2 (c)
>> 32 STORE_FAST 0 (tmp)
5 34 JUMP_ABSOLUTE 14
36 JUMP_ABSOLUTE 14
>> 38 POP_BLOCK
>> 40 LOAD_CONST 0 (None)
42 RETURN_VALUE
```
#### MWE data:
Bytecode for MWE:
```c=
1 0 LOAD_CONST 0 (<code object _kafka_main_consumer at 0x40022eee40, file "main.py", line 1>)
2 LOAD_CONST 1 ('_kafka_main_consumer')
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (_kafka_main_consumer)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object _kafka_main_consumer at 0x40022eee40, file "main.py", line 1>:
2 0 SETUP_LOOP 22 (to 24)
>> 2 LOAD_GLOBAL 0 (a)
4 POP_JUMP_IF_TRUE 14
6 LOAD_GLOBAL 1 (b)
8 POP_JUMP_IF_TRUE 14
10 LOAD_GLOBAL 2 (c)
12 POP_JUMP_IF_FALSE 22
>> 14 LOAD_GLOBAL 3 (d)
16 POP_JUMP_IF_FALSE 22
3 18 JUMP_ABSOLUTE 2
20 JUMP_ABSOLUTE 2
>> 22 POP_BLOCK
>> 24 LOAD_CONST 0 (None)
26 RETURN_VALUE
```
Output uncompyle6:
```python=
def _kafka_main_consumer--- This code section failed: ---
L. 2 0 SETUP_LOOP 24 'to 24'
2 LOAD_GLOBAL a
4 POP_JUMP_IF_TRUE 14 'to 14'
6 LOAD_GLOBAL b
8 POP_JUMP_IF_TRUE 14 'to 14'
10 LOAD_GLOBAL c
12 POP_JUMP_IF_FALSE 22 'to 22'
14_0 COME_FROM 8 '8'
14_1 COME_FROM 4 '4'
14 LOAD_GLOBAL d
16 POP_JUMP_IF_FALSE 22 'to 22'
L. 3 18 CONTINUE 2 'to 2'
20 JUMP_BACK 2 'to 2'
22_0 COME_FROM 16 '16'
22_1 COME_FROM 12 '12'
22 POP_BLOCK
24_0 COME_FROM_LOOP 0 '0'
Parse error at or near `POP_BLOCK' instruction at offset 22
```
Output Decompyle3:
```python=
def _kafka_main_consumer():
while a or b or c:
if d:
continue
```
## Error 1/70
Source: [link](https://catsoop.mit.edu/cgit/catsoop.git/tree/catsoop/__QTYPES__/expression/expression.py?h=v2019.9.5&id=a7078f545ed996bccfadb5dd0094ed49e3e34b71)
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 |
### MWE:
#### MWE1:
```python=
def check_numpy():
try:
x()
return True
except:
pass
```
##### Closest Solution1:
```python=
def check_numpy():
tmp = False
try:
x()
tmp = True
except:
pass
else:
z=z
if tmp: return True
```
```c=
1 0 LOAD_CONST 0 (<code object check_numpy at 0x400246eb30, file "main.py", line 1>)
2 LOAD_CONST 1 ('check_numpy')
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (check_numpy)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object check_numpy at 0x400246eb30, file "main.py", line 1>:
2 0 LOAD_CONST 1 (False)
2 STORE_FAST 0 (tmp)
3 4 SETUP_FINALLY 14 (to 20)
4 6 LOAD_GLOBAL 0 (x)
8 CALL_FUNCTION 0
10 POP_TOP
5 12 LOAD_CONST 2 (True)
14 STORE_FAST 0 (tmp)
16 POP_BLOCK
18 JUMP_FORWARD 12 (to 32)
6 >> 20 POP_TOP
22 POP_TOP
24 POP_TOP
7 26 POP_EXCEPT
28 JUMP_FORWARD 6 (to 36)
30 END_FINALLY
9 >> 32 LOAD_FAST 1 (z)
34 STORE_FAST 1 (z)
10 >> 36 LOAD_FAST 0 (tmp)
38 POP_JUMP_IF_FALSE 44
40 LOAD_CONST 2 (True)
42 RETURN_VALUE
>> 44 LOAD_CONST 0 (None)
46 RETURN_VALUE
```
##### MWE data1:
Bytecode for MWE:
```c=
1 0 LOAD_CONST 0 (<code object check_numpy at 0x40021aea80, file "main.py", line 1>)
2 LOAD_CONST 1 ('check_numpy')
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (check_numpy)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object check_numpy at 0x40021aea80, file "main.py", line 1>:
2 0 SETUP_FINALLY 12 (to 14)
3 2 LOAD_GLOBAL 0 (x)
4 CALL_FUNCTION 0
6 POP_TOP
4 8 POP_BLOCK
10 LOAD_CONST 1 (True)
12 RETURN_VALUE
5 >> 14 POP_TOP
16 POP_TOP
18 POP_TOP
6 20 POP_EXCEPT
22 JUMP_FORWARD 2 (to 26)
24 END_FINALLY
>> 26 LOAD_CONST 0 (None)
28 RETURN_VALUE
```
Output uncompyle6:
```python=
def check_numpy--- This code section failed: ---
L. 2 0 SETUP_FINALLY 14 'to 14'
L. 3 2 LOAD_GLOBAL x
4 CALL_FUNCTION_0 0 ''
6 POP_TOP
L. 4 8 POP_BLOCK
10 LOAD_CONST True
12 RETURN_VALUE
14_0 COME_FROM_FINALLY 0 '0'
L. 5 14 POP_TOP
16 POP_TOP
18 POP_TOP
L. 6 20 POP_EXCEPT
22 JUMP_FORWARD 26 'to 26'
24 END_FINALLY
26_0 COME_FROM 22 '22'
Parse error at or near `RETURN_VALUE' instruction at offset 12
```
Output Decompyle3:
```python=
Instruction context:
L. 6 20 POP_EXCEPT
-> 22 JUMP_FORWARD 26 'to 26'
24 END_FINALLY
test/main.pyc --
# decompile failed
# file test/main.pyc
# Deparsing stopped due to parse error
```
#### MWE2:
```python=
def _run_one_test():
for m in maps_to_try:
try:
pass
except:
return False
```
##### Closest Solution2:
```python=
def _run_one_test():
for m in maps_to_try:
tmp = False
try:
pass
except:
tmp = True
else:
z=z
if tmp: return False
```
```c=
1 0 LOAD_CONST 0 (<code object _run_one_test at 0x40021aeb30, file "main.py", line 1>)
2 LOAD_CONST 1 ('_run_one_test')
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (_run_one_test)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object _run_one_test at 0x40021aeb30, file "main.py", line 1>:
2 0 LOAD_GLOBAL 0 (maps_to_try)
2 GET_ITER
>> 4 FOR_ITER 44 (to 50)
6 STORE_FAST 0 (m)
3 8 LOAD_CONST 1 (False)
10 STORE_FAST 1 (tmp)
4 12 SETUP_FINALLY 4 (to 18)
5 14 POP_BLOCK
16 JUMP_FORWARD 16 (to 34)
6 >> 18 POP_TOP
20 POP_TOP
22 POP_TOP
7 24 LOAD_CONST 2 (True)
26 STORE_FAST 1 (tmp)
28 POP_EXCEPT
30 JUMP_FORWARD 6 (to 38)
32 END_FINALLY
9 >> 34 LOAD_FAST 2 (z)
36 STORE_FAST 2 (z)
10 >> 38 LOAD_FAST 1 (tmp)
40 POP_JUMP_IF_FALSE 4
42 POP_TOP
44 LOAD_CONST 1 (False)
46 RETURN_VALUE
48 JUMP_ABSOLUTE 4
>> 50 LOAD_CONST 0 (None)
52 RETURN_VALUE
```
##### MWE data2:
Bytecode for MWE:
```c=
1 0 LOAD_CONST 0 (<code object _run_one_test at 0x40021eebe0, file "main.py", line 1>)
2 LOAD_CONST 1 ('_run_one_test')
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (_run_one_test)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object _run_one_test at 0x40021eebe0, file "main.py", line 1>:
2 0 LOAD_GLOBAL 0 (maps_to_try)
2 GET_ITER
>> 4 FOR_ITER 26 (to 32)
6 STORE_FAST 0 (m)
3 8 SETUP_FINALLY 4 (to 14)
4 10 POP_BLOCK
12 JUMP_ABSOLUTE 4
5 >> 14 POP_TOP
16 POP_TOP
18 POP_TOP
6 20 POP_EXCEPT
22 POP_TOP
24 LOAD_CONST 1 (False)
26 RETURN_VALUE
28 END_FINALLY
30 JUMP_ABSOLUTE 4
>> 32 LOAD_CONST 0 (None)
34 RETURN_VALUE
```
Output uncompyle6:
```python=
def _run_one_test--- This code section failed: ---
L. 2 0 LOAD_GLOBAL maps_to_try
2 GET_ITER
4 FOR_ITER 32 'to 32'
6 STORE_FAST 'm'
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 POP_TOP
16 POP_TOP
18 POP_TOP
L. 6 20 POP_EXCEPT
22 POP_TOP
24 LOAD_CONST False
26 RETURN_VALUE
28 END_FINALLY
30 JUMP_BACK 4 'to 4'
Parse error at or near `POP_TOP' instruction at offset 22
```
Output Decompyle3:
```python=
Instruction context:
L. 6 20 POP_EXCEPT
-> 22 POP_TOP
24 LOAD_CONST False
26 RETURN_VALUE
28 END_FINALLY
30 JUMP_BACK 4 'to 4'
test/main.pyc --
# decompile failed
# file test/main.pyc
# Deparsing stopped due to parse error
```
#### MWE3:
```python=
def handle_submission():
with x():
try:
pass
except:
return tmp
```
##### Closest Solution3:
```python=
def handle_submission():
t = False
with x():
try:
pass
except:
t = True
if t: return tmp
```
```c=
1 0 LOAD_CONST 0 (<code object handle_submission at 0x400246eb30, file "main.py", line 1>)
2 LOAD_CONST 1 ('handle_submission')
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (handle_submission)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object handle_submission at 0x400246eb30, file "main.py", line 1>:
2 0 LOAD_CONST 1 (False)
2 STORE_FAST 0 (t)
3 4 LOAD_GLOBAL 0 (x)
6 CALL_FUNCTION 0
8 SETUP_WITH 28 (to 38)
10 POP_TOP
4 12 SETUP_FINALLY 4 (to 18)
5 14 POP_BLOCK
16 JUMP_FORWARD 16 (to 34)
6 >> 18 POP_TOP
20 POP_TOP
22 POP_TOP
7 24 LOAD_CONST 2 (True)
26 STORE_FAST 0 (t)
28 POP_EXCEPT
30 JUMP_FORWARD 2 (to 34)
32 END_FINALLY
>> 34 POP_BLOCK
36 BEGIN_FINALLY
>> 38 WITH_CLEANUP_START
40 WITH_CLEANUP_FINISH
42 END_FINALLY
9 44 LOAD_FAST 0 (t)
46 POP_JUMP_IF_FALSE 52
48 LOAD_GLOBAL 1 (tmp)
50 RETURN_VALUE
>> 52 LOAD_CONST 0 (None)
54 RETURN_VALUE
```
##### MWE data3:
Bytecode for MWE:
```c=
1 0 LOAD_CONST 0 (<code object handle_submission at 0x40021aea80, file "main.py", line 1>)
2 LOAD_CONST 1 ('handle_submission')
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (handle_submission)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object handle_submission at 0x40021aea80, file "main.py", line 1>:
2 0 LOAD_GLOBAL 0 (x)
2 CALL_FUNCTION 0
4 SETUP_WITH 40 (to 46)
6 POP_TOP
3 8 SETUP_FINALLY 4 (to 14)
4 10 POP_BLOCK
12 JUMP_FORWARD 28 (to 42)
5 >> 14 POP_TOP
16 POP_TOP
18 POP_TOP
6 20 LOAD_GLOBAL 1 (tmp)
22 ROT_FOUR
24 POP_EXCEPT
26 POP_BLOCK
28 ROT_TWO
30 BEGIN_FINALLY
32 WITH_CLEANUP_START
34 WITH_CLEANUP_FINISH
36 POP_FINALLY 0
38 RETURN_VALUE
40 END_FINALLY
>> 42 POP_BLOCK
44 BEGIN_FINALLY
>> 46 WITH_CLEANUP_START
48 WITH_CLEANUP_FINISH
50 END_FINALLY
52 LOAD_CONST 0 (None)
54 RETURN_VALUE
```
Output uncompyle6:
```python=
def handle_submission--- This code section failed: ---
L. 2 0 LOAD_GLOBAL x
2 CALL_FUNCTION_0 0 ''
4 SETUP_WITH 46 'to 46'
6 POP_TOP
L. 3 8 SETUP_FINALLY 14 'to 14'
L. 4 10 POP_BLOCK
12 JUMP_FORWARD 42 'to 42'
14_0 COME_FROM_FINALLY 8 '8'
L. 5 14 POP_TOP
16 POP_TOP
18 POP_TOP
L. 6 20 LOAD_GLOBAL tmp
22 ROT_FOUR
24 POP_EXCEPT
26 POP_BLOCK
28 ROT_TWO
30 BEGIN_FINALLY
32 WITH_CLEANUP_START
34 WITH_CLEANUP_FINISH
36 POP_FINALLY 0 ''
38 RETURN_VALUE
40 END_FINALLY
42_0 COME_FROM 12 '12'
42 POP_BLOCK
44 BEGIN_FINALLY
46_0 COME_FROM_WITH 4 '4'
46 WITH_CLEANUP_START
48 WITH_CLEANUP_FINISH
50 END_FINALLY
Parse error at or near `POP_BLOCK' instruction at offset 26
```
Output Decompyle3:
```python=
Instruction context:
L. 6 20 LOAD_GLOBAL tmp
22 ROT_FOUR
24 POP_EXCEPT
-> 26 POP_BLOCK
28 ROT_TWO
30 BEGIN_FINALLY
32 WITH_CLEANUP_START
34 WITH_CLEANUP_FINISH
36 POP_FINALLY 0 ''
38 RETURN_VALUE
40 END_FINALLY
42_0 COME_FROM 12 '12'
42 POP_BLOCK
44 BEGIN_FINALLY
46_0 COME_FROM_WITH 4 '4'
46 WITH_CLEANUP_START
48 WITH_CLEANUP_FINISH
test/main.pyc --
# decompile failed
# file test/main.pyc
# Deparsing stopped due to parse error
```
## Error 1/71
Source: [link](https://catsoop.mit.edu/cgit/catsoop.git/tree/catsoop/__QTYPES__/pythoncode/pythoncode.py?h=v2019.9.5&id=a7078f545ed996bccfadb5dd0094ed49e3e34b71#n222)
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 handle_submission():
try:
pass
except Exception as err:
z()
return x
```
#### Closest Solution:
```python=
def handle_submission():
tmp = False
try:
pass
except Exception as err:
z()
tmp = True
else:
z=z
if tmp: return x
```
```c=
1 0 LOAD_CONST 0 (<code object handle_submission at 0x400246eb30, file "main.py", line 1>)
2 LOAD_CONST 1 ('handle_submission')
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (handle_submission)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object handle_submission at 0x400246eb30, file "main.py", line 1>:
2 0 LOAD_CONST 1 (False)
2 STORE_FAST 0 (tmp)
3 4 SETUP_FINALLY 4 (to 10)
4 6 POP_BLOCK
8 JUMP_FORWARD 44 (to 54)
5 >> 10 DUP_TOP
12 LOAD_GLOBAL 0 (Exception)
14 COMPARE_OP 10 (exception match)
16 POP_JUMP_IF_FALSE 52
18 POP_TOP
20 STORE_FAST 1 (err)
22 POP_TOP
24 SETUP_FINALLY 14 (to 40)
6 26 LOAD_FAST 2 (z)
28 CALL_FUNCTION 0
30 POP_TOP
7 32 LOAD_CONST 2 (True)
34 STORE_FAST 0 (tmp)
36 POP_BLOCK
38 BEGIN_FINALLY
>> 40 LOAD_CONST 0 (None)
42 STORE_FAST 1 (err)
44 DELETE_FAST 1 (err)
46 END_FINALLY
48 POP_EXCEPT
50 JUMP_FORWARD 6 (to 58)
>> 52 END_FINALLY
9 >> 54 LOAD_FAST 2 (z)
56 STORE_FAST 2 (z)
10 >> 58 LOAD_FAST 0 (tmp)
60 POP_JUMP_IF_FALSE 66
62 LOAD_GLOBAL 1 (x)
64 RETURN_VALUE
>> 66 LOAD_CONST 0 (None)
68 RETURN_VALUE
```
#### MWE data:
Bytecode for MWE:
```c=
1 0 LOAD_CONST 0 (<code object handle_submission at 0x400246eb30, file "main.py", line 1>)
2 LOAD_CONST 1 ('handle_submission')
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (handle_submission)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object handle_submission at 0x400246eb30, file "main.py", line 1>:
2 0 SETUP_FINALLY 4 (to 6)
3 2 POP_BLOCK
4 JUMP_FORWARD 48 (to 54)
4 >> 6 DUP_TOP
8 LOAD_GLOBAL 0 (Exception)
10 COMPARE_OP 10 (exception match)
12 POP_JUMP_IF_FALSE 52
14 POP_TOP
16 STORE_FAST 0 (err)
18 POP_TOP
20 SETUP_FINALLY 18 (to 40)
5 22 LOAD_GLOBAL 1 (z)
24 CALL_FUNCTION 0
26 POP_TOP
6 28 LOAD_GLOBAL 2 (x)
30 ROT_FOUR
32 POP_BLOCK
34 POP_EXCEPT
36 CALL_FINALLY 2 (to 40)
38 RETURN_VALUE
>> 40 LOAD_CONST 0 (None)
42 STORE_FAST 0 (err)
44 DELETE_FAST 0 (err)
46 END_FINALLY
48 POP_EXCEPT
50 JUMP_FORWARD 2 (to 54)
>> 52 END_FINALLY
>> 54 LOAD_CONST 0 (None)
56 RETURN_VALUE
```
Output uncompyle6:
```python=
def handle_submission--- This code section failed: ---
L. 2 0 SETUP_FINALLY 6 'to 6'
L. 3 2 POP_BLOCK
4 JUMP_FORWARD 54 'to 54'
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 52 'to 52'
14 POP_TOP
16 STORE_FAST 'err'
18 POP_TOP
20 SETUP_FINALLY 40 'to 40'
L. 5 22 LOAD_GLOBAL z
24 CALL_FUNCTION_0 0 ''
26 POP_TOP
L. 6 28 LOAD_GLOBAL x
30 ROT_FOUR
32 POP_BLOCK
34 POP_EXCEPT
36 CALL_FINALLY 40 'to 40'
38 RETURN_VALUE
40_0 COME_FROM 36 '36'
40_1 COME_FROM_FINALLY 20 '20'
40 LOAD_CONST None
42 STORE_FAST 'err'
44 DELETE_FAST 'err'
46 END_FINALLY
48 POP_EXCEPT
50 JUMP_FORWARD 54 'to 54'
52_0 COME_FROM 12 '12'
52 END_FINALLY
54_0 COME_FROM 50 '50'
54_1 COME_FROM 4 '4'
Parse error at or near `POP_BLOCK' instruction at offset 32
```
Output Decompyle3:
```python=
Instruction context:
L. 6 28 LOAD_GLOBAL x
30 ROT_FOUR
-> 32 POP_BLOCK
34 POP_EXCEPT
36 CALL_FINALLY 40 'to 40'
38 RETURN_VALUE
40_0 COME_FROM 36 '36'
40_1 COME_FROM_FINALLY 20 '20'
40 LOAD_CONST None
42 STORE_FAST 'err'
44 DELETE_FAST 'err'
46 END_FINALLY
48 POP_EXCEPT
50 JUMP_FORWARD 54 'to 54'
52_0 COME_FROM 12 '12'
52 END_FINALLY
54_0 COME_FROM 50 '50'
test/main.pyc --
# decompile failed
# file test/main.pyc
# Deparsing stopped due to parse error
```
## Error 1/72
Source: [link](https://catsoop.mit.edu/cgit/catsoop.git/tree/catsoop/__QTYPES__/pythoncode/__SANDBOXES__/base.py?h=v2019.9.5&id=a7078f545ed996bccfadb5dd0094ed49e3e34b71#n221)
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 safety_check():
try:
pass
except:
return "SYNTAX ERROR"
```
#### Closest Solution:
```python=
def safety_check():
tmp = None
try:
pass
except:
tmp = 'SYNTAX ERROR'
else:
x = x
return tmp
```
```c=
1 0 LOAD_CONST 0 (<code object safety_check at 0x40021eea80, file "main.py", line 1>)
2 LOAD_CONST 1 ('safety_check')
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (safety_check)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object safety_check at 0x40021eea80, 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 16 (to 26)
5 >> 10 POP_TOP
12 POP_TOP
14 POP_TOP
6 16 LOAD_CONST 1 ('SYNTAX ERROR')
18 STORE_FAST 0 (tmp)
20 POP_EXCEPT
22 JUMP_FORWARD 6 (to 30)
24 END_FINALLY
8 >> 26 LOAD_FAST 1 (x)
28 STORE_FAST 1 (x)
9 >> 30 LOAD_FAST 0 (tmp)
32 RETURN_VALUE
```
#### MWE data:
Bytecode for MWE:
```c=
1 0 LOAD_CONST 0 (<code object safety_check at 0x40021ae920, file "main.py", line 1>)
2 LOAD_CONST 1 ('safety_check')
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (safety_check)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object safety_check at 0x40021ae920, file "main.py", line 1>:
2 0 SETUP_FINALLY 4 (to 6)
3 2 POP_BLOCK
4 JUMP_FORWARD 14 (to 20)
4 >> 6 POP_TOP
8 POP_TOP
10 POP_TOP
5 12 POP_EXCEPT
14 LOAD_CONST 1 ('SYNTAX ERROR')
16 RETURN_VALUE
18 END_FINALLY
>> 20 LOAD_CONST 0 (None)
22 RETURN_VALUE
```
Output uncompyle6:
```python=
def safety_check--- This code section failed: ---
L. 2 0 SETUP_FINALLY 6 'to 6'
L. 3 2 POP_BLOCK
4 JUMP_FORWARD 20 'to 20'
6_0 COME_FROM_FINALLY 0 '0'
L. 4 6 POP_TOP
8 POP_TOP
10 POP_TOP
L. 5 12 POP_EXCEPT
14 LOAD_STR 'SYNTAX ERROR'
16 RETURN_VALUE
18 END_FINALLY
20_0 COME_FROM 4 '4'
Parse error at or near `LOAD_STR' instruction at offset 14
```
Output Decompyle3:
```python=
Instruction context:
L. 5 12 POP_EXCEPT
-> 14 LOAD_STR 'SYNTAX ERROR'
16 RETURN_VALUE
18 END_FINALLY
test/main.pyc --
# decompile failed
# file test/main.pyc
# Deparsing stopped due to parse error
```
## Error 1/73
Source: [link](https://svn.apache.org/repos/infra/infrastructure/trunk/projects/asfpy/asfpy/ldap.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 run_code():
try:
return x
except:
err = 1
```
#### Closest Solution:
```python=
def run_code():
temp = None
try:
temp = x
except:
err = 1
else:
z = z
return temp
```
```c=
1 0 LOAD_CONST 0 (<code object run_code at 0x400246ebe0, file "main.py", line 1>)
2 LOAD_CONST 1 ('run_code')
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (run_code)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object run_code at 0x400246ebe0, file "main.py", line 1>:
2 0 LOAD_CONST 0 (None)
2 STORE_FAST 0 (temp)
3 4 SETUP_FINALLY 8 (to 14)
4 6 LOAD_GLOBAL 0 (x)
8 STORE_FAST 0 (temp)
10 POP_BLOCK
12 JUMP_FORWARD 16 (to 30)
5 >> 14 POP_TOP
16 POP_TOP
18 POP_TOP
6 20 LOAD_CONST 1 (1)
22 STORE_FAST 1 (err)
24 POP_EXCEPT
26 JUMP_FORWARD 6 (to 34)
28 END_FINALLY
8 >> 30 LOAD_FAST 2 (z)
32 STORE_FAST 2 (z)
9 >> 34 LOAD_FAST 0 (temp)
36 RETURN_VALUE
```
#### MWE data:
Bytecode for MWE:
```c=
1 0 LOAD_CONST 0 (<code object run_code at 0x400246eb30, file "main.py", line 1>)
2 LOAD_CONST 1 ('run_code')
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (run_code)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object run_code at 0x400246eb30, file "main.py", line 1>:
2 0 SETUP_FINALLY 6 (to 8)
3 2 LOAD_GLOBAL 0 (x)
4 POP_BLOCK
6 RETURN_VALUE
4 >> 8 POP_TOP
10 POP_TOP
12 POP_TOP
5 14 LOAD_CONST 1 (1)
16 STORE_FAST 0 (err)
18 POP_EXCEPT
20 JUMP_FORWARD 2 (to 24)
22 END_FINALLY
>> 24 LOAD_CONST 0 (None)
26 RETURN_VALUE
```
Output uncompyle6:
```python=
def run_code--- This code section failed: ---
L. 2 0 SETUP_FINALLY 8 'to 8'
L. 3 2 LOAD_GLOBAL x
4 POP_BLOCK
6 RETURN_VALUE
8_0 COME_FROM_FINALLY 0 '0'
L. 4 8 POP_TOP
10 POP_TOP
12 POP_TOP
L. 5 14 LOAD_CONST 1
16 STORE_FAST 'err'
18 POP_EXCEPT
20 JUMP_FORWARD 24 'to 24'
22 END_FINALLY
24_0 COME_FROM 20 '20'
Parse error at or near `STORE_FAST' instruction at offset 16
```
Output Decompyle3:
```python=
Instruction context:
L. 5 14 LOAD_CONST 1
-> 16 STORE_FAST 'err'
18 POP_EXCEPT
20 JUMP_FORWARD 24 'to 24'
22 END_FINALLY
test/main.pyc --
# decompile failed
# file test/main.pyc
# Deparsing stopped due to parse error
```
## Error 1/74
Source: [link](https://catsoop.mit.edu/cgit/catsoop.git/tree/catsoop/__QTYPES__/pythonic/pythonic.py?h=v2019.9.5&id=a7078f545ed996bccfadb5dd0094ed49e3e34b71#n60)
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:
> NOTE: putting try/except instead of if conditional in except also causes the same error.
```python=
def handle_submission():
try:
pass
except Exception as err:
# try:
# msg += mfunc(sub, soln)
# except:
# pass
if msg == "":
msg = INVALID_SUBMISSION_MSG
return x
```
#### Closest Solution:
```python=
def handle_submission():
temp = None
try:
pass
except Exception as err:
if msg == "":
msg = INVALID_SUBMISSION_MSG
temp = x
else:
z=z
return temp
```
```c=
1 0 LOAD_CONST 0 (<code object handle_submission at 0x400246ea80, file "main.py", line 1>)
2 LOAD_CONST 1 ('handle_submission')
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (handle_submission)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object handle_submission at 0x400246ea80, file "main.py", line 1>:
2 0 LOAD_CONST 0 (None)
2 STORE_FAST 0 (temp)
3 4 SETUP_FINALLY 4 (to 10)
4 6 POP_BLOCK
8 JUMP_FORWARD 50 (to 60)
5 >> 10 DUP_TOP
12 LOAD_GLOBAL 0 (Exception)
14 COMPARE_OP 10 (exception match)
16 POP_JUMP_IF_FALSE 58
18 POP_TOP
20 STORE_FAST 1 (err)
22 POP_TOP
24 SETUP_FINALLY 20 (to 46)
6 26 LOAD_FAST 2 (msg)
28 LOAD_CONST 1 ('')
30 COMPARE_OP 2 (==)
32 POP_JUMP_IF_FALSE 38
7 34 LOAD_GLOBAL 1 (INVALID_SUBMISSION_MSG)
36 STORE_FAST 2 (msg)
8 >> 38 LOAD_GLOBAL 2 (x)
40 STORE_FAST 0 (temp)
42 POP_BLOCK
44 BEGIN_FINALLY
>> 46 LOAD_CONST 0 (None)
48 STORE_FAST 1 (err)
50 DELETE_FAST 1 (err)
52 END_FINALLY
54 POP_EXCEPT
56 JUMP_FORWARD 6 (to 64)
>> 58 END_FINALLY
10 >> 60 LOAD_FAST 3 (z)
62 STORE_FAST 3 (z)
11 >> 64 LOAD_FAST 0 (temp)
66 RETURN_VALUE
```
#### MWE data:
Bytecode for MWE:
```c=
1 0 LOAD_CONST 0 (<code object handle_submission at 0x400246eb30, file "main.py", line 1>)
2 LOAD_CONST 1 ('handle_submission')
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (handle_submission)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object handle_submission at 0x400246eb30, file "main.py", line 1>:
2 0 SETUP_FINALLY 4 (to 6)
3 2 POP_BLOCK
4 JUMP_FORWARD 54 (to 60)
4 >> 6 DUP_TOP
8 LOAD_GLOBAL 0 (Exception)
10 COMPARE_OP 10 (exception match)
12 POP_JUMP_IF_FALSE 58
14 POP_TOP
16 STORE_FAST 0 (err)
18 POP_TOP
20 SETUP_FINALLY 24 (to 46)
5 22 LOAD_FAST 1 (msg)
24 LOAD_CONST 1 ('')
26 COMPARE_OP 2 (==)
28 POP_JUMP_IF_FALSE 34
6 30 LOAD_GLOBAL 1 (INVALID_SUBMISSION_MSG)
32 STORE_FAST 1 (msg)
7 >> 34 LOAD_GLOBAL 2 (x)
36 ROT_FOUR
38 POP_BLOCK
40 POP_EXCEPT
42 CALL_FINALLY 2 (to 46)
44 RETURN_VALUE
>> 46 LOAD_CONST 0 (None)
48 STORE_FAST 0 (err)
50 DELETE_FAST 0 (err)
52 END_FINALLY
54 POP_EXCEPT
56 JUMP_FORWARD 2 (to 60)
>> 58 END_FINALLY
>> 60 LOAD_CONST 0 (None)
62 RETURN_VALUE
```
Output uncompyle6:
```python=
def handle_submission--- This code section failed: ---
L. 2 0 SETUP_FINALLY 6 'to 6'
L. 3 2 POP_BLOCK
4 JUMP_FORWARD 60 'to 60'
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 58 'to 58'
14 POP_TOP
16 STORE_FAST 'err'
18 POP_TOP
20 SETUP_FINALLY 46 'to 46'
L. 5 22 LOAD_FAST 'msg'
24 LOAD_STR ''
26 COMPARE_OP ==
28 POP_JUMP_IF_FALSE 34 'to 34'
L. 6 30 LOAD_GLOBAL INVALID_SUBMISSION_MSG
32 STORE_FAST 'msg'
34_0 COME_FROM 28 '28'
L. 7 34 LOAD_GLOBAL x
36 ROT_FOUR
38 POP_BLOCK
40 POP_EXCEPT
42 CALL_FINALLY 46 'to 46'
44 RETURN_VALUE
46_0 COME_FROM 42 '42'
46_1 COME_FROM_FINALLY 20 '20'
46 LOAD_CONST None
48 STORE_FAST 'err'
50 DELETE_FAST 'err'
52 END_FINALLY
54 POP_EXCEPT
56 JUMP_FORWARD 60 'to 60'
58_0 COME_FROM 12 '12'
58 END_FINALLY
60_0 COME_FROM 56 '56'
60_1 COME_FROM 4 '4'
Parse error at or near `POP_BLOCK' instruction at offset 38
```
Output Decompyle3:
```python=
Instruction context:
L. 7 34 LOAD_GLOBAL x
36 ROT_FOUR
-> 38 POP_BLOCK
40 POP_EXCEPT
42 CALL_FINALLY 46 'to 46'
44 RETURN_VALUE
46_0 COME_FROM 42 '42'
46_1 COME_FROM_FINALLY 20 '20'
46 LOAD_CONST None
48 STORE_FAST 'err'
50 DELETE_FAST 'err'
52 END_FINALLY
54 POP_EXCEPT
56 JUMP_FORWARD 60 'to 60'
58_0 COME_FROM 12 '12'
58 END_FINALLY
60_0 COME_FROM 56 '56'
test/main.pyc --
# decompile failed
# file test/main.pyc
# Deparsing stopped due to parse error
```
## Error 1/75
Source: [link](https://github.com/Russel88/CRISPRCasTyper/blob/3dc2915bd7154acba245d13aa1df6b6afbaed7f7/cctyper/controller.py#L101)
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 is_fasta():
try:
with open(fasta, 'r') as handle:
x = x
return False
except:
pass
```
#### Closest Solution:
```python=
def is_fasta():
temp = None
try:
with open(fasta, 'r') as handle:
x = x
temp = False
except:
pass
else:
z = z
return temp
```
```c=
1 0 LOAD_CONST 0 (<code object is_fasta at 0x400246ea80, file "main.py", line 1>)
2 LOAD_CONST 1 ('is_fasta')
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (is_fasta)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object is_fasta at 0x400246ea80, file "main.py", line 1>:
2 0 LOAD_CONST 0 (None)
2 STORE_FAST 0 (temp)
3 4 SETUP_FINALLY 34 (to 40)
4 6 LOAD_GLOBAL 0 (open)
8 LOAD_GLOBAL 1 (fasta)
10 LOAD_CONST 1 ('r')
12 CALL_FUNCTION 2
14 SETUP_WITH 14 (to 30)
16 STORE_FAST 1 (handle)
5 18 LOAD_FAST 2 (x)
20 STORE_FAST 2 (x)
6 22 LOAD_CONST 2 (False)
24 STORE_FAST 0 (temp)
26 POP_BLOCK
28 BEGIN_FINALLY
>> 30 WITH_CLEANUP_START
32 WITH_CLEANUP_FINISH
34 END_FINALLY
36 POP_BLOCK
38 JUMP_FORWARD 12 (to 52)
7 >> 40 POP_TOP
42 POP_TOP
44 POP_TOP
8 46 POP_EXCEPT
48 JUMP_FORWARD 6 (to 56)
50 END_FINALLY
10 >> 52 LOAD_FAST 3 (z)
54 STORE_FAST 3 (z)
11 >> 56 LOAD_FAST 0 (temp)
58 RETURN_VALUE
```
#### MWE data:
Bytecode for MWE:
```c=
1 0 LOAD_CONST 0 (<code object is_fasta at 0x40021aeb30, file "main.py", line 1>)
2 LOAD_CONST 1 ('is_fasta')
4 MAKE_FUNCTION 0
6 STORE_NAME 0 (is_fasta)
8 LOAD_CONST 2 (None)
10 RETURN_VALUE
Disassembly of <code object is_fasta at 0x40021aeb30, file "main.py", line 1>:
2 0 SETUP_FINALLY 42 (to 44)
3 2 LOAD_GLOBAL 0 (open)
4 LOAD_GLOBAL 1 (fasta)
6 LOAD_CONST 1 ('r')
8 CALL_FUNCTION 2
10 SETUP_WITH 22 (to 34)
12 STORE_FAST 0 (handle)
4 14 LOAD_FAST 1 (x)
16 STORE_FAST 1 (x)
5 18 POP_BLOCK
20 BEGIN_FINALLY
22 WITH_CLEANUP_START
24 WITH_CLEANUP_FINISH
26 POP_FINALLY 0
28 POP_BLOCK
30 LOAD_CONST 2 (False)
32 RETURN_VALUE
>> 34 WITH_CLEANUP_START
36 WITH_CLEANUP_FINISH
38 END_FINALLY
40 POP_BLOCK
42 JUMP_FORWARD 12 (to 56)
6 >> 44 POP_TOP
46 POP_TOP
48 POP_TOP
7 50 POP_EXCEPT
52 JUMP_FORWARD 2 (to 56)
54 END_FINALLY
>> 56 LOAD_CONST 0 (None)
58 RETURN_VALUE
```
Output uncompyle6:
```python=
def is_fasta--- This code section failed: ---
L. 2 0 SETUP_FINALLY 44 'to 44'
L. 3 2 LOAD_GLOBAL open
4 LOAD_GLOBAL fasta
6 LOAD_STR 'r'
8 CALL_FUNCTION_2 2 ''
10 SETUP_WITH 34 'to 34'
12 STORE_FAST 'handle'
L. 4 14 LOAD_FAST 'x'
16 STORE_FAST 'x'
L. 5 18 POP_BLOCK
20 BEGIN_FINALLY
22 WITH_CLEANUP_START
24 WITH_CLEANUP_FINISH
26 POP_FINALLY 0 ''
28 POP_BLOCK
30 LOAD_CONST False
32 RETURN_VALUE
34_0 COME_FROM_WITH 10 '10'
34 WITH_CLEANUP_START
36 WITH_CLEANUP_FINISH
38 END_FINALLY
40 POP_BLOCK
42 JUMP_FORWARD 56 'to 56'
44_0 COME_FROM_FINALLY 0 '0'
L. 6 44 POP_TOP
46 POP_TOP
48 POP_TOP
L. 7 50 POP_EXCEPT
52 JUMP_FORWARD 56 'to 56'
54 END_FINALLY
56_0 COME_FROM 52 '52'
56_1 COME_FROM 42 '42'
Parse error at or near `WITH_CLEANUP_START' instruction at offset 22
```
Output Decompyle3:
```python=
Instruction context:
L. 5 18 POP_BLOCK
20 BEGIN_FINALLY
-> 22 WITH_CLEANUP_START
24 WITH_CLEANUP_FINISH
26 POP_FINALLY 0 ''
28 POP_BLOCK
30 LOAD_CONST False
32 RETURN_VALUE
34_0 COME_FROM_WITH 10 '10'
34 WITH_CLEANUP_START
36 WITH_CLEANUP_FINISH
38 END_FINALLY
40 POP_BLOCK
42 JUMP_FORWARD 56 'to 56'
44_0 COME_FROM_FINALLY 0 '0'
test/main.pyc --
# decompile failed
# file test/main.pyc
# Deparsing stopped due to parse error
```
## Error 1/76 - Duplicate
Source: [link](https://github.com/Russel88/CRISPRCasTyper/blob/3dc2915bd7154acba245d13aa1df6b6afbaed7f7/cctyper/controller.py#L101)
Same as 1/75
## Error 1/77 - Duplicate
Source: [link](https://github.com/Russel88/CRISPRCasTyper/blob/3dc2915bd7154acba245d13aa1df6b6afbaed7f7/cctyper/controller.py#L101)
Same as 1/75
## Error 1/78 - Duplicate
Source: [link](https://github.com/Russel88/CRISPRCasTyper/blob/3dc2915bd7154acba245d13aa1df6b6afbaed7f7/cctyper/controller.py#L101)
Same as 1/75
## Error 1/79 - Duplicate
Source: [link](https://github.com/Russel88/CRISPRCasTyper/blob/3dc2915bd7154acba245d13aa1df6b6afbaed7f7/cctyper/controller.py#L101)
Same as 1/75
## Error 1/80 - Duplicate
Source: [link](https://github.com/Russel88/CRISPRCasTyper/blob/3dc2915bd7154acba245d13aa1df6b6afbaed7f7/cctyper/controller.py#L101)
Same as 1/75
## Error 1/81 - Duplicate
Source: [link](https://github.com/Russel88/CRISPRCasTyper/blob/3dc2915bd7154acba245d13aa1df6b6afbaed7f7/cctyper/controller.py#L101)
Same as 1/75
## Error 1/82 - Duplicate
Source: [link](https://github.com/Russel88/CRISPRCasTyper/blob/3dc2915bd7154acba245d13aa1df6b6afbaed7f7/cctyper/controller.py#L101)
Same as 1/75