On my installation with pulseaudio 6.0, pavucontrol crashes on startup. Here's a short gdb session $ gdb pavucontrol GNU gdb (Gentoo 7.9 vanilla) 7.9 Copyright (C) 2015 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-pc-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://bugs.gentoo.org/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from pavucontrol...Reading symbols from /usr/lib64/debug//usr/bin/pavucontrol.debug...done. done. (gdb) run Starting program: /usr/bin/pavucontrol [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". [New Thread 0x7ffff5bc0700 (LWP 30438)] [New Thread 0x7ffff711a700 (LWP 30437)] Program received signal SIGSEGV, Segmentation fault. 0x0000000000425500 in read_callback (s=0xa5b000, length=4, userdata=0x8c2040) at mainwindow.cc:496 496 mainwindow.cc: No such file or directory. (gdb) f 0 #0 0x0000000000425500 in read_callback (s=0xa5b000, length=4, userdata=0x8c2040) at mainwindow.cc:496 496 in mainwindow.cc (gdb) p data $1 = (const void *) 0x0 (gdb) p length $2 = 4 It would appear that 'pa_stream_peek()' can return success and NULL in data, as per the documentation: http://freedesktop.org/software/pulseaudio/doxygen/stream_8h.html#ac2838c449cde56e169224d7fe3d00824 The code in mainwindow.cc::read_callback() does not handle this situation. Attached is a patch which takes care of this too. Reproducible: Always Steps to Reproduce: 1. install pulseaudio 6.0 2. install pavucontrol 2.0-r1 3. start pavucontrol Actual Results: Segmentation fault Expected Results: The program should start OK
Created attachment 399754 [details] fix a NULL dereference in read_callback()
Created attachment 399756 [details, diff] fix a NULL dereference in read_callback() (the real one) The first file attached is bogus. This is the correct one.
fixed in 3.0