durusmail: quixote-users: ptl core dump
ptl core dump
2001-11-06
2001-11-07
2001-11-07
ptl core dump
Andrew Kuchling
2001-11-07
On Wed, Nov 07, 2001 at 10:48:01AM -0500, Greg Ward wrote:
>Perhaps Quixote (specifically, quixote.ptl_compile) generates bad
>bytecode in this case.  I've managed to disassemble t.ptlc, but I
>haven't figured out how to disassemble t.pyc to compare the two.  Neil?

Try something like this: I put the Python code in t2.py and the PTL
code in t.ptl, and changed it to define a function f() containing the
problematic code.  This *doesn't* dump core as a PTL module.
Then I can just import the two modules, and use dis.dis() on them:

>>> dis.dis(t2.f)   # Python code
          0 SET_LINENO               1

          3 SET_LINENO               2
          6 LOAD_CONST               1 (0)
          9 LOAD_CONST               2 (1)
         12 BUILD_LIST               2
         15 STORE_FAST               0 (a)

         18 SET_LINENO               3
         21 LOAD_FAST                0 (a)
         24 LOAD_CONST               1 (0)
         27 DELETE_SUBSCR
         28 LOAD_FAST                0 (a)
         31 LOAD_CONST               2 (1)
         34 DELETE_SUBSCR
         35 LOAD_CONST               0 (None)
         38 RETURN_VALUE
>>> dis.dis(t.f)  # PTL version
          0 SET_LINENO               1

          3 SET_LINENO               2
          6 LOAD_CONST               1 (0)
          9 LOAD_CONST               2 (1)
         12 BUILD_LIST               2
         15 STORE_FAST               0 (a)
         18 UNPACK_SEQUENCE          2      << why is this here?

         21 SET_LINENO               3
         24 LOAD_FAST                0 (a)
         27 LOAD_CONST               1 (0)
         30 DELETE_SUBSCR
         31 LOAD_FAST                0 (a)
         34 LOAD_CONST               2 (1)
         37 DELETE_SUBSCR
         38 LOAD_CONST               0 (None)
         41 RETURN_VALUE
>>>

--amk


reply