Skip to content

Implement Python 3.8 && 3.9 try-except-finally logic #493

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Levak
Copy link
Contributor

@Levak Levak commented Jun 24, 2024

  • Add tests for simple cases of try-except-finally (rename one old Python 2.6 test);

  • Implement JUMP_IF_NOT_EXC_MATCH_A with a fake CMP_EXCEPTION followed by a POP_JUMP_IF_TRUE;

  • Implement BEGIN_FINALLY with a fake LOAD_CONST_A None;

  • Implement Python 3.8+ specific SETUP_FINALLY_A handling both EXCEPT and FINALLY cases. We guess which is which by looking at the targeted block that seems to either be a POP_TOP or a DUP_TOP in the case of an EXCEPT block;

  • Implement RERAISE with a fake END_FINALLY;

  • In Python 3.9+, emulate a BEGIN_FINALLY when POP_BLOCK is not followed by a JUMP_FORWARD_A (maybe source of bugs);

  • In Python 3.9+, skip the duplicated code from the FINALLY blocks with a jump in bytecode and a fake END_FINALLY.

- Add tests for simple cases of try-except-finally;

- Implement `JUMP_IF_NOT_EXC_MATCH_A` with a fake `CMP_EXCEPTION`
  followed by a `POP_JUMP_IF_TRUE`;

- Implement `BEGIN_FINALLY` with a fake `LOAD_CONST_A None`;

- Implement Python 3.8+ specific `SETUP_FINALLY_A` handling both
  EXCEPT and FINALLY cases. We guess which is which by looking
  at the targetted block that seems to either be a POP_TOP or a
  DUP_TOP in the case of an EXCEPT block;

- Implement RERAISE with a fake END_FINALLY;

- In Python 3.9+, skip the duplicated code from the FINALLY blocks
  with a jump in bytecode and a fake `END_FINALLY`.
@EchoStretch
Copy link

Fantastic update! I think this one works the best so far. There are still a few I'm not able to resolve, but I'm reviewing everyone’s repos to get more insights.

Unsupported opcode: LOAD_ASSERTION_ERROR
Unsupported opcode: LOAD_ASSERTION_ERROR
Unsupported opcode: LOAD_ASSERTION_ERROR
Warning: Stack history is not empty!
Warning: block stack is not empty!
Warning: block stack is not empty!
Warning: block stack is not empty!
Warning: Stack history is not empty!
Warning: block stack is not empty!
Unsupported opcode: LOAD_ASSERTION_ERROR
Unsupported opcode: LOAD_ASSERTION_ERROR
Warning: block stack is not empty!
Unsupported opcode: LOAD_ASSERTION_ERROR
Unsupported opcode: LOAD_ASSERTION_ERROR

@World-sudo
Copy link

was it merged?

@guihkx
Copy link

guihkx commented May 29, 2025

I'm getting a crash on this PR's branch that doesn't happen on master...

On master:

$ ./build/pycdc install.pyc -o install.py
Unsupported opcode: JUMP_IF_NOT_EXC_MATCH (210)
$ echo $?
0

On this PR:

