! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
Crash when changing volume
Status:
RESOLVED: FIXED

Comments

Description Landry Breuil editbugs 2012-07-23 09:56:33 CEST
with current git tree, parole crashes as soon as you try to change volume (either with -/+ or the volume slider (buttons and mousewheel)). The volume_value_changed_cb is called with a garbage ptr for ParolePlayer.


Starting program: /home/landry/src/xfce/parole/src/parole 

(parole:21363): Gtk-WARNING **: Unknown property: GtkMenu.ubuntu-local

(parole:21363): Gtk-WARNING **: Unknown property: GtkMenu.ubuntu-local

Program received signal SIGSEGV, Segmentation fault.
0x1c010513 in parole_player_volume_value_changed_cb (widget=0x86701100, player=0xcccccccd) at parole-player.c:1645
1645        value = gtk_scale_button_get_value (GTK_SCALE_BUTTON (player->priv->volume));
(gdb) bt
#0  0x1c010513 in parole_player_volume_value_changed_cb (widget=0x86701100, player=0xcccccccd) at parole-player.c:1645

Note that 'ubuntu_local' property in parole.ui is invalid and triggers warnings on other oses, please remove it.
Comment 1 Landry Breuil editbugs 2012-07-23 10:03:33 CEST
It also crashes if using the mute item from the audio menu :


#0  0x1c010513 in parole_player_volume_value_changed_cb (widget=0x831b9900, player=0x0) at parole-player.c:1645
#1  0x032bdf5a in g_cclosure_marshal_VOID__DOUBLE () from /usr/local/lib/libgobject-2.0.so.3200.0
#2  0x032bc335 in g_closure_invoke () from /usr/local/lib/libgobject-2.0.so.3200.0
#3  0x032d19c4 in g_signal_handler_find () from /usr/local/lib/libgobject-2.0.so.3200.0
#4  0x032d3e94 in g_signal_emit_valist () from /usr/local/lib/libgobject-2.0.so.3200.0
#5  0x032d4175 in g_signal_emit () from /usr/local/lib/libgobject-2.0.so.3200.0
#6  0x0dfa83e3 in gtk_scale_button_get_value () from /usr/local/lib/libgtk-x11-2.0.so.2400.0
#7  0x032bd0b9 in g_cclosure_marshal_VOID__VOIDv () from /usr/local/lib/libgobject-2.0.so.3200.0
#8  0x032b9b23 in g_value_set_static_boxed () from /usr/local/lib/libgobject-2.0.so.3200.0
#9  0x032bc064 in g_closure_unref () from /usr/local/lib/libgobject-2.0.so.3200.0
#10 0x032d3533 in g_signal_emit_valist () from /usr/local/lib/libgobject-2.0.so.3200.0
#11 0x032d4175 in g_signal_emit () from /usr/local/lib/libgobject-2.0.so.3200.0
#12 0x0df8609c in gtk_radio_tool_button_new_from_widget () from /usr/local/lib/libgtk-x11-2.0.so.2400.0
#13 0x032be6df in g_cclosure_marshal_VOID__VOID () from /usr/local/lib/libgobject-2.0.so.3200.0
#14 0x032bc335 in g_closure_invoke () from /usr/local/lib/libgobject-2.0.so.3200.0
#15 0x032d19c4 in g_signal_handler_find () from /usr/local/lib/libgobject-2.0.so.3200.0
#16 0x032d3e94 in g_signal_emit_valist () from /usr/local/lib/libgobject-2.0.so.3200.0
#17 0x032d4175 in g_signal_emit () from /usr/local/lib/libgobject-2.0.so.3200.0
#18 0x0de73a0a in gtk_adjustment_value_changed () from /usr/local/lib/libgtk-x11-2.0.so.2400.0
#19 0x1c00f7fb in parole_player_volume_mute (widget=0x87fb3878, player=0x81f3e000) at parole-player.c:1668

other trace when using - :

