Rhythmbox froze after cancelling (stuck) extraction of last audio CD track
@aklapper
Submitted by Andre Klapper Link to original bug (#780260)
Description
rhythmbox-3.4.1-1.fc24.x86_64
- Extract an audio CD.
- Progress bar at the bottom did not move for several minutes at the last track.
- Clicked the "Cancel" button next to the progress bar at the bottom.
- Rhythmbox application froze.
$:andre> gdb -p 1899 GNU gdb (GDB) Fedora 7.11.1-86.fc24 Attaching to process 1899 [New LWP 1905] [New LWP 1906] [New LWP 1909] [New LWP 1990] [New LWP 4608]
syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38 38 cmpq $-4095, %rax /* Check %rax for error. */
(gdb) thread apply all bt
Thread 6 (Thread 0x7f72367dc700 (LWP 4608)):
#0 0x00007f7265b1fdfa in stage1_matched (old=0x7f72600015b0, new=0x7f7260003db0, matchbegin=291317488, matchend=292720456, matchoffset=0, callback=0x7f7265f40ae0 <gst_cd_paranoia_dummy_callback>) at paranoia.c:538
#1 0x00007f7265b20017 in i_iterate_stage1 (p=0x5590d6211d00, old=0x7f72600015b0, new=0x7f7260003db0, callback=0x7f7265f40ae0 <gst_cd_paranoia_dummy_callback>) at paranoia.c:633
#2 0x00007f7265b2015d in i_stage1 (p=0x5590d6211d00, new=0x7f7260003db0, callback=0x7f7265f40ae0 <gst_cd_paranoia_dummy_callback>) at paranoia.c:711
#3 0x00007f7265b23199 in paranoia_read_limited (p=0x5590d6211d00, callback=0x7f7265f40ae0 <gst_cd_paranoia_dummy_callback>, max_retries=20) at paranoia.c:2644
#4 0x00007f7265b22f98 in paranoia_read (p=0x5590d6211d00, callback=0x7f7265f40ae0 <gst_cd_paranoia_dummy_callback>) at paranoia.c:2537
#5 0x00007f7265f40e8d in gst_cd_paranoia_src_read_sector () at /usr/lib64/gstreamer-1.0/libgstcdparanoia.so
#6 0x00007f72a206b3cf in gst_audio_cd_src_create () at /lib64/libgstaudio-1.0.so.0
#7 0x00007f72a1e1b3df in gst_base_src_get_range (src=src@entry=0x5590d6425350 [GstCdParanoiaSrc], offset=offset@entry=18446744073709551615, length=<optimized out>, buf=buf@entry=0x7f72367dbaa8) at gstbasesrc.c:2460
#8 0x00007f72a1e1cd97 in gst_base_src_loop (pad=0x5590d643cdc0 [GstPad]) at gstbasesrc.c:2736
#9 0x00007f72a192f1b1 in gst_task_func (task=0x5590d4771950 [GstTask]) at gsttask.c:332
#10 0x00007f72a116b6ee in g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:307
#11 0x00007f72a116acf5 in g_thread_proxy (data=0x5590d5ac1320) at gthread.c:780
#12 0x00007f72a0cd05ca in start_thread (arg=0x7f72367dc700) at pthread_create.c:333
#13 0x00007f72a0a0a0ed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
Thread 5 (Thread 0x7f7268780700 (LWP 1990)):
#0 0x00007f72a0a04239 in syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007f72a1188b6f in g_cond_wait (cond=cond@entry=0x5590d37de878, mutex=mutex@entry=0x5590d37de870) at gthread-posix.c:1394
#2 0x00007f72a11194ab in g_async_queue_pop_intern_unlocked (queue=queue@entry=0x5590d37de870, wait=wait@entry=1, end_time=end_time@entry=-1) at gasyncqueue.c:419
#3 0x00007f72a1119917 in g_async_queue_pop (queue=0x5590d37de870) at gasyncqueue.c:453
#4 0x00007f72a61e433d in action_thread_main (db=0x5590d39b02b0 [RhythmDBTree]) at rhythmdb.c:3018
#5 0x00007f72a116acf5 in g_thread_proxy (data=0x5590d44ec320) at gthread.c:780
#6 0x00007f72a0cd05ca in start_thread (arg=0x7f7268780700) at pthread_create.c:333
#7 0x00007f72a0a0a0ed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
Thread 4 (Thread 0x7f728d7b4700 (LWP 1909)):
#0 0x00007f72a09fe56d in poll () at ../sysdeps/unix/syscall-template.S:84
#1 0x00007f72a1144a06 in g_main_context_iterate (priority=<optimized out>, n_fds=1, fds=0x7f72840010c0, timeout=<optimized out>, context=0x5590d38a3800) at gmain.c:4135
#2 0x00007f72a1144a06 in g_main_context_iterate (context=context@entry=0x5590d38a3800, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3835
#3 0x00007f72a1144b1c in g_main_context_iteration (context=context@entry=0x5590d38a3800, may_block=may_block@entry=1) at gmain.c:3901
#4 0x00007f728d7bbfad in dconf_gdbus_worker_thread (user_data=0x5590d38a3800) at dconf-gdbus-thread.c:82
#5 0x00007f72a116acf5 in g_thread_proxy (data=0x5590d393f4f0) at gthread.c:780
#6 0x00007f72a0cd05ca in start_thread (arg=0x7f728d7b4700) at pthread_create.c:333
#7 0x00007f72a0a0a0ed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
Thread 3 (Thread 0x7f728e834700 (LWP 1906)):
#0 0x00007f72a09fe56d in poll () at ../sysdeps/unix/syscall-template.S:84
#1 0x00007f72a1144a06 in g_main_context_iterate (priority=<optimized out>, n_fds=2, fds=0x7f7288091050, timeout=<optimized out>, context=0x5590d38b7000) at gmain.c:4135
#2 0x00007f72a1144a06 in g_main_context_iterate (context=0x5590d38b7000, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3835
#3 0x00007f72a1144d92 in g_main_loop_run (loop=0x5590d351abd0) at gmain.c:4034
#4 0x00007f72a238fe46 in gdbus_shared_thread_func (user_data=0x5590d351ac10) at gdbusprivate.c:246
#5 0x00007f72a116acf5 in g_thread_proxy (data=0x5590d3910c50) at gthread.c:780
#6 0x00007f72a0cd05ca in start_thread (arg=0x7f728e834700) at pthread_create.c:333
#7 0x00007f72a0a0a0ed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
Thread 2 (Thread 0x7f728f035700 (LWP 1905)):
#0 0x00007f72a09fe56d in poll () at ../sysdeps/unix/syscall-template.S:84
#1 0x00007f72a1144a06 in g_main_context_iterate (priority=<optimized out>, n_fds=2, fds=0x7f72800008c0, timeout=<optimized out>, context=0x5590d37bf110) at gmain.c:4135
#2 0x00007f72a1144a06 in g_main_context_iterate (context=context@entry=0x5590d37bf110, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3835
#3 0x00007f72a1144b1c in g_main_context_iteration (context=0x5590d37bf110, may_block=may_block@entry=1) at gmain.c:3901
#4 0x00007f72a1144b61 in glib_worker_main (data=<optimized out>) at gmain.c:5672
#5 0x00007f72a116acf5 in g_thread_proxy (data=0x5590d3910c00) at gthread.c:780
#6 0x00007f72a0cd05ca in start_thread (arg=0x7f728f035700) at pthread_create.c:333
#7 0x00007f72a0a0a0ed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
Thread 1 (Thread 0x7f72a65cda40 (LWP 1899)):
#0 0x00007f72a0a04239 in syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007f72a118819c in g_mutex_lock_slowpath (mutex=mutex@entry=0x5590d6425460) at gthread-posix.c:1312
#2 0x00007f72a1188a12 in g_mutex_lock (mutex=mutex@entry=0x5590d6425460) at gthread-posix.c:1336
#3 0x00007f72a1e1850a in gst_base_src_set_flushing (basesrc=basesrc@entry=0x5590d6425350 [GstCdParanoiaSrc], flushing=flushing@entry=1, live_play=live_play@entry=0, playing=playing@entry=0x0) at gstbasesrc.c:3591
#4 0x00007f72a1e18882 in gst_base_src_stop (basesrc=basesrc@entry=0x5590d6425350 [GstCdParanoiaSrc]) at gstbasesrc.c:3538
#5 0x00007f72a1e1fee7 in gst_base_src_activate_mode (pad=<optimized out>, active=0, parent=0x5590d6425350 [GstCdParanoiaSrc]) at gstbasesrc.c:3712
#6 0x00007f72a1e1fee7 in gst_base_src_activate_mode (pad=<optimized out>, parent=0x5590d6425350 [GstCdParanoiaSrc], mode=GST_PAD_MODE_PUSH, active=0) at gstbasesrc.c:3784
#7 0x00007f72a19007dd in activate_mode_internal (pad=pad@entry=0x5590d643cdc0 [GstPad], parent=parent@entry=0x5590d6425350 [GstCdParanoiaSrc], mode=mode@entry=GST_PAD_MODE_PUSH, active=active@entry=0) at gstpad.c:1178
#8 0x00007f72a1900f7a in gst_pad_set_active (pad=pad@entry=0x5590d643cdc0 [GstPad], active=0) at gstpad.c:1079
#9 0x00007f72a18e2e0d in activate_pads (vpad=<optimized out>, ret=0x7ffc05ff1750, active=0x7ffc05ff17ac) at gstelement.c:2736
#10 0x00007f72a18f32ac in gst_iterator_fold (it=it@entry=0x7f727805cca0, func=func@entry=0x7f72a18e2df0 <activate_pads>, ret=ret@entry=0x7ffc05ff1750, user_data=user_data@entry=0x7ffc05ff17ac) at gstiterator.c:614
#11 0x00007f72a18e326f in iterator_activate_fold_with_resync (iter=iter@entry=0x7f727805cca0, user_data=user_data@entry=0x7ffc05ff17ac, func=0x7f72a18e2df0 <activate_pads>) at gstelement.c:2760
#12 0x00007f72a18e5040 in gst_element_pads_activate (element=element@entry=0x5590d6425350 [GstCdParanoiaSrc], active=<optimized out>, active@entry=0) at gstelement.c:2796
#13 0x00007f72a18e538e in gst_element_change_state_func (element=0x5590d6425350 [GstCdParanoiaSrc], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gstelement.c:2870
#14 0x00007f72a1e1dc7e in gst_base_src_change_state (element=0x5590d6425350 [GstCdParanoiaSrc], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gstbasesrc.c:3821
#15 0x00007f72a18e726e in gst_element_change_state (element=element@entry=0x5590d6425350 [GstCdParanoiaSrc], transition=transition@entry=GST_STATE_CHANGE_PAUSED_TO_READY) at gstelement.c:2648
#16 0x00007f72a18e79df in gst_element_set_state_func (element=0x5590d6425350 [GstCdParanoiaSrc], state=GST_STATE_READY) at gstelement.c:2602
#17 0x00007f72a18c632d in gst_bin_change_state_func (next=GST_STATE_READY, current=GST_STATE_PAUSED, start_time=0, base_time=6997573927557, element=0x5590d6425350 [GstCdParanoiaSrc], bin=0x5590d39aa8d0 [GstPipeline]) at gstbin.c:2414
#18 0x00007f72a18c632d in gst_bin_change_state_func (element=0x5590d39aa8d0 [GstPipeline], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gstbin.c:2756
#19 0x00007f72a18e726e in gst_element_change_state (element=element@entry=0x5590d39aa8d0 [GstPipeline], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gstelement.c:2648
---Type <return> to continue, or q <return> to quit---
#20 0x00007f72a18e7ccf in gst_element_continue_state (element=element@entry=0x5590d39aa8d0 [GstPipeline], ret=ret@entry=GST_STATE_CHANGE_SUCCESS) at gstelement.c:2356
#21 0x00007f72a18e7556 in gst_element_change_state (element=element@entry=0x5590d39aa8d0 [GstPipeline], transition=transition@entry=GST_STATE_CHANGE_PLAYING_TO_PAUSED) at gstelement.c:2687
#22 0x00007f72a18e79df in gst_element_set_state_func (element=0x5590d39aa8d0 [GstPipeline], state=GST_STATE_NULL) at gstelement.c:2602
#23 0x00007f72a61ffb15 in impl_cancel (bencoder=<optimized out>) at rb-encoder-gst.c:635
#24 0x00007f72a618ae8a in _rb_track_transfer_batch_cancel (batch=batch@entry=0x7f72540b6d40 [RBTrackTransferBatch]) at rb-track-transfer-batch.c:450
#25 0x00007f72a618c194 in rb_track_transfer_queue_cancel_batch (queue=0x5590d3908f00 [RBTrackTransferQueue], batch=0x7f72540b6d40 [RBTrackTransferBatch]) at rb-track-transfer-queue.c:548
#26 0x00007f72a1418614 in _g_closure_invoke_va (closure=closure@entry=0x5590d62f3ef0, return_value=return_value@entry=0x0, instance=instance@entry=0x7f7278113f40, args=args@entry=0x7ffc05ff1d40, n_params=<optimized out>, param_types=0x0) at gclosure.c:867
#27 0x00007f72a1432dd9 in g_signal_emit_valist (instance=0x7f7278113f40, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7ffc05ff1d40) at gsignal.c:3294
#28 0x00007f72a143343f in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at gsignal.c:3441
#29 0x00007f72a43c17fd in gtk_button_do_release () at /lib64/libgtk-3.so.0
#30 0x00007f72a43c1865 in gtk_real_button_released () at /lib64/libgtk-3.so.0
#31 0x00007f72a1418614 in _g_closure_invoke_va (closure=closure@entry=0x5590d391a820, return_value=return_value@entry=0x0, instance=instance@entry=0x7f7278113f40, args=args@entry=0x7ffc05ff20a0, n_params=<optimized out>, param_types=0x0) at gclosure.c:867
#32 0x00007f72a1432dd9 in g_signal_emit_valist (instance=0x7f7278113f40, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7ffc05ff20a0) at gsignal.c:3294
#33 0x00007f72a143343f in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at gsignal.c:3441
#34 0x00007f72a43bfc50 in multipress_released_cb () at /lib64/libgtk-3.so.0
#35 0x00007f729b4d2c58 in ffi_call_unix64 () at ../src/x86/unix64.S:76
#36 0x00007f729b4d26ba in ffi_call (cif=cif@entry=0x7ffc05ff2400, fn=fn@entry=0x7f72a43bfc30 <multipress_released_cb>, rvalue=<optimized out>, avalue=avalue@entry=0x7ffc05ff22d0) at ../src/x86/ffi64.c:525
#37 0x00007f72a14190fa in g_cclosure_marshal_generic_va (closure=0x5590d61f0f90, return_value=0x0, instance=<optimized out>, args_list=<optimized out>, marshal_data=<optimized out>, n_params=3, param_types=0x5590d3514f10) at gclosure.c:1604
#38 0x00007f72a1418614 in _g_closure_invoke_va (closure=closure@entry=0x5590d61f0f90, return_value=return_value@entry=0x0, instance=instance@entry=0x5590d4aa0990, args=args@entry=0x7ffc05ff26a0, n_params=<optimized out>, param_types=0x5590d3514f10) at gclosure.c:867
#39 0x00007f72a1432dd9 in g_signal_emit_valist (instance=0x5590d4aa0990, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7ffc05ff26a0) at gsignal.c:3294
#40 0x00007f72a143343f in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at gsignal.c:3441
#41 0x00007f72a4476091 in gtk_gesture_multi_press_end () at /lib64/libgtk-3.so.0
#42 0x00007f72a141b197 in g_cclosure_marshal_VOID__BOXEDv (closure=0x5590d3983c60, return_value=<optimized out>, instance=0x5590d4aa0990, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x5590d3983c90) at gmarshal.c:1950
#43 0x00007f72a1418614 in _g_closure_invoke_va (closure=closure@entry=0x5590d3983c60, return_value=return_value@entry=0x0, instance=instance@entry=0x5590d4aa0990, args=args@entry=0x7ffc05ff2a40, n_params=<optimized out>, param_types=0x5590d3983c90) at gclosure.c:867
#44 0x00007f72a1432dd9 in g_signal_emit_valist (instance=0x5590d4aa0990, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7ffc05ff2a40) at gsignal.c:3294
#45 0x00007f72a143343f in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at gsignal.c:3441
#46 0x00007f72a44733fe in _gtk_gesture_check_recognized () at /lib64/libgtk-3.so.0
#47 0x00007f72a4474a2b in gtk_gesture_handle_event () at /lib64/libgtk-3.so.0
#48 0x00007f72a44775ad in gtk_gesture_single_handle_event () at /lib64/libgtk-3.so.0
#49 0x00007f72a44470be in gtk_event_controller_handle_event () at /lib64/libgtk-3.so.0
#50 0x00007f72a45fdc3b in _gtk_widget_run_controllers () at /lib64/libgtk-3.so.0
#51 0x00007f72a44bd861 in _gtk_marshal_BOOLEAN__BOXEDv () at /lib64/libgtk-3.so.0
#52 0x00007f72a1418614 in _g_closure_invoke_va (closure=closure@entry=0x5590d3702af0, return_value=return_value@entry=0x7ffc05ff2e00, instance=instance@entry=0x7f7278113f40, args=args@entry=0x7ffc05ff2ed0, n_params=<optimized out>, param_types=0x5590d3702b20) at gclosure.c:867
#53 0x00007f72a14328b3 in g_signal_emit_valist (instance=0x7f7278113f40, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7ffc05ff2ed0) at gsignal.c:3294
#54 0x00007f72a143343f in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at gsignal.c:3441
#55 0x00007f72a45ffdbc in gtk_widget_event_internal () at /lib64/libgtk-3.so.0
#56 0x00007f72a44ba9de in propagate_event () at /lib64/libgtk-3.so.0
#57 0x00007f72a44bc912 in gtk_main_do_event () at /lib64/libgtk-3.so.0
#58 0x00007f72a3ff70c5 in _gdk_event_emit () at /lib64/libgdk-3.so.0
#59 0x00007f72a40240a2 in gdk_event_source_dispatch () at /lib64/libgdk-3.so.0
#60 0x00007f72a11446ba in g_main_context_dispatch (context=0x5590d34ff2a0) at gmain.c:3154
#61 0x00007f72a11446ba in g_main_context_dispatch (context=context@entry=0x5590d34ff2a0) at gmain.c:3769
#62 0x00007f72a1144a70 in g_main_context_iterate (context=context@entry=0x5590d34ff2a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3840
#63 0x00007f72a1144b1c in g_main_context_iteration (context=context@entry=0x5590d34ff2a0, may_block=may_block@entry=1) at gmain.c:3901
#64 0x00007f72a235948d in g_application_run (application=0x5590d3507180 [RBApplication], argc=argc@entry=1, argv=argv@entry=0x7ffc05ff3558) at gapplication.c:2381
#65 0x00007f72a616c8f5 in rb_application_run (app=0x5590d3507180 [RBApplication], argc=1, argv=<optimized out>) at rb-application.c:655
#66 0x00005590d213bf23 in main (argc=1, argv=0x7ffc05ff3558) at main.c:88
(gdb) info register
rax 0xfffffffffffffe00 -512
rbx 0x5590d6425460 94080558322784
rcx 0x7f72a0a04239 140130297856569
rdx 0x2 2
rsi 0x80 128
rdi 0x5590d6425460 94080558322784
rbp 0x2 0x2
rsp 0x7ffc05ff1558 0x7ffc05ff1558
r8 0x5590d643d000 94080558419968
r9 0x5590d6425350 94080558322512
r10 0x0 0
r11 0x246 582
r12 0x5590d6425460 94080558322784
r13 0x0 0
r14 0x0 0
r15 0x7f7274005820 140129549178912
rip 0x7f72a0a04239 0x7f72a0a04239 <syscall+25>
eflags 0x246 [ PF ZF IF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
(gdb) list
33 movq %rcx, %rdx
34 movq %r8, %r10
35 movq %r9, %r8
36 movq 8(%rsp),%r9 /* arg6 is on the stack. */
37 syscall /* Do the system call. */
38 cmpq $-4095, %rax /* Check %rax for error. */
39 jae SYSCALL_ERROR_LABEL /* Jump to error handler if error. */
40 ret /* Return to caller. */
41
42 PSEUDO_END (syscall)
(gdb)
Version: 3.4.x