Hi Yicong, On Tue, Sep 8, 2015 at 5:07 AM, Yicong Huang <hengha....@gmail.com> wrote: > 0x00007f27ff816b6a <+42>: 66 48 8d 3d 8e b3 2f 01 data16 lea > 0x12fb38e(%rip),%rdi # 0x7f2800b11f00 > 0x00007f27ff816b72 <+50>: 66 66 48 e8 6e ec cf ff data16 data16 callq > 0x7f27ff5157e8 <__tls_get_addr@plt> > 0x00007f27ff816b7e <+62>: 48 8b 68 30 mov 0x30(%rax),%rbp > => 0x00007f27ff816b82 <+66>: 4c 8b 75 48 mov 0x48(%rbp),%r14
The first two instructions are reading the TLS (thread-local storage); then the 3rd is mostly probably reading the current executioncontext; then the 4th is trying to read something out of the executioncontext---which is NULL at this point. I may be wrong, but I think that this crash can only occur in these two cases: if rpython_startup_code() was not called yet (which should not be the case here), or if the crash occurs in a different thread and pypy_thread_attach() was not called yet in this thread. You should be able to check if the program was running multiple threads by doing "info threads" in gdb at the point of the crash. If it is, did you call pypy_init_threads() once from the main thread and then pypy_thread_attach() in that other thread? A bientôt, Armin. _______________________________________________ pypy-dev mailing list pypy-dev@python.org https://mail.python.org/mailman/listinfo/pypy-dev