$ ./build/pycdc install.pyc -o install.py
fish: Job 1, './build/pycdc install.pyc -o in…' terminated by signal SIGSEGV (Address boundary error)
gdb backtrace
$ gdb -ex run --args ./build/pycdc install.pyc -o install.py
Reading symbols from ./build/pycdc...
Starting program: /tmp/pycdc/build/pycdc install.pyc -o install.py
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00005555555771c5 in PycRef<ASTBlock>::~PycRef (this=0x1f8) at /tmp/pycdc/pyc_object.h:30
30              if (m_obj)
(gdb) bt full
#0  0x00005555555771c5 in PycRef<ASTBlock>::~PycRef (this=0x1f8) at /tmp/pycdc/pyc_object.h:30
No locals.
#1  std::__new_allocator<PycRef<ASTBlock> >::destroy<PycRef<ASTBlock> > (this=0x7fffffffd6d0, __p=0x1f8) at /usr/include/c++/15.1.1/bits/new_allocator.h:198
No locals.
#2  std::allocator_traits<std::allocator<PycRef<ASTBlock> > >::destroy<PycRef<ASTBlock> > (__a=..., __p=0x1f8) at /usr/include/c++/15.1.1/bits/alloc_traits.h:696
No locals.
#3  std::deque<PycRef<ASTBlock>, std::allocator<PycRef<ASTBlock> > >::_M_pop_back_aux (this=0x7fffffffd6d0) at /usr/include/c++/15.1.1/bits/deque.tcc:566
No locals.
#4  std::deque<PycRef<ASTBlock>, std::allocator<PycRef<ASTBlock> > >::pop_back (this=0x7fffffffd6d0) at /usr/include/c++/15.1.1/bits/stl_deque.h:1675
No locals.
#5  std::stack<PycRef<ASTBlock>, std::deque<PycRef<ASTBlock>, std::allocator<PycRef<ASTBlock> > > >::pop (this=0x7fffffffd6d0) at /usr/include/c++/15.1.1/bits/stl_stack.h:334
No locals.
#6  BuildFromCode (code=..., mod=mod@entry=0x7fffffffd9f0) at /tmp/pycdc/ASTree.cpp:1332
        offs = 10
        prev = {m_obj = 0x5555555cba60}
        nil = {m_obj = 0x0}
        push = <optimized out>
        source = {<PycData> = {_vptr.PycData = 0x5555555b5480 <vtable for PycBuffer+16>}, m_buffer = 0x5555555cc860 "d", m_size = 970, m_pos = 396}
        stack = {m_stack = std::vector of length 10, capacity 10 = {{m_obj = 0x0}, {m_obj = 0x0}, {m_obj = 0x0}, {m_obj = 0x0}, {m_obj = 0x0}, {m_obj = 0x0}, {m_obj = 0x0}, {m_obj = 0x0}, {
              m_obj = 0x0}, {m_obj = 0x0}}, m_ptr = <optimized out>}
        stack_hist = <optimized out>
        blocks = <optimized out>
        defblock = <optimized out>
        curblock = {m_obj = 0x5555555cba60}
        opcode = 145
        operand = 5
        curpos = <optimized out>
        pos = 396
        unpack = 0
        else_pop = <optimized out>
        variable_annotations = false
#7  0x0000555555592e4d in decompyle (code=..., mod=mod@entry=0x7fffffffd9f0, pyc_output=...) at /tmp/pycdc/ASTree.cpp:3452
        source = <optimized out>
        clean = <optimized out>
        part1clean = <optimized out>
