[pypy-dev] Segmentation fault at rpyvmprof_f_pypy_rrr ()

Yicong Huang hengha.mao at gmail.com
Tue Sep 8 09:20:43 CEST 2015


Here are the output of gdb "info threads". We didn't call
"pypy_init_threads()" or "pypy_thread_attach()" in the code.
(gdb) info threads
  Id   Target Id         Frame
  132  Thread 0x414ea940 (LWP 32385) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  131  Thread 0x413e9940 (LWP 32384) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  130  Thread 0x4025c940 (LWP 32382) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  129  Thread 0x45f88940 (LWP 32455) 0x0000003472a9a901 in nanosleep ()
from /lib64/libc.so.6
  128  Thread 0x43760940 (LWP 32412) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  127  Thread 0x43861940 (LWP 32413) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  126  Thread 0x4648d940 (LWP 32460) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  125  Thread 0x4365f940 (LWP 32409) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  124  Thread 0x46089940 (LWP 32456) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  123  Thread 0x46f98940 (LWP 32716) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
  122  Thread 0x45c85940 (LWP 32452) 0x000000347320af59 in
pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  121  Thread 0x41157940 (LWP 32381) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  120  Thread 0x4517a940 (LWP 32440) 0x000000347320af59 in
pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  119  Thread 0x47099940 (LWP 32717) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
  118  Thread 0x4234c940 (LWP 32390) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  117  Thread 0x4035d940 (LWP 32386) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  116  Thread 0x42a53940 (LWP 32397) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  115  Thread 0x41b6b940 (LWP 32380) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  114  Thread 0x44f78940 (LWP 32438) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  113  Thread 0x4719a940 (LWP 32718) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
  112  Thread 0x4224b940 (LWP 32388) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  111  Thread 0x4254e940 (LWP 32392) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  110  Thread 0x4658e940 (LWP 32461) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  109  Thread 0x42b54940 (LWP 32398) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  108  Thread 0x45b84940 (LWP 32451) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  107  Thread 0x4729b940 (LWP 32719) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
  106  Thread 0x41e56940 (LWP 32389) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  105  Thread 0x42f58940 (LWP 32402) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  104  Thread 0x4264f940 (LWP 32393) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  103  Thread 0x4668f940 (LWP 32462) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  102  Thread 0x45a83940 (LWP 32449) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
  101  Thread 0x4739c940 (LWP 32720) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  100  Thread 0x4315a940 (LWP 32404) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
---Type <return> to continue, or q <return> to quit---
  99   Thread 0x42851940 (LWP 32395) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  98   Thread 0x45881940 (LWP 32447) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  97   Thread 0x4749d940 (LWP 32721) 0x000000347320af59 in
pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  96   Thread 0x46b94940 (LWP 32712) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
  95   Thread 0x4345d940 (LWP 32407) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  94   Thread 0x46790940 (LWP 2815) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  93   Thread 0x44e77940 (LWP 32437) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  92   Thread 0x4355e940 (LWP 32408) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  91   Thread 0x46c95940 (LWP 32713) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
  90   Thread 0x4759e940 (LWP 32722) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
  89   Thread 0x44d76940 (LWP 32436) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  88   Thread 0x46d96940 (LWP 32714) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
  87   Thread 0x4769f940 (LWP 32723) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
  86   Thread 0x44a73940 (LWP 32433) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  85   Thread 0x4214a940 (LWP 32377) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  84   Thread 0x477a0940 (LWP 32724) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
  83   Thread 0x46e97940 (LWP 32715) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
  82   Thread 0x44972940 (LWP 32432) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  81   Thread 0x478a1940 (LWP 32725) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
  80   Thread 0x44871940 (LWP 32431) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  79   Thread 0x479a2940 (LWP 32726) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
  78   Thread 0x47aa3940 (LWP 32727) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
  77   Thread 0x47ba4940 (LWP 32728) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
  76   Thread 0x47ca5940 (LWP 32729) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
  75   Thread 0x47fa8940 (LWP 2188) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
  74   Thread 0x47da6940 (LWP 32730) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  73   Thread 0x480a9940 (LWP 2189) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
  72   Thread 0x4527b940 (LWP 32441) 0x0000003472a9a901 in nanosleep ()
from /lib64/libc.so.6
  71   Thread 0x485ae940 (LWP 2195) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
  70   Thread 0x4537c940 (LWP 32442) 0x000000347320af59 in
pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  69   Thread 0x4618a940 (LWP 32457) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
  68   Thread 0x45982940 (LWP 32448) 0x000000347320af59 in
pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  67   Thread 0x484ad940 (LWP 2194) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
  66   Thread 0x486af940 (LWP 2196) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
