Bug#735898: pavucontrol segmentation fault

John M. jwmwalrus at gmail.com
Sat Feb 22 23:58:08 UTC 2014


Done:

~$ gdb `which pavucontrol`
GNU gdb (GDB) 7.6.2 (Debian 7.6.2-1)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show
copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/pavucontrol...done.
(gdb) set logging on
Copying output to gdb.txt.
(gdb) run
Starting program: /usr/bin/pavucontrol 
warning: no loadable sections found in added symbol-file system-supplied
DSO at 0x7ffff7ffa000
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library
"/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe874a700 (LWP 19970)]

Program received signal SIGSEGV, Segmentation fault.
0x0000000000428d80 in read_callback (s=0xcea800, length=4,
userdata=0x9561b0) at mainwindow.cc:385
385	    v = ((const float*) data)[length / sizeof(float) -1];
(gdb) backtrace
#0  0x0000000000428d80 in read_callback (s=0xcea800, length=4,
userdata=0x9561b0) at mainwindow.cc:385
#1  0x00007ffff3adad8b in ?? ()
from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#2  0x00007fffee0bb46d in ?? ()
from /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-4.0.so
#3  0x00007ffff3d17b77 in ?? ()
from /usr/lib/x86_64-linux-gnu/libpulse-mainloop-glib.so.0
#4  0x00007ffff3f63526 in g_main_context_dispatch ()
from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007ffff3f63878 in ?? ()
from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007ffff3f63b3a in g_main_loop_run ()
from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007ffff59a444d in gtk_main ()
from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#8  0x00007ffff7a1a8f1 in Gtk::Main::run(Gtk::Window&) ()
from /usr/lib/x86_64-linux-gnu/libgtkmm-3.0.so.1
#9  0x0000000000438981 in main (argc=1, argv=0x7fffffffdb28) at
pavucontrol.cc:670
(gdb) frame 9
#9  0x0000000000438981 in main (argc=1, argv=0x7fffffffdb28) at
pavucontrol.cc:670
670	            Gtk::Main::run(*mainWindow);
(gdb) frame 0
#0  0x0000000000428d80 in read_callback (s=0xcea800, length=4,
userdata=0x9561b0) at mainwindow.cc:385
385	    v = ((const float*) data)[length / sizeof(float) -1];
(gdb) kill
Kill the program being debugged? (y or n) y
(gdb) q


gdb.txt is attached.

--
John


On Sun, 2014-02-23 at 00:19 +0100, Simone Vellei wrote:
> Hi John,
> 
> maybe we can investigate also with gdb compiling pavucontrol with
> debug symbols:
> 
> 
> $ apt-get source pavucontrol && cd pavucontrol-1.0
> $ export DEB_BUILD_OPTIONS="nostrip noopt"
> $ dpkg-buildpackage -rfakeroot -uc -us
> 
> 
> $ sudo dpkg -i ../pavucontrol_1.0-1_i386.deb
> 
> $ gdb pavucontrol
> 
> 
> and attach here gdb output.
> 
> 
> 
> 2014-02-22 23:09 GMT+01:00 John M. <jwmwalrus at gmail.com>:
> 
>         Hi,
>         
>         Running 
>         
>                 $ strace pavucontrol > ~/pavucontrol-strace.txt 2>&1
>         
>         
>         shows that the segfault occurs while trying to
>         open /dev/shm/pulse-shm-1589235082:
>         
>                 open("/dev/shm/pulse-shm-1589235082", O_RDONLY|
>                 O_NOFOLLOW|O_CLOEXEC) = -1 ENOENT (No such file or
>                 directory)
>                 --- SIGSEGV (Segmentation fault) @ 0 (0) ---
>                 +++ killed by SIGSEGV +++
>         
>         
>         The contents of /dev/shm are:
>         
>         
>                 $ ll /dev/shm
>                 total 280
>                 drwxrwxrwt  2 root root       80 Feb 22 16:23 ./
>                 drwxr-xr-x 19 root root     3440 Feb 22 13:44 ../
>                 -rwx------  1 jwm  jwm  67108904 Feb 22 16:10
>                 pulse-shm-1113234651*
>                 -rwx------  1 jwm  jwm  67108904 Feb 22 16:23
>                 pulse-shm-4016602654*
>                 
>         
>         strace shows the following, when opening the /dev/shm
>         directory:
>         
>                 openat(AT_FDCWD, "/dev/shm/", O_RDONLY|O_NONBLOCK|
>                 O_DIRECTORY|O_CLOEXEC) = 10
>                 getdents(10, /* 5 entries */, 32768)    = 168
>                 
>         
>         So maybe pavucontrol is relying on a wrong number of
>         pulse-related devices.  
>         
>         By ending the desktop session, killing all pulseaudio
>         instances, starting a new desktop session, and running strace
>         again, I get similar results.
>         
>         The strace output is attached.
>         
>         --
>         John
>         
>         
>         
>         
>         
>         On Fri, 2014-02-14 at 09:25 +0100, Vincent Lefevre wrote: 
>         
>         > On 2014-02-14 02:40:36 -0500, John M. wrote:
>         > > By creating a new user account, I'm able to open pavucontrol from that
>         > > account, but only until I log out and in again. Then it's back to
>         > > segmentation fault.
>         > > 
>         > > So it seems like the problem is related to a setting in some other
>         > > program (gconf? dconf? gstreamer? jack?).
>         > 
>         > You can try to see with strace.
>         > 
>         
>         
>         
> 
> 
> 
> 
> -- 
> 
> Simone Vellei (henomis)
> 
> 
> 
> GPG KEYID: A3D37CF4
> 
> 
> GPG FINGERPRINT: 5A79 3A3A 143E 9B37 9B38  FB86 8E45 8B62 A3D3 7CF4
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-pulseaudio-devel/attachments/20140222/d0c51acd/attachment.html>
-------------- next part --------------
Starting program: /usr/bin/pavucontrol 
warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7ffff7ffa000
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe874a700 (LWP 19970)]

Program received signal SIGSEGV, Segmentation fault.
0x0000000000428d80 in read_callback (s=0xcea800, length=4, userdata=0x9561b0) at mainwindow.cc:385
385	    v = ((const float*) data)[length / sizeof(float) -1];
#0  0x0000000000428d80 in read_callback (s=0xcea800, length=4, userdata=0x9561b0) at mainwindow.cc:385
#1  0x00007ffff3adad8b in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#2  0x00007fffee0bb46d in ?? () from /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-4.0.so
#3  0x00007ffff3d17b77 in ?? () from /usr/lib/x86_64-linux-gnu/libpulse-mainloop-glib.so.0
#4  0x00007ffff3f63526 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007ffff3f63878 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007ffff3f63b3a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007ffff59a444d in gtk_main () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#8  0x00007ffff7a1a8f1 in Gtk::Main::run(Gtk::Window&) () from /usr/lib/x86_64-linux-gnu/libgtkmm-3.0.so.1
#9  0x0000000000438981 in main (argc=1, argv=0x7fffffffdb28) at pavucontrol.cc:670
#9  0x0000000000438981 in main (argc=1, argv=0x7fffffffdb28) at pavucontrol.cc:670
670	            Gtk::Main::run(*mainWindow);
#0  0x0000000000428d80 in read_callback (s=0xcea800, length=4, userdata=0x9561b0) at mainwindow.cc:385
385	    v = ((const float*) data)[length / sizeof(float) -1];
Kill the program being debugged? (y or n) 


More information about the pkg-pulseaudio-devel mailing list