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