GNOME Bugzilla – Bug 785401
Cannot start. Get "Real-time signal 0"
Last modified: 2017-08-08 14:50:50 UTC
Starting today on amd64 I can't even start epiphany anymore. 4 our of five times I get Real-time signal 0 or Segmentation Fault. If I do $ strace epiphany it runs fine. Google search about Real-time signal 0 doesn't help much.
Thanks for taking the time to report this. Without a stack trace from the crash it's very hard to determine what caused it. Can you get us a stack trace? Please see https://wiki.gnome.org/Community/GettingInTouch/Bugzilla/GettingTraces for more information on how to do so. When pasting a stack trace in this bug report, please reset the status of this bug report from NEEDINFO to its previous status. Thanks in advance!
You know what? I don't think I will ever get a stack trace. Before downloading the version with the debugging symbols, I tried an experiment: $ gdb epiphany (gdb) r Works fine every time. The same with $ strace epiphany I.e., when running under a debugger it works fine. It is only when starting from the shell, four out of five times it dies. If it lives, it is fine. So there is some kind of linux kernel race condition about starting it. Also one would think: well, keep on trying until it starts. Then just use it all day. However I often do $ epiphany some_other_URL after the first one is running. Alas, it usually dies before contacting the running epiphany. Dmesg shows nothing.
That's pretty unfortunate. I don't know how to help with this without a stack trace. Something on your system is sending real-time signals, which presumably kill the process when received. Those aren't really used by... well, anything, at least not on desktop Linux. I've never heard of anything using them before, or anyone hitting anything like this.
Created attachment 356358 [details] Error in `epiphany': corrupted double-linked list
Try running it under valgrind.
Yup, runs fine under valgrind and other debuggers. Only odd thing I saw was ==7048== definitely lost: 3 bytes in 1 blocks ==7048== indirectly lost: 0 bytes in 0 blocks ==7048== possibly lost: 4,688 bytes in 29 blocks You know I think I need to make a wrapper, a shell alias that starts epiphany under some sort of protective debugger, to get it started reliably. I tried nohup(1). Not good enough. $ sh -c epiphany Real-time signal 0 $ eval 'sh -c epiphany' Real-time signal 0
$ eval 'sh -c "exec epiphany"' Segmentation fault $ eval 'sh -c "exec epiphany"' Segmentation fault $ eval 'sh -c "exec epiphany"' *** Error in `epiphany': corrupted double-linked list (not small): 0x000000c84592c4e0 *** ======= Backtrace: ========= /lib/x86_64-linux-gnu/libc.so.6(+0x70bcb)[0x7f1f54860bcb] /lib/x86_64-linux-gnu/libc.so.6(+0x76f96)[0x7f1f54866f96] /lib/x86_64-linux-gnu/libc.so.6(+0x7826c)[0x7f1f5486826c] /usr/lib/x86_64-linux-gnu/libGL.so.1(+0xa0cc6)[0x7f1f5163acc6] ======= Memory map: ======== c843f9f000-c844069000 r-xp 00000000 08:07 333000 /usr/bin/epiphany c844268000-c84426f000 r--p 000c9000 08:07 333000 /usr/bin/epiphany c84426f000-c844270000 rw-p 000d0000 08:07 333000 /usr/bin/epiphany c844270000-c844271000 rw-p 00000000 00:00 0 c84583b000-c845ca3000 rw-p 00000000 00:00 0 [heap] 7f1f34000000-7f1f34021000 rw-p 00000000 00:00 0 7f1f34021000-7f1f38000000 ---p 00000000 00:00 0 7f1f3c000000-7f1f3c021000 rw-p 00000000 00:00 0 7f1f3c021000-7f1f40000000 ---p 00000000 00:00 0 7f1f416c9000-7f1f416cb000 r-xp 00000000 08:07 1298 /lib/x86_64-linux-gnu/libutil-2.24.so...
I would think maybe my memory sticks are bad, but no other program has this problem. # su - nobody -c 'HOME=/tmp/sss; epiphany'& [1] 7218 No directory, logging in with HOME=/ ** (epiphany:7222): WARNING **: Couldn't register with accessibility bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken. -su: line 1: 7222 Real-time signal 0 epiphany [1]+ Exit 162 su - nobody -c 'HOME=/tmp/sss; epiphany'
OK, since the error disappears inside debuggers, there's not much we can do to debug. But you didn't hit this problem yesterday. Probably not bad RAM as no other programs are crashing. Did you change anything about your system? Did you run a system update? Can you run the program 'glxgears' successfully?
glxgears works smoothly. OK I'll try an older kernel...
Nope. And # downgrading libglib2.0-0:amd64 from 2.53.4-1 to 2.53.2-1 $ epiphany Real-time signal 0 So it is something else new here on my up to date Debian Release: buster/sid APT prefers experimental APT policy: (990, 'experimental'), (500, 'unstable') Architecture: amd64 (x86_64) system. Well anyways, please now help me write a wrapper program (shell script) to ensure a working epiphany. strace epiphany > /dev/null 2>&1 & works fine but I'm sure that it isn't as efficient as it could be.
$ strace dash $ epiphany "epiphany\n", 8192) = 9 clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fcf123469d0) = 1693 wait4(-1, ** (epiphany:1693): WARNING **: Couldn't register with accessibility bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken. [{WIFSIGNALED(s) && WTERMSIG(s) == SIGRT_2}], 0, NULL) = 1693 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_KILLED, si_pid=1693, si_uid=65534, si_status=SIGRT_2, si_utime=62, si_stime=8} --- rt_sigreturn({mask=[]}) = 1693 write(2, "Real-time signal 0\n", 19Real-time signal 0 ) = 19 $ epiphany "epiphany\n", 8192) = 9 clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fcf123469d0) = 1700 wait4(-1, ** (epiphany:1700): WARNING **: Couldn't register with accessibility bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken. [{WIFSIGNALED(s) && WTERMSIG(s) == SIGSEGV}], 0, NULL) = 1700 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_KILLED, si_pid=1700, si_uid=65534, si_status=SIGSEGV, si_utime=35, si_stime=6} --- rt_sigreturn({mask=[]}) = 1700 write(2, "Segmentation fault\n", 19Segmentation fault ) = 19 "epiphany\n", 8192) = 9 clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fcf123469d0) = 1716 wait4(-1, ** (epiphany:1716): WARNING **: Couldn't register with accessibility bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken. *** Error in `epiphany': corrupted double-linked list (not small): 0x0000001d68899fa0 *** ======= Backtrace: ========= /lib/x86_64-linux-gnu/libc.so.6(+0x70bcb)[0x7fb92f533bcb] /lib/x86_64-linux-gnu/libc.so.6(+0x76f96)[0x7fb92f539f96] /lib/x86_64-linux-gnu/libc.so.6(+0x7826c)[0x7fb92f53b26c] /usr/lib/x86_64-linux-gnu/libGL.so.1(+0xa0cc6)[0x7fb92c30dcc6] ======= Memory map: ======== 1d670e1000-1d671ab000 r-xp 00000000 08:07 333000 /usr/bin/epiphany 1d673aa000-1d673b1000 r--p 000c9000 08:07 333000 /usr/bin/epiphany 1d673b1000-1d673b2000 rw-p 000d0000 08:07 333000 /usr/bin/epiphany... # su - nobody -c 'unset DISPLAY; HOME=/tmp/fdf epiphany' No directory, logging in with HOME=/ Unable to init server: Could not connect: Connection refused Failed to parse arguments: Cannot open display: # /usr/lib/x86_64-linux-gnu/webkit2gtk-4.0/MiniBrowser works fine
I have a script that opens five web pages $ ragii --all 08:07 ~$ xargs: epiphany: terminated by signal 34 ragii --all 08:07 ~$ xargs: epiphany: terminated by signal 34 ragii --all 08:07 ~$ xargs: epiphany: terminated by signal 34 ragii --all 08:07 ~$ xargs: epiphany: terminated by signal 11 ragii --all 08:07 ~$ xargs: epiphany: terminated by signal 11 ragii --all 08:07 ~$ xargs: epiphany: terminated by signal 34 ragii --all 08:07 ~$ xargs: epiphany: terminated by signal 34 ragii --all 08:07 ~$ xargs: epiphany: terminated by signal 11 ragii --all 08:07 ~$ xargs: epiphany: terminated by signal 34
And then sometimes it works. So this is an obvious race condition. Reminds me of WEBKIT_DISABLE_COMPOSITING_MODE=1 (yes, doesn't affect this bug, problem remains if I unset it.) With that the browser patiently wait for the page to load. Maybe there is another variable I could set, to make ephy not so much in a hurry to start... P.S., I can't clear the NEEDINFO flag, so I will keep sending you info, as apparently nobody in Linux has ever had this problem.
The info so far is not very useful. We still need a backtrace. You don't need to execute epiphany within gdb, just enable coredumpctl and get the backtrace from there. Or fight with ulimit manually.
Created attachment 356390 [details] # coredumpctl info (is this good enough or should I install the symbols package?)
You definitely need to install debug symbols... we can't see what's going wrong with all the frames missing. And use 'coredumpctl gdb' rather than 'coredumctl info'.
Created attachment 356393 [details] OK I installed epiphany-browser-dbgsym . Tell me what other ones you would like me to install.
Stacktrace looks like this is an issue in libGL. Hence might not be GNOME?:
+ Trace 237739
OK now the problem has magically gone away. Maybe via some update.
(Now after a few hours of pleasantly using my computer, the bug is back. I'll reassign https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=869746 to 'libgl1-nvidia-legacy-304xx-glx' as that is surely the problem.)