Dear Maintainer,
since a recent version upgrade, Pidgin crashed at seemingly random intervals on my KDE-based system.
I have a vague feeling those crashes are related to transitioning the system to standby (S3) but could not verify this.
I tried running in GDB, following https://wiki.debian.org/HowToGetABacktrace to get debug information.
But these seem to be missing for the relevant source file.
Excerpt from the GDB session:
Thread 1 "pidgin" received signal SIGSEGV, Segmentation fault.
Download failed: Invalid argument. Continuing without source file ./obj-x86_64-linux-gnu/../gst/gstdevice.c.
0x00007fa3dc4a49bd in gst_device_get_display_name (device=device@entry=0x563d080ed0a0) at ../gst/gstdevice.c:263
⚠ warning: 263 ../gst/gstdevice.c: No such file or directory
(gdb) bt
#0 0x00007fa3dc4a49bd in gst_device_get_display_name (device=device@entry=0x563d080ed0a0) at ../gst/gstdevice.c:263
#1 0x00007fa3db6cf8cb in purple_media_manager_unregister_gst_device
(manager=0x563d07f61350 [PurpleMediaManager], device=<optimized out>) at ../../libpurple/mediamanager.c:2254
#2 device_monitor_bus_cb (bus=<optimized out>, message=<optimized out>, user_data=0x563d07f61350)
at ../../libpurple/mediamanager.c:2299
#3 device_monitor_bus_cb (bus=<optimized out>, message=<optimized out>, user_data=0x563d07f61350)
at ../../libpurple/mediamanager.c:2286
#4 0x00007fa3dc490f79 in gst_bus_source_dispatch
(source=0x563d07fec1e0, callback=0x7fa3db6cf7e0 <device_monitor_bus_cb>, user_data=0x563d07f61350) at ../gst/gstbus.c:841
#5 0x00007fa3db94566e in g_main_dispatch (context=context@entry=0x563d07f010a0) at ../../../glib/gmain.c:3591
#6 0x00007fa3db9489ff in g_main_context_dispatch_unlocked (context=0x563d07f010a0) at ../../../glib/gmain.c:4451
#7 g_main_context_iterate_unlocked
(context=0x563d07f010a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4516
#8 0x00007fa3db94948f in g_main_loop_run (loop=0x563d08b1fe50) at ../../../glib/gmain.c:4721
#9 0x00007fa3dbf4171f in gtk_main () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#10 0x0000563ce2b4aa9c in main (argc=<optimized out>, argv=<optimized out>) at ../../pidgin/gtkmain.c:948
(gdb) list
258 in ../gst/gstdevice.c
(gdb) disass
Dump of assembler code for function gst_device_get_display_name:
0x00007fa3dc4a49a0 <+0>: endbr64
0x00007fa3dc4a49a4 <+4>: push %rbx
0x00007fa3dc4a49a5 <+5>: mov %rdi,%rbx
0x00007fa3dc4a49a8 <+8>: call 0x7fa3dc4a4820 <gst_device_get_type>
0x00007fa3dc4a49ad <+13>: test %rbx,%rbx
0x00007fa3dc4a49b0 <+16>: je 0x7fa3dc4a49f0 <gst_device_get_display_name+80>
0x00007fa3dc4a49b2 <+18>: mov %rax,%rsi
0x00007fa3dc4a49b5 <+21>: mov (%rbx),%rax
0x00007fa3dc4a49b8 <+24>: test %rax,%rax
0x00007fa3dc4a49bb <+27>: je 0x7fa3dc4a49c2 <gst_device_get_display_name+34>
=> 0x00007fa3dc4a49bd <+29>: cmp %rsi,(%rax)
0x00007fa3dc4a49c0 <+32>: je 0x7fa3dc4a49ce <gst_device_get_display_name+46>
0x00007fa3dc4a49c2 <+34>: mov %rbx,%rdi
0x00007fa3dc4a49c5 <+37>: call 0x7fa3dc46b630 <g_type_check_instance_is_a@plt>
0x00007fa3dc4a49ca <+42>: test %eax,%eax
0x00007fa3dc4a49cc <+44>: je 0x7fa3dc4a49f0 <gst_device_get_display_name+80>
0x00007fa3dc4a49ce <+46>: mov 0x58(%rbx),%rax
0x00007fa3dc4a49d2 <+50>: pop %rbx
0x00007fa3dc4a49d3 <+51>: mov 0x10(%rax),%rdi
0x00007fa3dc4a49d7 <+55>: lea 0xa4a74(%rip),%rax # 0x7fa3dc549452
0x00007fa3dc4a49de <+62>: test %rdi,%rdi
0x00007fa3dc4a49e1 <+65>: cmove %rax,%rdi
0x00007fa3dc4a49e5 <+69>: jmp 0x7fa3dc46c420 <g_strdup@plt>
0x00007fa3dc4a49ea <+74>: nopw 0x0(%rax,%rax,1)
0x00007fa3dc4a49f0 <+80>: lea 0xa1c17(%rip),%rdx # 0x7fa3dc54660e
0x00007fa3dc4a49f7 <+87>: lea 0xc11f2(%rip),%rsi # 0x7fa3dc565bf0 <__func__.5>
0x00007fa3dc4a49fe <+94>: lea 0x9fa17(%rip),%rdi # 0x7fa3dc54441c
0x00007fa3dc4a4a05 <+101>: call 0x7fa3dc46b2f0 <g_return_if_fail_warning@plt>
0x00007fa3dc4a4a0a <+106>: xor %eax,%eax
0x00007fa3dc4a4a0c <+108>: pop %rbx
0x00007fa3dc4a4a0d <+109>: ret
End of assembler dump.
As stated before, I have not yet found a way to reliably trigger this crash.
But when the crash does happen, it's always on the same line according to GDB.
Best regards,
Jan