Restarting alsasound causes xfce4-panel to disappear and the theme to change

John Shane jslists at mtwafrica.org
Tue Jul 5 15:04:11 CEST 2005


On Mon, 4 Jul 2005 16:10:21 -0400
Erik Harrison <erikharrison at gmail.com> wrote:

> 
> Start two terminals. $ is the shell prompt.
> 
> $ ps -A
>   Get the process ID of the panel
> $ gdb
>   Starts the GNU Debugger
> gdb> attach 12345
>   Replace 12345 with the PID of the panel
> 
> Okay, now, the panel hangs when I attach gdb, for reasons I don't
> understand, which is why you start a second terminal when you start.
> 
> In that second term:
> $ /etc/init.d/alsasound restart
>   Which should restart alsasound for you. Crash goes the panel.
>   Because gdb traps the crash, you'll note that the panel actually
> doesn't disapper. But in the terminal where the panel is running,
> you'll see something like "Recieved signal SIGABRT" or whatever. So,
> in the term with GDB:
> 
> gdb> bt
>   Will give you a backtrace. A backtrace walks the stack and lists
> where the crash occured, and what happened to bring the app to that
> point.
> 
> You may get a lot of info about debugging symbols not being found.
> Debugging symbols are extra info in the binary that the debugger uses
> to figure out what the human readable function names are. You can
> recompile the panel with --enable-debug=full tacked on to configure to
> add debugging symbols to the binary.
> 
> Hope that's clear enough
> 

Very. ;-)  Thanks.

I followed your instructions and in the first terminal ran ps -A, then
GDB and attached the xfce4-panel PID.  Here is the ps and GDB output:

<snip>
16402 ?        00:00:00 xfwm4
16404 ?        00:00:00 xftaskbar4
16406 ?        00:00:00 xfdesktop
16408 ?        00:00:03 xfce4-panel
16410 ?        00:00:01 sylpheed
16460 ?        00:00:02 gnome-terminal
16462 ?        00:00:00 gconfd-2
16464 ?        00:00:00 bonobo-activati
16468 ?        00:00:00 esd
16471 ?        00:00:00 gnome-pty-helpe
16472 pts/1    00:00:00 bash
16482 pts/2    00:00:00 bash
16489 pts/1    00:00:00 ps
jshane at rdlaptop:~> gdb
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
<snip GNU license stuff>
(gdb) attach 16408
Attaching to process 16408
Reading symbols from /usr/bin/xfce4-panel...done.
Using host libthread_db library "/lib/tls/libthread_db.so.1".
Reading symbols from /usr/lib/libxfcegui4.so.3...done.
Loaded symbols for /usr/lib/libxfcegui4.so.3
<snip>

At this point there was a long list of libraries that GDB read symbols
from and loaded symbols for. Then at the end of the process of reading
libraries it did this:

<snip>
Loaded symbols for /opt/gnome/lib/gtk-2.0/2.4.0/loaders/libpixbufloader-
xpm.so
0xffffe410 in ?? () 
(gdb) 

After running /etc/init.d/alsasound restart in the other terminal I ran
backtrace.

(gdb) bt
#0  0xffffe410 in ?? ()
Error accessing memory address 0xbfffeeac: No such process.
(gdb)

Otherwise everything happened as before.  The panel disappeared and the
theme changed.  As you can see above I used the right PID for GDB to
attach.  Also there was nothing like "Received signal SIGABRT" in either
terminal.

The "0xffffe410 in ?? ()" at the end of the process of attaching the panel
PID and the fact that it didn't trap the crash after all points to what?

Thanks for any help you can give with this. John



More information about the Xfce mailing list