Spurious hang on closing video properties on a network share
Affected version
- Nightly flatpak: Can't test
- Other: Fedora 32, nautilus-3.36.3-1.fc32.x86_64
Steps to reproduce
This is what I did when the hang happened:
- Open properties of a video on an SMB share.
- Click on Video.
- A few seconds later, try to close the dialog.
It doesn't reproduce if I try it again.
Current behavior
It hanged.
Expected behavior
No hang.
Additional information
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007f214ad3088c in g_mutex_lock_slowpath (mutex=0x563c3f750258) at ../glib/gthread-posix.c:1458
#2 0x00007f214ad31396 in g_mutex_lock (mutex=<optimized out>) at ../glib/gthread-posix.c:1482
#3 0x00007f213606e86d in uridecodebin_pad_removed_cb (uridecodebin=<optimized out>, pad=0x563c40154b40 [GstGhostPad], dc=0x563c3f750320 [GstDiscoverer]) at gstdiscoverer.c:785
#4 0x00007f2149377af0 in ffi_call_unix64 () at ../src/x86/unix64.S:76
#5 0x00007f21493772ab in ffi_call (cif=cif@entry=0x7ffd97e1dfc0, fn=fn@entry=0x7f213606e7c0 <uridecodebin_pad_removed_cb>, rvalue=<optimized out>, avalue=avalue@entry=0x7ffd97e1df10) at ../src/x86/ffi64.c:525
#10 0x00007f2149fbfc63 in <emit signal ??? on instance 0x563c401440d0 [GstURIDecodeBin]> (instance=instance@entry=0x563c401440d0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3554
#6 0x00007f2149fa738d in g_cclosure_marshal_generic (closure=closure@entry=0x563c4011d050, return_gvalue=return_gvalue@entry=0x0, n_param_values=n_param_values@entry=2, param_values=param_values@entry=0x7ffd97e1e1c0, invocation_hint=invocation_hint@entry=0x7ffd97e1e140, marshal_data=marshal_data@entry=0x0) at ../gobject/gclosure.c:1500
#7 0x00007f2149fa688a in g_closure_invoke (closure=0x563c4011d050, return_value=return_value@entry=0x0, n_param_values=2, param_values=param_values@entry=0x7ffd97e1e1c0, invocation_hint=invocation_hint@entry=0x7ffd97e1e140) at ../gobject/gclosure.c:810
#8 0x00007f2149fb9423 in signal_emit_unlocked_R (node=node@entry=0x563c3feaaf20, detail=detail@entry=0, instance=instance@entry=0x563c401440d0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffd97e1e1c0) at ../gobject/gsignal.c:3742
#9 0x00007f2149fbfaf9 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffd97e1e360) at ../gobject/gsignal.c:3498
#11 0x00007f21360ee3e3 in gst_element_remove_pad (element=0x563c401440d0 [GstURIDecodeBin], pad=0x563c40154b40 [GstGhostPad]) at gstelement.c:825
#12 0x00007f2149377af0 in ffi_call_unix64 () at ../src/x86/unix64.S:76
#13 0x00007f21493772ab in ffi_call (cif=cif@entry=0x7ffd97e1e620, fn=fn@entry=0x7f2136f7ec20 <pad_removed_cb>, rvalue=<optimized out>, avalue=avalue@entry=0x7ffd97e1e570) at ../src/x86/ffi64.c:525
#18 0x00007f2149fbfc63 in <emit signal ??? on instance 0x563c3f5b4580 [GstDecodeBin]> (instance=instance@entry=0x563c3f5b4580, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3554
#14 0x00007f2149fa738d in g_cclosure_marshal_generic (closure=closure@entry=0x563c4015a850, return_gvalue=return_gvalue@entry=0x0, n_param_values=n_param_values@entry=2, param_values=param_values@entry=0x7ffd97e1e820, invocation_hint=invocation_hint@entry=0x7ffd97e1e7a0, marshal_data=marshal_data@entry=0x0) at ../gobject/gclosure.c:1500
#15 0x00007f2149fa688a in g_closure_invoke (closure=0x563c4015a850, return_value=return_value@entry=0x0, n_param_values=2, param_values=param_values@entry=0x7ffd97e1e820, invocation_hint=invocation_hint@entry=0x7ffd97e1e7a0) at ../gobject/gclosure.c:810
#16 0x00007f2149fb9423 in signal_emit_unlocked_R (node=node@entry=0x563c3feaaf20, detail=detail@entry=0, instance=instance@entry=0x563c3f5b4580, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffd97e1e820) at ../gobject/gsignal.c:3742
#17 0x00007f2149fbfaf9 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffd97e1e9c0) at ../gobject/gsignal.c:3498
#19 0x00007f21360ee3e3 in gst_element_remove_pad (element=0x563c3f5b4580 [GstDecodeBin], pad=pad@entry=0x563c3f156af0 [GstDecodePad]) at gstelement.c:825
#20 0x00007f2136f6bb44 in gst_decode_chain_free_internal (chain=0x7f210c0059c0, hide=hide@entry=1) at gstdecodebin2.c:3445
#21 0x00007f2136f6bc6a in gst_decode_group_free_internal (group=0x563c40187590, hide=hide@entry=1) at gstdecodebin2.c:3599
#22 0x00007f2136f6b540 in gst_decode_chain_free_internal (chain=chain@entry=0x7f210c005930, hide=hide@entry=1) at gstdecodebin2.c:3358
#23 0x00007f2136f6ce3b in gst_decode_bin_change_state (element=0x563c3f5b4580 [GstDecodeBin], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gstdecodebin2.c:5458
#24 0x00007f21360f15d2 in gst_element_change_state (element=element@entry=0x563c3f5b4580 [GstDecodeBin], transition=transition@entry=GST_STATE_CHANGE_PAUSED_TO_READY) at gstelement.c:2952
#25 0x00007f21360f1d1d in gst_element_set_state_func (element=0x563c3f5b4580 [GstDecodeBin], state=GST_STATE_READY) at gstelement.c:2906
#26 0x00007f21360cd69c in gst_bin_element_set_state (next=GST_STATE_READY, current=GST_STATE_PAUSED, start_time=0 [0:00:00.000000000], base_time=0 [0:00:00.000000000], element=0x563c3f5b4580 [GstDecodeBin], bin=0x563c401440d0 [GstURIDecodeBin]) at gstbin.c:2605
#27 gst_bin_change_state_func (element=0x563c401440d0 [GstURIDecodeBin], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gstbin.c:2947
#28 0x00007f2136f822d9 in gst_uri_decode_bin_change_state (element=0x563c401440d0 [GstURIDecodeBin], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gsturidecodebin.c:2814
#29 0x00007f21360f15d2 in gst_element_change_state (element=element@entry=0x563c401440d0 [GstURIDecodeBin], transition=transition@entry=GST_STATE_CHANGE_PAUSED_TO_READY) at gstelement.c:2952
#30 0x00007f21360f1d1d in gst_element_set_state_func (element=0x563c401440d0 [GstURIDecodeBin], state=GST_STATE_READY) at gstelement.c:2906
#31 0x00007f21360cd69c in gst_bin_element_set_state (next=GST_STATE_READY, current=GST_STATE_PAUSED, start_time=0 [0:00:00.000000000], base_time=0 [0:00:00.000000000], element=0x563c401440d0 [GstURIDecodeBin], bin=0x563c4032c7a0 [GstPipeline]) at gstbin.c:2605
#32 gst_bin_change_state_func (element=0x563c4032c7a0 [GstPipeline], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gstbin.c:2947
#33 0x00007f21360f15d2 in gst_element_change_state (element=element@entry=0x563c4032c7a0 [GstPipeline], transition=transition@entry=GST_STATE_CHANGE_PAUSED_TO_READY) at gstelement.c:2952
#34 0x00007f21360f1d1d in gst_element_set_state_func (element=0x563c4032c7a0 [GstPipeline], state=GST_STATE_READY) at gstelement.c:2906
#35 0x00007f2136071a82 in gst_discoverer_stop (discoverer=0x563c3f750320 [GstDiscoverer]) at gstdiscoverer.c:2472
#36 0x00007f213629ac01 in totem_properties_view_finalize (object=0x563c40386450 [TotemPropertiesView]) at ../extensions/audio-video-properties/totem-properties-view.c:346
#37 0x00007f2149fabd00 in g_object_unref (_object=<optimized out>) at ../gobject/gobject.c:3499
#38 g_object_unref (_object=0x563c40386450) at ../gobject/gobject.c:3391
#39 0x00007f214a742f76 in gtk_notebook_forall (container=<optimized out>, include_internals=0, callback=0x7f214a870dc0 <gtk_widget_destroy>, callback_data=0x0) at gtknotebook.c:4607
#40 0x00007f214a646e2a in gtk_container_destroy (widget=0x563c3fe622e0 [GtkNotebook]) at gtkcontainer.c:1701
#44 0x00007f2149fbfc63 in <emit signal ??? on instance 0x563c3fe622e0 [GtkNotebook]> (instance=instance@entry=0x563c3fe622e0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3554
#41 0x00007f2149fa67b8 in g_closure_invoke (closure=closure@entry=0x563c3f16e370, return_value=return_value@entry=0x0, n_param_values=1, param_values=param_values@entry=0x7ffd97e1f270, invocation_hint=invocation_hint@entry=0x7ffd97e1f1f0) at ../gobject/gclosure.c:810
#42 0x00007f2149fb93bd in signal_emit_unlocked_R (node=node@entry=0x563c3f180e00, detail=detail@entry=0, instance=instance@entry=0x563c3fe622e0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffd97e1f270) at ../gobject/gsignal.c:3858
#43 0x00007f2149fbfaf9 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffd97e1f3f0) at ../gobject/gsignal.c:3498
#45 0x00007f214a879a10 in gtk_widget_dispose (object=0x563c3fe622e0 [GtkNotebook]) at gtkwidget.c:12162
#46 0x00007f2149fad066 in g_object_run_dispose (object=0x563c3fe622e0 [GtkNotebook]) at ../gobject/gobject.c:1226
#47 0x00007f214a5f9a60 in gtk_box_forall (container=<optimized out>, include_internals=<optimized out>, callback=0x7f214a870dc0 <gtk_widget_destroy>, callback_data=0x0) at gtkbox.c:2675
#48 0x00007f214a646e2a in gtk_container_destroy (widget=0x563c40387c90 [GtkBox]) at gtkcontainer.c:1701
#52 0x00007f2149fbfc63 in <emit signal ??? on instance 0x563c40387c90 [GtkBox]> (instance=instance@entry=0x563c40387c90, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3554
#49 0x00007f2149fa67b8 in g_closure_invoke (closure=closure@entry=0x563c3f16e370, return_value=return_value@entry=0x0, n_param_values=1, param_values=param_values@entry=0x7ffd97e1f6e0, invocation_hint=invocation_hint@entry=0x7ffd97e1f660) at ../gobject/gclosure.c:810
#50 0x00007f2149fb93bd in signal_emit_unlocked_R (node=node@entry=0x563c3f180e00, detail=detail@entry=0, instance=instance@entry=0x563c40387c90, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffd97e1f6e0) at ../gobject/gsignal.c:3858
#51 0x00007f2149fbfaf9 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffd97e1f860) at ../gobject/gsignal.c:3498
#53 0x00007f214a879a10 in gtk_widget_dispose (object=0x563c40387c90 [GtkBox]) at gtkwidget.c:12162
#54 0x00007f2149fad066 in g_object_run_dispose (object=0x563c40387c90 [GtkBox]) at ../gobject/gobject.c:1226
#55 0x00007f214a8863c9 in gtk_window_forall (container=0x563c3f5b0ac0 [NautilusPropertiesWindow], include_internals=0, callback=0x7f214a870dc0 <gtk_widget_destroy>, callback_data=0x0) at gtkwindow.c:8596
#56 0x00007f214a646e2a in gtk_container_destroy (widget=0x563c3f5b0ac0 [NautilusPropertiesWindow]) at gtkcontainer.c:1701
#60 0x00007f2149fbfc63 in <emit signal ??? on instance 0x563c3f5b0ac0 [NautilusPropertiesWindow]> (instance=instance@entry=0x563c3f5b0ac0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3554
#57 0x00007f2149fa688a in g_closure_invoke (closure=closure@entry=0x563c3f16e370, return_value=return_value@entry=0x0, n_param_values=1, param_values=param_values@entry=0x7ffd97e1fb60, invocation_hint=invocation_hint@entry=0x7ffd97e1fae0) at ../gobject/gclosure.c:810
#58 0x00007f2149fb93bd in signal_emit_unlocked_R (node=node@entry=0x563c3f180e00, detail=detail@entry=0, instance=instance@entry=0x563c3f5b0ac0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffd97e1fb60) at ../gobject/gsignal.c:3858
#59 0x00007f2149fbfaf9 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffd97e1fce0) at ../gobject/gsignal.c:3498
#61 0x00007f214a879a10 in gtk_widget_dispose (object=0x563c3f5b0ac0 [NautilusPropertiesWindow]) at gtkwidget.c:12162
#62 0x00007f214a88d76c in gtk_window_dispose (object=0x563c3f5b0ac0 [NautilusPropertiesWindow]) at gtkwindow.c:3166
#63 0x00007f2149fad066 in g_object_run_dispose (object=0x563c3f5b0ac0 [NautilusPropertiesWindow]) at ../gobject/gobject.c:1226
#64 0x00007f2149fa8d50 in g_cclosure_marshal_VOID__BOOLEANv (closure=<optimized out>, return_value=<optimized out>, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x563c3fe50ad0) at ../gobject/gmarshal.c:272
#65 0x00007f2149fa6ae6 in _g_closure_invoke_va (closure=closure@entry=0x563c3fe5a050, return_value=return_value@entry=0x0, instance=instance@entry=0x563c3f5b0ac0, args=args@entry=0x7ffd97e20030, n_params=1, param_types=0x563c3fe50ad0) at ../gobject/gclosure.c:873
#66 0x00007f2149fbf6e9 in g_signal_emit_valist (instance=0x563c3f5b0ac0, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7ffd97e20030) at ../gobject/gsignal.c:3407
#67 0x00007f2149fbfc63 in g_signal_emit (instance=instance@entry=0x563c3f5b0ac0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3554
#68 0x00007f214a680644 in gtk_dialog_response (dialog=dialog@entry=0x563c3f5b0ac0 [NautilusPropertiesWindow], response_id=response_id@entry=-4) at gtkdialog.c:1233
#69 0x00007f214a680682 in gtk_dialog_delete_event_handler (widget=widget@entry=0x563c3f5b0ac0 [NautilusPropertiesWindow], event=event@entry=0x7f211400edb0, user_data=<optimized out>) at gtkdialog.c:743
#70 0x00007f214a8c719c in _gtk_marshal_BOOLEAN__BOXEDv (closure=0x563c3fe4ae90, return_value=0x7ffd97e202a0, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x563c3f185630) at gtkmarshalers.c:129
#71 0x00007f2149fa6ae6 in _g_closure_invoke_va (closure=closure@entry=0x563c3fe4ae90, return_value=return_value@entry=0x7ffd97e202a0, instance=instance@entry=0x563c3f5b0ac0, args=args@entry=0x7ffd97e20370, n_params=1, param_types=0x563c3f185630) at ../gobject/gclosure.c:873
#72 0x00007f2149fbee4b in g_signal_emit_valist (instance=0x563c3f5b0ac0, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7ffd97e20370) at ../gobject/gsignal.c:3407
#73 0x00007f2149fbfc63 in g_signal_emit (instance=instance@entry=0x563c3f5b0ac0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3554
#74 0x00007f214a8702b4 in gtk_widget_event_internal (widget=0x563c3f5b0ac0 [NautilusPropertiesWindow], event=0x7f211400edb0) at gtkwidget.c:7808
#75 0x00007f214a872522 in gtk_widget_event_internal (event=<optimized out>, widget=<optimized out>) at gtkwidget.c:7687
#76 gtk_widget_event (widget=<optimized out>, event=<optimized out>) at gtkwidget.c:7378
#77 0x0000563c3f9da590 in ()
#78 0x0000563c3eb6b4e0 in ()
#79 0x0000000000000000 in ()
Edited by Ivan Molodetskikh