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. <jwmwal...@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 >
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)