---Type <return> to continue, or q <return> to quit---
  65   Thread 0x4325b940 (LWP 32405) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  64   Thread 0x40ced940 (LWP 32375) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  63   Thread 0x41056940 (LWP 32370) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  62   Thread 0x41ced940 (LWP 32450) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  61   Thread 0x46992940 (LWP 32710) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  60   Thread 0x40772940 (LWP 3069) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  59   Thread 0x483ac940 (LWP 2193) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
  58   Thread 0x4628b940 (LWP 32458) 0x000000347320af59 in
pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  57   Thread 0x42049940 (LWP 32376) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  56   Thread 0x4048e940 (LWP 32373) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  55   Thread 0x488b1940 (LWP 3071) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  54   Thread 0x46a93940 (LWP 32711) 0x000000347320af59 in
pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  53   Thread 0x44770940 (LWP 32430) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  52   Thread 0x42e57940 (LWP 32401) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  51   Thread 0x481aa940 (LWP 2190) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
  50   Thread 0x4446d940 (LWP 32425) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
  49   Thread 0x43f68940 (LWP 32420) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  48   Thread 0x40dee940 (LWP 32378) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  47   Thread 0x4567f940 (LWP 32445) 0x000000347320af59 in
pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  46   Thread 0x43a63940 (LWP 32415) 0x000000347320af59 in
pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  45   Thread 0x45e87940 (LWP 32454) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  44   Thread 0x487b0940 (LWP 2197) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
  43   Thread 0x41969940 (LWP 32369) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  42   Thread 0x40eef940 (LWP 32379) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  41   Thread 0x41868940 (LWP 32351) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  40   Thread 0x45079940 (LWP 32439) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  39   Thread 0x4638c940 (LWP 32459) 0x0000003472a9a901 in nanosleep ()
from /lib64/libc.so.6
  38   Thread 0x4466f940 (LWP 32429) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  37   Thread 0x4436c940 (LWP 32424) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
  36   Thread 0x47ea7940 (LWP 2187) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
  35   Thread 0x43059940 (LWP 32403) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  34   Thread 0x4416a940 (LWP 32422) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  33   Thread 0x482ab940 (LWP 2191) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
  32   Thread 0x43d66940 (LWP 32418) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
---Type <return> to continue, or q <return> to quit---
  31   Thread 0x42c55940 (LWP 32399) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  30   Thread 0x45d86940 (LWP 32453) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  29   Thread 0x45780940 (LWP 32446) 0x000000347320af59 in
pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  28   Thread 0x4547d940 (LWP 32443) 0x000000347320af59 in
pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  27   Thread 0x44b74940 (LWP 32434) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  26   Thread 0x4557e940 (LWP 32444) 0x000000347320af59 in
pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  25   Thread 0x40a40940 (LWP 32352) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  24   Thread 0x412e8940 (LWP 32350) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  23   Thread 0x44c75940 (LWP 32435) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  22   Thread 0x7f27f911d8c0 (LWP 31988) 0x0000003472a9a901 in nanosleep ()
from /lib64/libc.so.6
  21   Thread 0x40b41940 (LWP 32368) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  20   Thread 0x41c6c940 (LWP 32383) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  19   Thread 0x4456e940 (LWP 32426) 0x000000347320af59 in
pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  18   Thread 0x4426b940 (LWP 32423) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  17   Thread 0x43e67940 (LWP 32419) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  16   Thread 0x44069940 (LWP 32421) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  15   Thread 0x43c65940 (LWP 32417) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
  14   Thread 0x4244d940 (LWP 32391) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  13   Thread 0x43b64940 (LWP 32416) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  12   Thread 0x43962940 (LWP 32414) 0x000000347320af59 in
pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  11   Thread 0x42d56940 (LWP 32400) 0x000000347320cd91 in sem_wait () from
/lib64/libpthread.so.0
  10   Thread 0x4335c940 (LWP 32406) 0x0000003472a9a901 in nanosleep ()
from /lib64/libc.so.6
  9    Thread 0x42952940 (LWP 32396) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  8    Thread 0x42750940 (LWP 32394) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  7    Thread 0x415eb940 (LWP 32387) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  6    Thread 0x41a6a940 (LWP 32374) 0x0000003472ad4d98 in epoll_wait ()
from /lib64/libc.so.6
  5    Thread 0x4093f940 (LWP 3068) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  4    Thread 0x41767940 (LWP 32346) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  3    Thread 0x40671940 (LWP 32345) 0x0000003472a9a901 in nanosleep ()
from /lib64/libc.so.6
  2    Thread 0x4015b940 (LWP 3070) 0x000000347320b1c0 in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
* 1    Thread 0x46891940 (LWP 3067) 0x00007f27ff816b82 in
rpyvmprof_f_pypy_rrr () from /usr/local/pypy/libpypy-c.so



On Tue, Sep 8, 2015 at 2:33 PM, Armin Rigo <arigo at tunes.org> wrote:

> Hi Yicong,
>
> On Tue, Sep 8, 2015 at 5:07 AM, Yicong Huang <hengha.mao at 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 at 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.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pypy-dev/attachments/20150908/ee06c194/attachment-0001.html>


More information about the pypy-dev mailing list