pulseaudio plugin closes upon mouse click
Submitted by Mukundan Ragavan
Assigned to Andrzej
Description
System: Fedora 26
Version: 0.2.5 and 0.3.0
Downstream bug report - https://bugzilla.redhat.com/show_bug.cgi?id=1470293
Description of the issue:
I've got the same, or at least a similar problem: The applet initially works when I'm clicking on it, but as soon as I use the multimedia keys of my keyboard to change the volume, the applet is frozen for a while afterwards. It seems to return to the initial state after a minute or so, though (until I press a key again, then it freezes again).
From the bug report (link above)
Thanks for the new version! However, I just checked that version 0.3.0 package, and at least for me the problem is still there (like I described it in comment 5). FWIW, I've tried to attach a gdb to the libpulseaudio-plugin process and got this backtrace while it was hanging:
$ gdb /usr/lib64/xfce4/panel/plugins/libpulseaudio-plugin.so 1913 [...]
(gdb) bt full
#0 0x00007f5726135acd in poll () at /lib64/libc.so.6
#1 0x00007f572666b569 in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0xdd8794f620, timeout=<optimized out>, context=0xdd878608a0) at gmain.c:4271
poll_func = 0x7f572667ab80 <g_poll>
max_priority = 2147483647
timeout = 25000
some_ready = <optimized out>
nfds = 1
allocated_nfds = 1
fds = 0xdd8794f620
#2 0x00007f572666b569 in g_main_context_iterate (context=0xdd878608a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
at gmain.c:3967
max_priority = 2147483647
timeout = 25000
some_ready = <optimized out>
nfds = 1
allocated_nfds = 1
fds = 0xdd8794f620
#3 0x00007f572666b902 in g_main_loop_run (loop=0xdd878abfe0) at gmain.c:4168
__func__ = "g_main_loop_run"
#4 0x00007f57254d452e in initable_init (initable=0xdd878bf3a0, cancellable=0x0, error=0x7fff05a4eb70) at gdbusproxy.c:1949
proxy = 0xdd878bf3a0 [GDBusProxy]
data = 0xdd8798c7d0
ret = 0
__func__ = "initable_init"
#5 0x00007f572546b697 in g_initable_new_valist (object_type=<optimized out>, first_property_name=0x7f57255463e0 "g-flags", var_args=0x7fff05a4e7f0, cancellable=0x0, error=0x7fff05a4eb70) at ginitable.c:228
obj = 0xdd878bf3a0 [GDBusProxy]
#6 0x00007f572546b749 in g_initable_new (object_type=<optimized out>, cancellable=cancellable@entry=0x0, error=error@entry=0x7fff05a4eb70, first_property_name=first_property_name@entry=0x7f57255463e0 "g-flags") at ginitable.c:146
object = <optimized out>
var_args = {{gp_offset = 48, fp_offset = 48, overflow_arg_area = 0x7fff05a4e920, reg_save_area = 0x7fff05a4e810}}
#7 0x00007f57254d5f6a in g_dbus_proxy_new_for_bus_sync (bus_type=bus_type@entry=G_BUS_TYPE_SESSION, flags=flags@entry=G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES, info=info@entry=0x0, name=name@entry=0x7f571cd2190d "org.freedesktop.Notifications", object_path=object_path@entry=0x7f571cd219a0 "/org/freedesktop/Notifications", interface_name=interface_name@entry=0x7f571cd2190d "org.freedesktop.Notifications", cancellable=0x0, error=0x7fff05a4eb70) at gdbusproxy.c:2252
initable = <optimized out>
__func__ = "g_dbus_proxy_new_for_bus_sync"
#8 0x00007f571cd1f828 in _notify_get_proxy (error=error@entry=0x7fff05a4eb70) at notify.c:243
#9 0x00007f571cd207f9 in notify_notification_show (notification=notification@entry=0xdd8784a840 [NotifyNotification], error=error@entry=0x7ff---Type <return> to continue, or q <return> to quit---
f05a4eb70) at notification.c:572
priv = 0xdd877c2b40
proxy = <optimized out>
actions_builder =
{u = {s = {partial_magic = 140011706053680, type = 0xdd8788ee00, y = {277698370, 140012277194990, 140011706053680, 55, 40, 55, 40, 140012283267844, 6, 140011706053680, 6, 951462041248, 6, 277698370}}, x = {140011706053680, 951461670400, 277698370, 140012277194990, 140011706053680, 55, 40, 55, 40, 140012283267844, 6, 140011706053680, 6, 951462041248, 6, 277698370}}}
hints_builder =
{u = {s = {partial_magic = 140011706053680, type = 0xdd8788ee00, y = {277698370, 140012283073087, 140012283169600, 140012280597216, 6, 951462041248, 1, 0, 6, 140012283074235, 0, 140012283074177, 6, 951461670400}}, x = {140011706053680, 951461670400, 277698370, 140012283073087, 140012283169600, 140012280597216, 6, 951462041248, 1, 0, 6, 140012283074235, 0, 140012283074177, 6, 951461670400}}}
l = <optimized out>
iter =
{dummy1 = 0x0, dummy2 = 0x2c9b8443d2688d00, dummy3 = 0x7f57260bd970 <malloc>, dummy4 = -2021055088, dummy5 = 221, dummy6 = 0x6}
key = 0x4
data = 0x0
result = <optimized out>
__func__ = "notify_notification_show"
#10 0x00007f571d9b23e3 in pulseaudio_notify_notify (notify=0x7f5704004f00 [PulseaudioNotify], mic=<optimized out>) at pulseaudio-notify.c:231
error = 0x0
notification = <optimized out>
volume = 0.69793945312500005
volume_i = <optimized out>
muted = <optimized out>
connected = <optimized out>
title = 0xdd8794f3e0 "F"
icons_array = <optimized out>
icon = <optimized out>
__func__ = "pulseaudio_notify_notify"
#14 0x00007f5726d71b0f in <emit signal ??? on instance 0xdd878e9400 [PulseaudioVolume]> (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at gsignal.c:3447
var_args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7fff05a4f030, reg_save_area = 0x7fff05a4ef70}}
#11 0x00007f5726d5630d in g_closure_invoke (closure=0xdd877f3420, return_value=0x0, n_param_values=2, param_values=0x7fff05a4ed70, invocation_hint=0x7fff05a4ecf0) at gclosure.c:804
marshal = 0x7f5726d58080 <g_cclosure_marshal_VOID__BOOLEAN>
marshal_data = 0x0
in_marshal = 0
real_closure = 0xdd877f3400
__func__ = "g_closure_invoke"
#12 0x00007f5726d6898e in signal_emit_unlocked_R (node=node@entry=0xdd877dade0, detail=detail@entry=0, instance=instance@entry=0xdd878e940---Type <return> to continue, or q <return> to quit---
0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fff05a4ed70) at gsignal.c:3635
tmp = <optimized out>
handler = 0xdd8779d040
accumulator = 0x0
emission =
{next = 0x0, instance = 0xdd878e9400, ihint = {signal_id = 201, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 4}
class_closure = 0x0
handler_list = 0xdd8779d000
return_accu = 0x0
accu =
{g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
signal_id = 201
max_sequential_handler_number = 10953
return_value_altered = 1
#13 0x00007f5726d711a5 in g_signal_emit_valist (instance=0xdd878e9400, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fff05a4ef50) at gsignal.c:3391
instance_and_params = 0x7fff05a4ed70
signal_return_type = 4
param_values = 0x7fff05a4ed88
node = <optimized out>
i = <optimized out>
n_params = 1
__func__ = "g_signal_emit_valist"
#15 0x00007f571d55f985 in pa_context_simple_ack_callback (pd=pd@entry=0xdd8772cb80, command=command@entry=2, tag=tag@entry=233, t=t@entry=0xdd877f6910, userdata=userdata@entry=0xdd879b4430) at pulse/context.c:1201
cb = <optimized out>
o = 0xdd879b4430
success = <optimized out>
__func__ = "pa_context_simple_ack_callback"
__PRETTY_FUNCTION__ = "pa_context_simple_ack_callback"
#16 0x00007f571cad8b11 in run_action (pd=0xdd8772cb80, r=0xdd8785e6a0, command=2, ts=0xdd877f6910) at pulsecore/pdispatch.c:288
callback = 0x7f571d55f930 <pa_context_simple_ack_callback>
userdata = 0xdd879b4430
tag = 233
#17 0x00007f571cad8e8b in pa_pdispatch_run (pd=0xdd8772cb80, packet=packet@entry=0xdd87750a00, ancil_data=ancil_data@entry=0xdd877d9098, userdata=userdata@entry=0xdd877a2310) at pulsecore/pdispatch.c:341
r = <optimized out>
---Type <return> to continue, or q <return> to quit---
tag = 233
command = 2
ts = 0xdd877f6910
ret = -1
pdata = <optimized out>
plen = 10
__func__ = "pa_pdispatch_run"
__PRETTY_FUNCTION__ = "pa_pdispatch_run"
#18 0x00007f571d55e86e in pstream_packet_callback (p=<optimized out>, packet=0xdd87750a00, ancil_data=0xdd877d9098, userdata=0xdd877a2310)
at pulse/context.c:349
c = 0xdd877a2310
__func__ = "pstream_packet_callback"
__PRETTY_FUNCTION__ = "pstream_packet_callback"
#19 0x00007f571cadba3f in do_read (p=p@entry=0xdd877d8e00, re=re@entry=0xdd877d8fc8) at pulsecore/pstream.c:1012
d = <optimized out>
l = <optimized out>
r = <optimized out>
release_memblock = 0x0
__func__ = "do_read"
__PRETTY_FUNCTION__ = "do_read"
#20 0x00007f571cade4fb in do_pstream_read_write (p=0xdd877d8e00) at pulsecore/pstream.c:248
__func__ = "do_pstream_read_write"
__PRETTY_FUNCTION__ = "do_pstream_read_write"
#21 0x00007f571cade899 in srb_callback (srb=<optimized out>, userdata=0xdd877d8e00) at pulsecore/pstream.c:287
p = 0xdd877d8e00
__func__ = "srb_callback"
__PRETTY_FUNCTION__ = "srb_callback"
#22 0x00007f571cadf11f in srbchannel_rwloop (sr=0xdd879dd9c0) at pulsecore/srbchannel.c:190
#23 0x00007f571d7a1e80 in dispatch_func (source=0xdd877bacb0, callback=<optimized out>, userdata=<optimized out>)
at pulse/glib-mainloop.c:584
g = 0xdd877bacb0
e = 0xdd879dda50
__func__ = "dispatch_func"
#24 0x00007f572666b247 in g_main_dispatch (context=0xdd87714e50) at gmain.c:3234
dispatch = 0x7f571d7a1cc0 <dispatch_func>
prev_source = 0x0
was_in_call = 0
user_data = 0x0
callback = 0x0
cb_funcs = 0x0
---Type <return> to continue, or q <return> to quit---
cb_data = 0x0
need_destroy = <optimized out>
source = 0xdd877bacb0
current = 0xdd87753350
i = 0
#25 0x00007f572666b247 in g_main_context_dispatch (context=context@entry=0xdd87714e50) at gmain.c:3899
#26 0x00007f572666b5e8 in g_main_context_iterate (context=0xdd87714e50, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
at gmain.c:3972
max_priority = 2147483647
timeout = 164
some_ready = 1
nfds = <optimized out>
allocated_nfds = 6
fds = 0xdd879ddae0
#27 0x00007f572666b902 in g_main_loop_run (loop=0xdd87778ef0) at gmain.c:4168
__func__ = "g_main_loop_run"
#28 0x00007f5727c39325 in gtk_main () at gtkmain.c:1322
loop = 0xdd87778ef0
#29 0x000000dd8699f2de in ()
#30 0x00007fff05a4f8c4 in ()
#31 0x000000dd8772e780 in ()
#32 0x000000dd879343e0 in ()
#33 0x000000000000000e in ()
#34 0x00007fff05a4f4e8 in ()
#35 0x0000000800000004 in ()
#36 0x0000000000000000 in ()