Parse error at or near `LOAD_FAST' instruction at offset 4824
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 25/100
- Issue type
- Bug
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- python
- Domain
- compilers, reverse-engineering
Research direction
The issue provides parser productions and bytecode context at L. 746, ending at LOAD_FAST offset 4824, but names no source file, test, or reproduction. First obtain a reproducible input and trace the decompiler path handling this instruction against the whilestmt38 grammar. Done means the parse error has a confirmed cause and a regression test demonstrates the input is handled correctly.
Written by the indexing model from the issue text.
Description
whilestmt38 ::= \e__come_froms testexpr . c_stmts_opt COME_FROM JUMP_LOOP POP_BLOCK
whilestmt38 ::= \e__come_froms testexpr . c_stmts_opt JUMP_LOOP POP_BLOCK
whilestmt38 ::= \e__come_froms testexpr . c_stmts_opt JUMP_LOOP come_froms
whilestmt38 ::= \e__come_froms testexpr . returns POP_BLOCK
whilestmt38 ::= \e__come_froms testexpr \e_c_stmts_opt . COME_FROM JUMP_LOOP POP_BLOCK
whilestmt38 ::= \e__come_froms testexpr \e_c_stmts_opt . JUMP_LOOP POP_BLOCK
whilestmt38 ::= \e__come_froms testexpr \e_c_stmts_opt . JUMP_LOOP come_froms
whilestmt38 ::= \e__come_froms testexpr \e_c_stmts_opt COME_FROM . JUMP_LOOP POP_BLOCK
whilestmt38 ::= \e__come_froms testexpr c_stmts . JUMP_LOOP \e__come_froms
whilestmt38 ::= \e__come_froms testexpr c_stmts . JUMP_LOOP _come_froms
whilestmt38 ::= \e__come_froms testexpr c_stmts . come_froms
whilestmt38 ::= \e__come_froms testexpr c_stmts come_froms .
whilestmt38 ::= \e__come_froms testexpr c_stmts_opt . COME_FROM JUMP_LOOP POP_BLOCK
whilestmt38 ::= \e__come_froms testexpr c_stmts_opt . JUMP_LOOP POP_BLOCK
whilestmt38 ::= \e__come_froms testexpr c_stmts_opt . JUMP_LOOP come_froms
whilestmt38 ::= \e__come_froms testexpr c_stmts_opt COME_FROM . JUMP_LOOP POP_BLOCK
whilestmt38 ::= \e__come_froms testexprc . c_stmts_opt come_froms JUMP_LOOP \e__come_froms
whilestmt38 ::= \e__come_froms testexprc . c_stmts_opt come_froms JUMP_LOOP _come_froms
whilestmt38 ::= \e__come_froms testexprc \e_c_stmts_opt . come_froms JUMP_LOOP \e__come_froms
whilestmt38 ::= \e__come_froms testexprc \e_c_stmts_opt . come_froms JUMP_LOOP _come_froms
whilestmt38 ::= \e__come_froms testexprc \e_c_stmts_opt come_froms . JUMP_LOOP \e__come_froms
whilestmt38 ::= \e__come_froms testexprc \e_c_stmts_opt come_froms . JUMP_LOOP _come_froms
whilestmt38 ::= \e__come_froms testexprc c_stmts_opt . come_froms JUMP_LOOP \e__come_froms
whilestmt38 ::= \e__come_froms testexprc c_stmts_opt . come_froms JUMP_LOOP _come_froms
whilestmt38 ::= \e__come_froms testexprc c_stmts_opt come_froms . JUMP_LOOP \e__come_froms
whilestmt38 ::= \e__come_froms testexprc c_stmts_opt come_froms . JUMP_LOOP _come_froms
whilestmt38 ::= _come_froms . bool_op c_stmts JUMP_LOOP \e__come_froms
whilestmt38 ::= _come_froms . bool_op c_stmts JUMP_LOOP _come_froms
whilestmt38 ::= _come_froms . testexpr \e_c_stmts_opt COME_FROM JUMP_LOOP POP_BLOCK
whilestmt38 ::= _come_froms . testexpr \e_c_stmts_opt JUMP_LOOP POP_BLOCK
whilestmt38 ::= _come_froms . testexpr \e_c_stmts_opt JUMP_LOOP come_froms
whilestmt38 ::= _come_froms . testexpr c_stmts JUMP_LOOP \e__come_froms
whilestmt38 ::= _come_froms . testexpr c_stmts JUMP_LOOP _come_froms
whilestmt38 ::= _come_froms . testexpr c_stmts come_froms
whilestmt38 ::= _come_froms . testexpr c_stmts_opt COME_FROM JUMP_LOOP POP_BLOCK
whilestmt38 ::= _come_froms . testexpr c_stmts_opt JUMP_LOOP POP_BLOCK
whilestmt38 ::= _come_froms . testexpr c_stmts_opt JUMP_LOOP come_froms
whilestmt38 ::= _come_froms . testexpr returns POP_BLOCK
whilestmt38 ::= _come_froms . testexprc \e_c_stmts_opt come_froms JUMP_LOOP \e__come_froms
whilestmt38 ::= _come_froms . testexprc \e_c_stmts_opt come_froms JUMP_LOOP _come_froms
whilestmt38 ::= _come_froms . testexprc c_stmts_opt come_froms JUMP_LOOP \e__come_froms
whilestmt38 ::= _come_froms . testexprc c_stmts_opt come_froms JUMP_LOOP _come_froms
whilestmt38 ::= _come_froms bool_op . c_stmts JUMP_LOOP \e__come_froms
whilestmt38 ::= _come_froms bool_op . c_stmts JUMP_LOOP _come_froms
whilestmt38 ::= _come_froms bool_op c_stmts . JUMP_LOOP \e__come_froms
whilestmt38 ::= _come_froms bool_op c_stmts . JUMP_LOOP _come_froms
whilestmt38 ::= _come_froms testexpr . c_stmts JUMP_LOOP \e__come_froms
whilestmt38 ::= _come_froms testexpr . c_stmts JUMP_LOOP _come_froms
whilestmt38 ::= _come_froms testexpr . c_stmts come_froms
whilestmt38 ::= _come_froms testexpr . c_stmts_opt COME_FROM JUMP_LOOP POP_BLOCK
whilestmt38 ::= _come_froms testexpr . c_stmts_opt JUMP_LOOP POP_BLOCK
whilestmt38 ::= _come_froms testexpr . c_stmts_opt JUMP_LOOP come_froms
whilestmt38 ::= _come_froms testexpr . returns POP_BLOCK
whilestmt38 ::= _come_froms testexpr \e_c_stmts_opt . COME_FROM JUMP_LOOP POP_BLOCK
whilestmt38 ::= _come_froms testexpr \e_c_stmts_opt . JUMP_LOOP POP_BLOCK
whilestmt38 ::= _come_froms testexpr \e_c_stmts_opt . JUMP_LOOP come_froms
whilestmt38 ::= _come_froms testexpr \e_c_stmts_opt COME_FROM . JUMP_LOOP POP_BLOCK
whilestmt38 ::= _come_froms testexpr c_stmts . JUMP_LOOP \e__come_froms
whilestmt38 ::= _come_froms testexpr c_stmts . JUMP_LOOP _come_froms
whilestmt38 ::= _come_froms testexpr c_stmts . come_froms
whilestmt38 ::= _come_froms testexpr c_stmts come_froms .
whilestmt38 ::= _come_froms testexpr c_stmts_opt . COME_FROM JUMP_LOOP POP_BLOCK
whilestmt38 ::= _come_froms testexpr c_stmts_opt . JUMP_LOOP POP_BLOCK
whilestmt38 ::= _come_froms testexpr c_stmts_opt . JUMP_LOOP come_froms
whilestmt38 ::= _come_froms testexpr c_stmts_opt COME_FROM . JUMP_LOOP POP_BLOCK
whilestmt38 ::= _come_froms testexprc . c_stmts_opt come_froms JUMP_LOOP \e__come_froms
whilestmt38 ::= _come_froms testexprc . c_stmts_opt come_froms JUMP_LOOP _come_froms
whilestmt38 ::= _come_froms testexprc \e_c_stmts_opt . come_froms JUMP_LOOP \e__come_froms
whilestmt38 ::= _come_froms testexprc \e_c_stmts_opt . come_froms JUMP_LOOP _come_froms
whilestmt38 ::= _come_froms testexprc \e_c_stmts_opt come_froms . JUMP_LOOP \e__come_froms
whilestmt38 ::= _come_froms testexprc \e_c_stmts_opt come_froms . JUMP_LOOP _come_froms
whilestmt38 ::= _come_froms testexprc c_stmts_opt . come_froms JUMP_LOOP \e__come_froms
whilestmt38 ::= _come_froms testexprc c_stmts_opt . come_froms JUMP_LOOP _come_froms
whilestmt38 ::= _come_froms testexprc c_stmts_opt come_froms . JUMP_LOOP \e__come_froms
whilestmt38 ::= _come_froms testexprc c_stmts_opt come_froms . JUMP_LOOP _come_froms
yield ::= expr . YIELD_VALUE
yield_from ::= expr . GET_YIELD_FROM_ITER LOAD_CONST YIELD_FROM
Instruction context:
L. 746 4818 LOAD_FAST 'self'
4820 LOAD_ATTR world
4822 LOAD_ATTR play_mode
-> 4824 LOAD_FAST 'self'
- Dominant language
- Python
- Stars
- 1.3k
- Forks
- 167
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from rocky/python-decompile3
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
rocky/python-decompile3#172 · 2 comments · 1 reaction ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
rocky/python-decompile3#170 · 2 comments ·
-
bug Bytecode is large and needs narrowing Python 3.8
Difficulty 4/5 3-5 days Newbie friendliness 35/100
rocky/python-decompile3#166 · 1 comment ·
-
insufficient bug report
Difficulty 5/5 Over a week Newbie friendliness 15/100
rocky/python-decompile3#161 · 1 comment ·
-
bug control flow Python 3.8
Difficulty 4/5 3-5 days Newbie friendliness 35/100
rocky/python-decompile3#160 · 3 comments ·
All issues in rocky/python-decompile3
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
syfoud/Simulated_Scepter#172 ·
-
A cancelled tests run makes the coverage comment workflow fail and reports it as a red check on main Openarea: ci bug perceived difficulty: 3
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Nitjsefnie-Harness-Commons/daedalus#921 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
EleutherAI/lm-evaluation-harness#4207 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
ClickHouse/clickhouse-connect#1057 ·