Bug#766732: Debugging : no useful results so far
Brian Drummond
brian at shapes.demon.co.uk
Mon Oct 27 16:58:09 UTC 2014
On Mon, 2014-10-27 at 14:10 +0000, Simon McVittie wrote:
> On 26/10/14 14:59, Brian Drummond wrote:
> > "gdb nautilus" allows me to reproduce the segfault, but doesn't return
> > control to the debugger. So the "pool" (is it a process? I can't see it
> > in ps ax) containing the error must be elsewhere in the system.
>
> You might need to make sure all nautilus processes have been killed
> before starting one under gdb - nautilus probably has some "single
> instance" logic going on.
Thanks for these hints.
> % pstree -p
> ...
> ├─nautilus(9073)─┬─{dconf worker}(9079)
> │ ├─{gdbus}(9076)
> │ ├─{gmain}(9078)
> │ └─{pool}(9077)
I can now see
|---gdb(4450)---nautilus(4670)-+-{dconf worker}(4674)
|-{gdbus}(4671)
|-{gmain}(4673)
`-{pool}(4681)
but when I reproduce the segfault, dmesg reports
[24621.126174] pool[4704]: segfault at 0 ip 00007f95c1e6da3a sp
00007f95af7fdcb8 error 4 in libc-2.19.so[7f95c1dec000+19f000]
and gdb reports...
(nautilus:4670): Gtk-WARNING **: Refusing to add non-unique action
'TerminalNautilus:OpenFolderLocal' to action group 'ExtensionsMenuGroup'
[New Thread 0x7fffd082b700 (LWP 4688)]
[Thread 0x7fffd082b700 (LWP 4688) exited]
[Thread 0x7fffca980700 (LWP 4681) exited]
Gtk-Message: GtkDialog mapped without a transient parent.
So I believe the Nautilus thread pool closes and *something else* starts
another thread pool (4704) where the segfault occurs.
And ps ax shows...
4450 pts/0 S 0:01 gdb nautilus
4476 ? Sl 0:00 /usr/lib/gvfs/gvfsd-smb-browse
--spawner :1.8 /org/gtk/gvfs/exec_spaw/4
4482 ? Sl 0:00 /usr/lib/gvfs/gvfsd-network
--spawner :1.8 /org/gtk/gvfs/exec_spaw/5
4500 ? Sl 0:00 /usr/lib/gvfs/gvfsd-dnssd
--spawner :1.8 /org/gtk/gvfs/exec_spaw/9
4520 pts/1 Ss 0:00 /bin/bash
4542 ? Sl 0:35 /usr/bin/gedit --gapplication-service
4547 ? S 0:00 [kworker/1:2]
4670 pts/0 Sl+ 0:08 /usr/bin/nautilus
4695 ? S 0:01 [kworker/3:0]
4752 pts/1 R+ 0:00 ps ax
Quitting gdb confirms that 4670 is indeed the Nautilus spawned by gdb.
So I suspect that one of the gvfs services (4476,4482,4500 above) may be
creating this pool and failing.
Now, how would I go about closing those and restarting them under gdb
before starting Nautilus? Apologies if this is a ridiculously basic
question; it doesn't seem that way to me.
Incidentally this other "pool[]: segfault in libc-2.xx" bug also
appeared to be in or around gvfs.
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=707681
Didn't think it was related to mine, but it might be after all.
- Brian
More information about the pkg-gnome-maintainers
mailing list