Bug 83144

Summary: g_type_check_instance_is_a() SIGSEGV
Product: PulseAudio Reporter: Igor Gnatenko <i.gnatenko.brain>
Component: pavucontrolAssignee: pulseaudio-bugs
Status: RESOLVED FIXED QA Contact: pulseaudio-bugs
Severity: normal    
Priority: medium CC: lennart, pbrobinson, rharwood
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: backtrace
[PATCH] Reference the widget before returning it from ::create methods

Description Igor Gnatenko 2014-08-27 12:48:05 UTC
Description of problem:
On a fully upgraded F21, pavucontrol immediately crashes with a segfault.

I believe this is a duplicate of #1133272.

In the console, there are several GLib-GObject-WARNINGs about deprecated functions prior to the segfault.

Version-Release number of selected component:
pavucontrol-2.0-7.fc21

Additional info:
reporter:       libreport-2.2.3
backtrace_rating: 4
cmdline:        /usr/bin/pavucontrol
crash_function: g_type_check_instance_is_a
executable:     /usr/bin/pavucontrol
kernel:         3.16.1-300.fc21.x86_64
runlevel:       N 5
type:           CCpp
uid:            1000

Truncated backtrace:
Thread no. 1 (10 frames)
 #0 g_type_check_instance_is_a at gtype.c:3969
 #1 gtk_box_pack at gtkbox.c:1479
 #2 MainWindow::createEventRoleWidget at mainwindow.cc:832
 #3 context_state_callback at pavucontrol.cc:456
 #4 pa_context_set_state at pulse/context.c:291
 #5 setup_complete_callback at pulse/context.c:497
 #6 run_action at pulsecore/pdispatch.c:279
 #7 pa_pdispatch_run at pulsecore/pdispatch.c:331
 #8 pstream_packet_callback at pulse/context.c:335
 #9 do_read at pulsecore/pstream.c:830
Comment 1 Igor Gnatenko 2014-08-27 12:48:33 UTC
Created attachment 105332 [details]
backtrace
Comment 2 Igor Gnatenko 2014-08-27 12:48:46 UTC
Original bugreport: https://bugzilla.redhat.com/show_bug.cgi?id=1133339
Comment 3 Igor Gnatenko 2014-08-27 12:49:29 UTC
(pavucontrol:19438): GLib-GObject-WARNING **: The property GtkMisc:xpad is deprecated and shouldn't be used anymore. It will be removed in a future version.

(pavucontrol:19438): GLib-GObject-WARNING **: The property GtkMisc:ypad is deprecated and shouldn't be used anymore. It will be removed in a future version.

(pavucontrol:19438): GLib-GObject-WARNING **: The property GtkAlignment:bottom-padding is deprecated and shouldn't be used anymore. It will be removed in a future version.

(pavucontrol:19438): GLib-GObject-WARNING **: The property GtkAlignment:left-padding is deprecated and shouldn't be used anymore. It will be removed in a future version.

(pavucontrol:19438): GLib-GObject-WARNING **: The property GtkAlignment:right-padding is deprecated and shouldn't be used anymore. It will be removed in a future version.

(pavucontrol:19438): GLib-GObject-WARNING **: The property GtkMisc:xalign is deprecated and shouldn't be used anymore. It will be removed in a future version.

(pavucontrol:19438): GLib-GObject-WARNING **: The property GtkContainer:resize-mode is deprecated and shouldn't be used anymore. It will be removed in a future version.

(pavucontrol:19438): GLib-GObject-WARNING **: The property GtkImage:stock is deprecated and shouldn't be used anymore. It will be removed in a future version.
Comment 4 Igor Gnatenko 2014-08-27 13:02:17 UTC
probably bug in gtkmm, but I'm not sure.
Comment 5 Hans de Goede 2014-08-28 11:11:43 UTC
Created attachment 105381 [details] [review]
[PATCH] Reference the widget before returning it from ::create  methods

Nasty bug, I've just spend a couple of hours debugging this. This patch fixes it. For details see the commit message inside the patch.
Comment 6 Igor Gnatenko 2014-08-28 11:31:25 UTC
Comment on attachment 105381 [details] [review]
[PATCH] Reference the widget before returning it from ::create  methods

Review of attachment 105381 [details] [review]:
-----------------------------------------------------------------

Reported-and-Tested-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Comment 7 Tanu Kaskinen 2014-09-07 10:53:02 UTC
Thank you! I applied the patch now.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.