#0  0x1c010513 in parole_player_volume_value_changed_cb (widget=0x8a690900, player=0xcccccccd) at parole-player.c:1645
#1  0x0de3df5a in g_cclosure_marshal_VOID__DOUBLE () from /usr/local/lib/libgobject-2.0.so.3200.0
#2  0x0de3c335 in g_closure_invoke () from /usr/local/lib/libgobject-2.0.so.3200.0
#3  0x0de519c4 in g_signal_handler_find () from /usr/local/lib/libgobject-2.0.so.3200.0
#4  0x0de53e94 in g_signal_emit_valist () from /usr/local/lib/libgobject-2.0.so.3200.0
#5  0x0de54175 in g_signal_emit () from /usr/local/lib/libgobject-2.0.so.3200.0
#6  0x0144a3e3 in gtk_scale_button_get_value () from /usr/local/lib/libgtk-x11-2.0.so.2400.0
#7  0x0de3d0b9 in g_cclosure_marshal_VOID__VOIDv () from /usr/local/lib/libgobject-2.0.so.3200.0
#8  0x0de39b23 in g_value_set_static_boxed () from /usr/local/lib/libgobject-2.0.so.3200.0
#9  0x0de3c064 in g_closure_unref () from /usr/local/lib/libgobject-2.0.so.3200.0
#10 0x0de53533 in g_signal_emit_valist () from /usr/local/lib/libgobject-2.0.so.3200.0
#11 0x0de54175 in g_signal_emit () from /usr/local/lib/libgobject-2.0.so.3200.0
#12 0x0142809c in gtk_radio_tool_button_new_from_widget () from /usr/local/lib/libgtk-x11-2.0.so.2400.0
#13 0x0de3e6df in g_cclosure_marshal_VOID__VOID () from /usr/local/lib/libgobject-2.0.so.3200.0
#14 0x0de3c335 in g_closure_invoke () from /usr/local/lib/libgobject-2.0.so.3200.0
#15 0x0de519c4 in g_signal_handler_find () from /usr/local/lib/libgobject-2.0.so.3200.0
#16 0x0de53e94 in g_signal_emit_valist () from /usr/local/lib/libgobject-2.0.so.3200.0
#17 0x0de54175 in g_signal_emit () from /usr/local/lib/libgobject-2.0.so.3200.0
#18 0x01315a0a in gtk_adjustment_value_changed () from /usr/local/lib/libgtk-x11-2.0.so.2400.0
#19 0x1c01039c in parole_player_volume_down (widget=0x879aa800, player=0x7e60c000) at parole-player.c:1663
Comment 2 Simon Steinbeiss editbugs 2012-07-24 01:12:32 CEST
Salut Landry,

I've had a hard time tracking down your volume-issues and since I haven't been able to reproduce them, I haven't really been able to fix anything there...

I feel a bit useless doing this, but here's the commit where I changed the GtkRange into a GtkVolumeButton/ScaleButton. Personally I don't see any problems with this commit, but then again I have too little experience to say for sure if this isn't already the problem-maker:
http://git.xfce.org/apps/parole/commit?id=dfa0bc2acb4f22aa964fe421dd1d4f4544d19be8

It'd be great if you could take a quick peek into the commit -
merci,
Simon
Comment 3 Landry Breuil editbugs 2012-07-24 09:18:08 CEST
Created attachment 4567 
Fix crash

Attached patch fixes the issue. In GtkScaleButton, value-changed takes three arguments, see http://developer.gnome.org/gtk/2.24/GtkScaleButton.html#GtkScaleButton-value-changed. I wonder how this can work on linux.. by luck, probably :)
Comment 4 Simon Steinbeiss editbugs 2012-07-24 11:10:15 CEST
Patch applied to master, thanks!

Bug #9148

Reported by:
Landry Breuil
Reported on: 2012-07-23
Last modified on: 2017-05-29

People

Assignee:
Landry Breuil
CC List:
2 users

Version

Version:
unspecified

Attachments

Fix crash (1.41 KB, patch)
2012-07-24 09:18 CEST , Landry Breuil
ochosi : review+

Additional information