Skip to content

pulseaudio plugin closes upon mouse click

Submitted by Mukundan Ragavan

Assigned to Andrzej

Link to original bug (#13852)

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  ()