Message222555
| Author | xdegaye |
|---|
| Recipients | benjamin.peterson, georg.brandl, jcea, xdegaye |
|---|
| Date | 2014-07-08.10:57:57 |
|---|
| SpamBayes Score | -1.0 |
|---|
| Marked as misclassified | Yes |
|---|
| Message-id | <1404817080.03.0.146993659633.issue17288@psf.upfronthosting.co.za> |
|---|
| In-reply-to | |
|---|
| Content |
|---|
Python 3.5 is still crashing with this test:$ python jump.py> jump.py(7)<module>()-> for i in gen():(Pdb) break 3Breakpoint 1 at jump.py:3(Pdb) continue> jump.py(3)gen()-> yield i(Pdb) step--Return--> jump.py(3)gen()->0-> yield i(Pdb) jump 2> jump.py(2)gen()->0-> for i in range(1):(Pdb) continueSegmentation fault (core dumped)It is true that frame_setlineno() assumes incorrectly that f->f_stacktop is not NULL, but the reason of the crash or of the "SystemError: unknown opcode" is that PyEval_EvalFrameEx() expects on its invocation f->f_lasti to refer to the index of the last instruction executed and sets (and assumes this instruction does not have argument) 'next_instr' accordingly to the next byte, while by jumping to line 2 we set f->f_lasti to zero and 'SETUP_LOOP', the opcode at this index, has an argument.The attached patch is a slight improvement over the last one. |
| History |
|---|
| Date | User | Action | Args |
|---|
| 2014-07-08 10:58:00 | xdegaye | set | recipients: +xdegaye,georg.brandl,jcea,benjamin.peterson | | 2014-07-08 10:58:00 | xdegaye | set | messageid: <1404817080.03.0.146993659633.issue17288@psf.upfronthosting.co.za> | | 2014-07-08 10:57:59 | xdegaye | link | issue17288 messages | | 2014-07-08 10:57:59 | xdegaye | create | |
|