#8  0x00005555555685fe in main (argc=<optimized out>, argv=<optimized out>) at /tmp/pycdc/pycdc.cpp:97
        infile = <optimized out>
        marshalled = <optimized out>
        version = <optimized out>
        pyc_output = <optimized out>
        out_file = {<std::basic_ostream<char, std::char_traits<char> >> = {<std::basic_ios<char, std::char_traits<char> >> = {<std::ios_base> = {
                _vptr.ios_base = 0x7ffff7e88d88 <vtable for std::basic_ofstream<char, std::char_traits<char> >+64>, static boolalpha = std::_S_boolalpha, static dec = std::_S_dec,
                static fixed = std::_S_fixed, static hex = std::_S_hex, static internal = std::_S_internal, static left = std::_S_left, static oct = std::_S_oct,
                static right = std::_S_right, static scientific = std::_S_scientific, static showbase = std::_S_showbase, static showpoint = std::_S_showpoint,
                static showpos = std::_S_showpos, static skipws = std::_S_skipws, static unitbuf = std::_S_unitbuf, static uppercase = std::_S_uppercase,
                static adjustfield = std::_S_adjustfield, static basefield = std::_S_basefield, static floatfield = std::_S_floatfield, static badbit = std::_S_badbit,
                static eofbit = std::_S_eofbit, static failbit = std::_S_failbit, static goodbit = std::_S_goodbit, static app = std::_S_app, static ate = std::_S_ate,
                static binary = std::_S_bin, static in = std::_S_in, static out = std::_S_out, static trunc = std::_S_trunc, static __noreplace = std::_S_noreplace,
                static beg = std::_S_beg, static cur = std::_S_cur, static end = std::_S_end, _M_precision = 6, _M_width = 0, _M_flags = 4098, _M_exception = std::_S_goodbit,
                _M_streambuf_state = std::_S_goodbit, _M_callbacks = 0x0, _M_word_zero = {_M_pword = 0x0, _M_iword = 0}, _M_local_word = {{_M_pword = 0x0, _M_iword = 0}, {_M_pword = 0x0,
                    _M_iword = 0}, {_M_pword = 0x0, _M_iword = 0}, {_M_pword = 0x0, _M_iword = 0}, {_M_pword = 0x0, _M_iword = 0}, {_M_pword = 0x0, _M_iword = 0}, {_M_pword = 0x0,
                    _M_iword = 0}, {_M_pword = 0x0, _M_iword = 0}}, _M_word_size = 8, _M_word = 0x7fffffffdbb8, _M_ios_locale = std::locale = "C"}, _M_tie = 0x0, _M_fill = 32 ' ',
              _M_fill_init = true, _M_streambuf = 0x7fffffffda88, _M_ctype = 0x7ffff7e91920 <(anonymous namespace)::ctype_c>,
              _M_num_put = 0x7ffff7e918b0 <(anonymous namespace)::num_put_c>, _M_num_get = 0x7ffff7e918c0 <(anonymous namespace)::num_get_c>},
            _vptr.basic_ostream = 0x7ffff7e88d60 <vtable for std::basic_ofstream<char, std::char_traits<char> >+24>}, _M_filebuf = {<std::basic_streambuf<char, std::char_traits<char> >> = {
              _vptr.basic_streambuf = 0x7ffff7e88ba8 <vtable for std::basic_filebuf<char, std::char_traits<char> >+16>,
              _M_in_beg = 0x5555555c9530 "# Source Generated with Decompyle++\n# File: install.pyc (Python 3.10)\n\n",
              _M_in_cur = 0x5555555c9530 "# Source Generated with Decompyle++\n# File: install.pyc (Python 3.10)\n\n",
              _M_in_end = 0x5555555c9530 "# Source Generated with Decompyle++\n# File: install.pyc (Python 3.10)\n\n",
              _M_out_beg = 0x5555555c9530 "# Source Generated with Decompyle++\n# File: install.pyc (Python 3.10)\n\n", _M_out_cur = 0x5555555c9577 "", _M_out_end = 0x5555555cb52f "",
              _M_buf_locale = std::locale = "C"}, _M_lock = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __elision = 0, __list = {__prev = 0x0,
                  __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}, _M_file = {_M_cfile = 0x5555555c9350, _M_cfile_created = true}, _M_mode = std::_S_out, _M_state_beg = {
              __count = 0, __value = {__wch = 0, __wchb = "\000\000\000"}}, _M_state_cur = {__count = 0, __value = {__wch = 0, __wchb = "\000\000\000"}}, _M_state_last = {__count = 0,
              __value = {__wch = 0, __wchb = "\000\000\000"}}, _M_buf = 0x5555555c9530 "# Source Generated with Decompyle++\n# File: install.pyc (Python 3.10)\n\n", _M_buf_size = 8192,
            _M_buf_allocated = true, _M_reading = false, _M_writing = true, _M_pback = 0 '\000', _M_pback_cur_save = 0x0, _M_pback_end_save = 0x0, _M_pback_init = false,
            _M_codecvt = 0x7ffff7e91890 <(anonymous namespace)::codecvt_c>, _M_ext_buf = 0x0, _M_ext_buf_size = 0, _M_ext_next = 0x0, _M_ext_end = 0x0}}
        mod = {m_maj = 3, m_min = 10, m_unicode = true, m_code = {m_obj = 0x5555555cc730}, m_interns = std::vector of length 345, capacity 512 = {{m_obj = 0x5555555cd010}, {
              m_obj = 0x5555555cd120}, {m_obj = 0x5555555cd180}, {m_obj = 0x5555555cd1c0}, {m_obj = 0x5555555cd460}, {m_obj = 0x5555555ce1a0}, {m_obj = 0x5555555ce1e0}, {
              m_obj = 0x5555555ce220}, {m_obj = 0x5555555ce310}, {m_obj = 0x5555555ce640}, {m_obj = 0x5555555cea40}, {m_obj = 0x5555555cea80}, {m_obj = 0x5555555ceed0}, {
              m_obj = 0x5555555cf0a0}, {m_obj = 0x5555555cf280}, {m_obj = 0x5555555cf2c0}, {m_obj = 0x5555555cf600}, {m_obj = 0x5555555cf640}, {m_obj = 0x5555555cf680}, {
              m_obj = 0x5555555cf6c0}, {m_obj = 0x5555555cf700}, {m_obj = 0x5555555cf7a0}, {m_obj = 0x5555555cf7e0}, {m_obj = 0x5555555cf820}, {m_obj = 0x5555555cf970}, {
              m_obj = 0x5555555cf9b0}, {m_obj = 0x5555555cf9f0}, {m_obj = 0x5555555cfa30}, {m_obj = 0x5555555cfa70}, {m_obj = 0x5555555cfab0}, {m_obj = 0x5555555cfaf0}, {
              m_obj = 0x5555555cfb30}, {m_obj = 0x5555555cfb70}, {m_obj = 0x5555555cfbb0}, {m_obj = 0x5555555cfc70}, {m_obj = 0x5555555cfcb0}, {m_obj = 0x5555555cfcf0}, {
              m_obj = 0x5555555cfd30}, {m_obj = 0x5555555cfd70}, {m_obj = 0x5555555cfe70}, {m_obj = 0x5555555d0170}, {m_obj = 0x5555555d0250}, {m_obj = 0x5555555d0290}, {
              m_obj = 0x5555555d02d0}, {m_obj = 0x5555555d0340}, {m_obj = 0x5555555d0380}, {m_obj = 0x5555555d03c0}, {m_obj = 0x5555555d0400}, {m_obj = 0x5555555d0440}, {
              m_obj = 0x5555555d0480}, {m_obj = 0x5555555d0530}, {m_obj = 0x5555555d08a0}, {m_obj = 0x5555555d08e0}, {m_obj = 0x5555555d1130}, {m_obj = 0x5555555d11b0}, {
              m_obj = 0x5555555d1440}, {m_obj = 0x5555555d1480}, {m_obj = 0x5555555d1530}, {m_obj = 0x5555555d1570}, {m_obj = 0x5555555d15b0}, {m_obj = 0x5555555d1630}, {
              m_obj = 0x5555555d19a0}, {m_obj = 0x5555555d19e0}, {m_obj = 0x5555555d1a20}, {m_obj = 0x5555555d1a60}, {m_obj = 0x5555555d1aa0}, {m_obj = 0x5555555d1ae0}, {
              m_obj = 0x5555555d1b20}, {m_obj = 0x5555555d1b60}, {m_obj = 0x5555555d1ba0}, {m_obj = 0x5555555d1be0}, {m_obj = 0x5555555d1c80}, {m_obj = 0x5555555d1d00}, {
              m_obj = 0x5555555d20c0}, {m_obj = 0x5555555d2220}, {m_obj = 0x5555555d2260}, {m_obj = 0x5555555d22a0}, {m_obj = 0x5555555d22e0}, {m_obj = 0x5555555d23c0}, {
              m_obj = 0x5555555d2440}, {m_obj = 0x5555555d28f0}, {m_obj = 0x5555555d2930}, {m_obj = 0x5555555d29d0}, {m_obj = 0x5555555d2a10}, {m_obj = 0x5555555d2a90}, {
              m_obj = 0x5555555d2c60}, {m_obj = 0x5555555d2ce0}, {m_obj = 0x5555555d30a0}, {m_obj = 0x5555555d30e0}, {m_obj = 0x5555555d3120}, {m_obj = 0x5555555d3160}, {
              m_obj = 0x5555555d3200}, {m_obj = 0x5555555d3240}, {m_obj = 0x5555555d32c0}, {m_obj = 0x5555555d3660}, {m_obj = 0x5555555d3750}, {m_obj = 0x5555555d3790}, {
              m_obj = 0x5555555d37d0}, {m_obj = 0x5555555d3810}, {m_obj = 0x5555555d3850}, {m_obj = 0x5555555d3890}, {m_obj = 0x5555555d3970}, {m_obj = 0x5555555d3d30}, {
              m_obj = 0x5555555d3d70}, {m_obj = 0x5555555d3db0}, {m_obj = 0x5555555d3e90}, {m_obj = 0x5555555d3ed0}, {m_obj = 0x5555555d3f10}, {m_obj = 0x5555555d3f50}, {
              m_obj = 0x5555555d3fd0}, {m_obj = 0x5555555d43d0}, {m_obj = 0x5555555d4600}, {m_obj = 0x5555555d4640}, {m_obj = 0x5555555d4680}, {m_obj = 0x5555555d4730}, {
              m_obj = 0x5555555d4770}, {m_obj = 0x5555555d47e0}, {m_obj = 0x5555555d4890}, {m_obj = 0x5555555d4e40}, {m_obj = 0x5555555d4e80}, {m_obj = 0x5555555d4f00}, {
              m_obj = 0x5555555d0e10}, {m_obj = 0x5555555d0ed0}, {m_obj = 0x5555555d0f10}, {m_obj = 0x5555555d0f50}, {m_obj = 0x5555555d0f90}, {m_obj = 0x5555555d1010}, {
              m_obj = 0x5555555d6b70}, {m_obj = 0x5555555d6bf0}, {m_obj = 0x5555555d78f0}, {m_obj = 0x5555555d7ea0}, {m_obj = 0x5555555d7fb0}, {m_obj = 0x5555555d88c0}, {
              m_obj = 0x5555555d8900}, {m_obj = 0x5555555d8970}, {m_obj = 0x5555555d89b0}, {m_obj = 0x5555555d8a20}, {m_obj = 0x5555555d8a60}, {m_obj = 0x5555555d8aa0}, {
              m_obj = 0x5555555d8ae0}, {m_obj = 0x5555555d8b20}, {m_obj = 0x5555555d8b60}, {m_obj = 0x5555555d8ba0}, {m_obj = 0x5555555d8be0}, {m_obj = 0x5555555d8ca0}, {
              m_obj = 0x5555555d8ce0}, {m_obj = 0x5555555d8d20}, {m_obj = 0x5555555d8d60}, {m_obj = 0x5555555d8de0}, {m_obj = 0x5555555d9390}, {m_obj = 0x5555555d9670}, {
              m_obj = 0x5555555d96b0}, {m_obj = 0x5555555d96f0}, {m_obj = 0x5555555d9760}, {m_obj = 0x5555555d97a0}, {m_obj = 0x5555555d97e0}, {m_obj = 0x5555555d9820}, {
              m_obj = 0x5555555d9860}, {m_obj = 0x5555555d9910}, {m_obj = 0x5555555d9950}, {m_obj = 0x5555555d99d0}, {m_obj = 0x5555555d9e00}, {m_obj = 0x5555555d9f10}, {
              m_obj = 0x5555555da3d0}, {m_obj = 0x5555555da410}, {m_obj = 0x5555555da450}, {m_obj = 0x5555555da490}, {m_obj = 0x5555555da570}, {m_obj = 0x5555555da5b0}, {
              m_obj = 0x5555555da5f0}, {m_obj = 0x5555555da730}, {m_obj = 0x5555555da770}, {m_obj = 0x5555555da7b0}, {m_obj = 0x5555555da7f0}, {m_obj = 0x5555555da830}, {
              m_obj = 0x5555555da870}, {m_obj = 0x5555555da8e0}, {m_obj = 0x5555555da950}, {m_obj = 0x5555555da990}, {m_obj = 0x5555555daa00}, {m_obj = 0x5555555daad0}, {
              m_obj = 0x5555555dab50}, {m_obj = 0x5555555db0b0}, {m_obj = 0x5555555db0f0}, {m_obj = 0x5555555db130}, {m_obj = 0x5555555db170}, {m_obj = 0x5555555db1b0}, {
              m_obj = 0x5555555db230}, {m_obj = 0x5555555db270}, {m_obj = 0x5555555db2b0}, {m_obj = 0x5555555db310}, {m_obj = 0x5555555db350}, {m_obj = 0x5555555db390}, {
              m_obj = 0x5555555db520}, {m_obj = 0x5555555db560}, {m_obj = 0x5555555db5a0}, {m_obj = 0x5555555db610}, {m_obj = 0x5555555db6e0}, {m_obj = 0x5555555dbe70}, {
              m_obj = 0x5555555dbef0}...}, m_refs = std::vector of length 759, capacity 1024 = {{m_obj = 0x5555555cc730}, {m_obj = 0x5555555cc800}, {m_obj = 0x5555555cc7e0}, {
              m_obj = 0x5555555ccfd0}, {m_obj = 0x5555555cd010}, {m_obj = 0x5555555cd0c0}, {m_obj = 0x5555555cd120}, {m_obj = 0x5555555cd180}, {m_obj = 0x5555555cd1c0}, {
              m_obj = 0x5555555cd290}, {m_obj = 0x5555555cd300}, {m_obj = 0x5555555cd340}, {m_obj = 0x5555555cd3b0}, {m_obj = 0x5555555cd3f0}, {m_obj = 0x5555555cd460}, {
              m_obj = 0x5555555cd4a0}, {m_obj = 0x5555555cd4e0}, {m_obj = 0x5555555cd660}, {m_obj = 0x5555555cd6d0}, {m_obj = 0x5555555cd710}, {m_obj = 0x5555555cd780}, {
              m_obj = 0x5555555cd7f0}, {m_obj = 0x5555555cd860}, {m_obj = 0x5555555cd8a0}, {m_obj = 0x5555555cd910}, {m_obj = 0x5555555cd980}, {m_obj = 0x5555555cd9f0}, {
              m_obj = 0x5555555cda60}, {m_obj = 0x5555555cdad0}, {m_obj = 0x5555555cdb10}, {m_obj = 0x5555555cdb50}, {m_obj = 0x5555555cdb90}, {m_obj = 0x5555555cdc00}, {
              m_obj = 0x5555555cde80}, {m_obj = 0x5555555cdef0}, {m_obj = 0x5555555cdf30}, {m_obj = 0x5555555cdf70}, {m_obj = 0x5555555cdff0}, {m_obj = 0x5555555ce060}, {
              m_obj = 0x5555555ce0d0}, {m_obj = 0x5555555ce160}, {m_obj = 0x5555555ce1a0}, {m_obj = 0x5555555ce1e0}, {m_obj = 0x5555555ce220}, {m_obj = 0x5555555ce260}, {
              m_obj = 0x5555555ce2a0}, {m_obj = 0x5555555ce310}, {m_obj = 0x5555555ce350}, {m_obj = 0x5555555ce3f0}, {m_obj = 0x5555555ce460}, {m_obj = 0x5555555ce4e0}, {
              m_obj = 0x5555555ce520}, {m_obj = 0x5555555ce640}, {m_obj = 0x5555555ce680}, {m_obj = 0x5555555ce700}, {m_obj = 0x5555555ce740}, {m_obj = 0x5555555ce7b0}, {
              m_obj = 0x5555555ce7f0}, {m_obj = 0x5555555ce830}, {m_obj = 0x5555555ce870}, {m_obj = 0x5555555ce8f0}, {m_obj = 0x5555555ce960}, {m_obj = 0x5555555ce9d0}, {
              m_obj = 0x5555555cea40}, {m_obj = 0x5555555cea80}, {m_obj = 0x5555555ceed0}, {m_obj = 0x5555555cef10}, {m_obj = 0x5555555cef30}, {m_obj = 0x5555555cefa0}, {
              m_obj = 0x5555555cf030}, {m_obj = 0x5555555cf0a0}, {m_obj = 0x5555555cf0e0}, {m_obj = 0x5555555cf1a0}, {m_obj = 0x5555555cf240}, {m_obj = 0x5555555cf280}, {
              m_obj = 0x5555555cf2c0}, {m_obj = 0x5555555cf3b0}, {m_obj = 0x5555555cf550}, {m_obj = 0x5555555cf590}, {m_obj = 0x5555555cf600}, {m_obj = 0x5555555cf640}, {
              m_obj = 0x5555555cf680}, {m_obj = 0x5555555cf6c0}, {m_obj = 0x5555555cf700}, {m_obj = 0x5555555cf740}, {m_obj = 0x5555555cf7a0}, {m_obj = 0x5555555cf7e0}, {
              m_obj = 0x5555555cf820}, {m_obj = 0x5555555cf860}, {m_obj = 0x5555555cf8a0}, {m_obj = 0x5555555cf8c0}, {m_obj = 0x5555555cf970}, {m_obj = 0x5555555cf9b0}, {
              m_obj = 0x5555555cf9f0}, {m_obj = 0x5555555cfa30}, {m_obj = 0x5555555cfa70}, {m_obj = 0x5555555cfab0}, {m_obj = 0x5555555cfaf0}, {m_obj = 0x5555555cfb30}, {
              m_obj = 0x5555555cfb70}, {m_obj = 0x5555555cfbb0}, {m_obj = 0x5555555cfbf0}, {m_obj = 0x5555555cfc70}, {m_obj = 0x5555555cfcb0}, {m_obj = 0x5555555cfcf0}, {
              m_obj = 0x5555555cfd30}, {m_obj = 0x5555555cfd70}, {m_obj = 0x5555555cfdf0}, {m_obj = 0x5555555cfe30}, {m_obj = 0x5555555cfe70}, {m_obj = 0x5555555cfef0}, {
              m_obj = 0x5555555d0070}, {m_obj = 0x5555555d0170}, {m_obj = 0x5555555d01b0}, {m_obj = 0x5555555d0250}, {m_obj = 0x5555555d0290}, {m_obj = 0x5555555d02d0}, {
              m_obj = 0x5555555d0340}, {m_obj = 0x5555555d0380}, {m_obj = 0x5555555d03c0}, {m_obj = 0x5555555d0400}, {m_obj = 0x5555555d0440}, {m_obj = 0x5555555d0480}, {
              m_obj = 0x5555555d0530}, {m_obj = 0x5555555d05e0}, {m_obj = 0x5555555d0740}, {m_obj = 0x5555555d0840}, {m_obj = 0x5555555d08a0}, {m_obj = 0x5555555d08e0}, {
              m_obj = 0x5555555d1130}, {m_obj = 0x5555555d1170}, {m_obj = 0x5555555d11b0}, {m_obj = 0x5555555d11f0}, {m_obj = 0x5555555d1230}, {m_obj = 0x5555555d1270}, {
              m_obj = 0x5555555d1290}, {m_obj = 0x5555555d12d0}, {m_obj = 0x5555555d1310}, {m_obj = 0x5555555d1350}, {m_obj = 0x5555555d13c0}, {m_obj = 0x5555555d1440}, {
              m_obj = 0x5555555d1480}, {m_obj = 0x5555555d14c0}, {m_obj = 0x5555555d1530}, {m_obj = 0x5555555d1570}, {m_obj = 0x5555555d15b0}, {m_obj = 0x5555555d1630}, {
              m_obj = 0x5555555d16b0}, {m_obj = 0x5555555d1820}, {m_obj = 0x5555555d1900}, {m_obj = 0x5555555d19a0}, {m_obj = 0x5555555d19e0}, {m_obj = 0x5555555d1a20}, {
              m_obj = 0x5555555d1a60}, {m_obj = 0x5555555d1aa0}, {m_obj = 0x5555555d1ae0}, {m_obj = 0x5555555d1b20}, {m_obj = 0x5555555d1b60}, {m_obj = 0x5555555d1ba0}, {
              m_obj = 0x5555555d1be0}, {m_obj = 0x5555555d1c20}, {m_obj = 0x5555555d1c80}, {m_obj = 0x5555555d1d00}, {m_obj = 0x5555555d1db0}, {m_obj = 0x5555555d1ee0}, {
              m_obj = 0x5555555d2080}, {m_obj = 0x5555555d20c0}, {m_obj = 0x5555555d2100}, {m_obj = 0x5555555d2170}, {m_obj = 0x5555555d2220}, {m_obj = 0x5555555d2260}, {
              m_obj = 0x5555555d22a0}, {m_obj = 0x5555555d22e0}, {m_obj = 0x5555555d2350}, {m_obj = 0x5555555d23c0}, {m_obj = 0x5555555d2440}, {m_obj = 0x5555555d24f0}, {
              m_obj = 0x5555555d2650}, {m_obj = 0x5555555d27d0}, {m_obj = 0x5555555d2880}, {m_obj = 0x5555555d28f0}, {m_obj = 0x5555555d2930}, {m_obj = 0x5555555d2970}, {
              m_obj = 0x5555555d29d0}, {m_obj = 0x5555555d2a10}, {m_obj = 0x5555555d2a90}, {m_obj = 0x5555555d2b10}, {m_obj = 0x5555555d2b90}, {m_obj = 0x5555555d2c00}, {
              m_obj = 0x5555555d2c60}, {m_obj = 0x5555555d2ce0}, {m_obj = 0x5555555d2d60}, {m_obj = 0x5555555d2e90}, {m_obj = 0x5555555d2fa0}, {m_obj = 0x5555555d3010}, {
              m_obj = 0x5555555d30a0}, {m_obj = 0x5555555d30e0}, {m_obj = 0x5555555d3120}, {m_obj = 0x5555555d3160}, {m_obj = 0x5555555d31a0}...}}
        dispname = 0x7fffffffe2c6 "install.pyc"
(gdb) quit

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants