gio deadlock



Saw this earlier today when hacking on some other code ... perhaps we
need to replace all the locks in gio with recursive ones?

     David

(gdb) bt
#0  0x00131416 in __kernel_vsyscall ()
#1  0x00898d19 in __lll_lock_wait () from /lib/libpthread.so.0
#2  0x00894124 in _L_lock_89 () from /lib/libpthread.so.0
#3  0x00893a52 in pthread_mutex_lock () from /lib/libpthread.so.0
#4  0x008fef79 in _ih_sub_cancel (sub=0x996c618) at inotify-helper.c:125
#5  0x008ffe4f in g_inotify_directory_monitor_cancel (monitor=0x9b64810)
    at ginotifydirectorymonitor.c:140
#6  0x008d7166 in IA__g_file_monitor_cancel (monitor=0x9b64810)
    at gfilemonitor.c:276
#7  0x0812f160 in nautilus_monitor_cancel (monitor=0x980aa88)
    at nautilus-monitor.c:146
#8  0x080ecc28 in nautilus_directory_monitor_remove_internal (
    directory=0x99272e0, file=0x0, client=0x9af4d50)
    at nautilus-directory-async.c:1124
#9  0x0813ec78 in vfs_file_monitor_remove (directory=0x99272e0, 
    client=0x9af4d50) at nautilus-vfs-directory.c:121
#10 0x080f08d9 in nautilus_directory_file_monitor_remove (directory=0x99272e0, 
    client=0x9af4d50) at nautilus-directory.c:1719
#11 0x080d5eaf in stop_monitoring_directory (model=0x9af4d50, node=0x992dc68)
    at fm-tree-model.c:737
#12 0x080d5f0b in destroy_node_without_reporting (model=0x9af4d50, 
    node=0x992dc68) at fm-tree-model.c:752
#13 0x080d5f1f in destroy_node_without_reporting (model=0x9af4d50, 
    node=0x9aaf3e0) at fm-tree-model.c:744
#14 0x080d859d in fm_tree_model_remove_root_uri (model=0x9af4d50, 
    uri=0x9af5760 "file:///media/EOS_DIGITAL") at fm-tree-model.c:1680
#15 0x080d1fee in mount_removed_callback (volume_monitor=0x95ef898, 
    mount=0x9866e10, view=0x97fc9e8) at fm-tree-view.c:625
#16 0x009290ba in IA__g_cclosure_marshal_VOID__OBJECT (closure=0x981dd78, 
    return_value=0x0, n_param_values=2, param_values=0xbfa68ff8, 
    invocation_hint=0xbfa68f2c, marshal_data=0x80d1fa0) at gmarshal.c:636
#17 0x0091b07b in IA__g_closure_invoke (closure=0x981dd78, return_value=0x0, 
    n_param_values=2, param_values=0xbfa68ff8, invocation_hint=0xbfa68f2c)
    at gclosure.c:490
#18 0x0092f9a5 in signal_emit_unlocked_R (node=0x95ffb20, detail=0, 
    instance=0x95ef898, emission_return=0x0, instance_and_params=0xbfa68ff8)
    at gsignal.c:2440
#19 0x00930ee0 in IA__g_signal_emit_valist (instance=0x95ef898, signal_id=45, 
    detail=0, var_args=0xbfa6924c "\002\200") at gsignal.c:2199
#20 0x0093120d in IA__g_signal_emit_by_name (instance=0x95ef898, 
    detailed_signal=0x90c1f3 "mount_removed") at gsignal.c:2267
#21 0x008e620e in child_mount_removed (child_monitor=0x95be850, 
    child_mount=0x9866e10, union_monitor=0x95ef898)
    at gunionvolumemonitor.c:292
#22 0x009290ba in IA__g_cclosure_marshal_VOID__OBJECT (closure=0x9609bc8, 
    return_value=0x0, n_param_values=2, param_values=0xbfa694c8, 
    invocation_hint=0xbfa693fc, marshal_data=0x8e61e0) at gmarshal.c:636
#23 0x0091b07b in IA__g_closure_invoke (closure=0x9609bc8, return_value=0x0, 
    n_param_values=2, param_values=0xbfa694c8, invocation_hint=0xbfa693fc)
    at gclosure.c:490
#24 0x0092f9a5 in signal_emit_unlocked_R (node=0x95ffb20, detail=0, 
    instance=0x95be850, emission_return=0x0, instance_and_params=0xbfa694c8)
    at gsignal.c:2440
#25 0x00930ee0 in IA__g_signal_emit_valist (instance=0x95be850, signal_id=45, 
    detail=0, var_args=0xbfa6971c "�?�") at gsignal.c:2199
#26 0x0093120d in IA__g_signal_emit_by_name (instance=0x95be850, 
    detailed_signal=0x478899b "mount_removed") at gsignal.c:2267
#27 0x0477f681 in update_all (monitor=0x95be850) at ghalvolumemonitor.c:948
#28 0x00928f34 in IA__g_cclosure_marshal_VOID__VOID (closure=0x96272d0, 
    return_value=0x0, n_param_values=1, param_values=0xbfa69af8, 
    invocation_hint=0xbfa69a2c, marshal_data=0x47803a0) at gmarshal.c:77
#29 0x0091b07b in IA__g_closure_invoke (closure=0x96272d0, return_value=0x0, 
    n_param_values=1, param_values=0xbfa69af8, invocation_hint=0xbfa69a2c)
    at gclosure.c:490
#30 0x0092f9a5 in signal_emit_unlocked_R (node=0x95e6e78, detail=0, 
    instance=0x95ef748, emission_return=0x0, instance_and_params=0xbfa69af8)
    at gsignal.c:2440
#31 0x00930ee0 in IA__g_signal_emit_valist (instance=0x95ef748, signal_id=37, 
    detail=0, var_args=0xbfa69d0c "\022�\232") at gsignal.c:2199
#32 0x00931366 in IA__g_signal_emit (instance=0x95ef748, signal_id=37, 
    detail=0) at gsignal.c:2243
#33 0x008efdad in mtab_file_changed (monitor=0x95e68e8, file=0x97ed170, 
---Type <return> to continue, or q <return> to quit---
    other_file=0x0, event_type=G_FILE_MONITOR_EVENT_CREATED, 
    user_data=0x95ef748) at gunixmounts.c:1178
#34 0x008fd10e in _gio_marshal_VOID__OBJECT_OBJECT_ENUM (closure=0x95faca0, 
    return_value=0x0, n_param_values=4, param_values=0xbfa69f98, 
    invocation_hint=0xbfa69ecc, marshal_data=0x8efd60) at gio-marshal.c:198
#35 0x0091b07b in IA__g_closure_invoke (closure=0x95faca0, return_value=0x0, 
    n_param_values=4, param_values=0xbfa69f98, invocation_hint=0xbfa69ecc)
    at gclosure.c:490
#36 0x0092f9a5 in signal_emit_unlocked_R (node=0x95f9578, detail=0, 
    instance=0x95e68e8, emission_return=0x0, instance_and_params=0xbfa69f98)
    at gsignal.c:2440
#37 0x00930ee0 in IA__g_signal_emit_valist (instance=0x95e68e8, signal_id=36, 
    detail=0, var_args=0xbfa6a1b8 "\003") at gsignal.c:2199
#38 0x00931366 in IA__g_signal_emit (instance=0x95e68e8, signal_id=36, 
    detail=0) at gsignal.c:2243
#39 0x008d6e8a in IA__g_file_monitor_emit_event (monitor=0x95e68e8, 
    child=0x97ed170, other_file=0x0, event_type=G_FILE_MONITOR_EVENT_CREATED)
    at gfilemonitor.c:552
#40 0x008ff539 in ih_event_callback (event=0x9b63620, sub=0x95face8)
    at inotify-helper.c:160
#41 0x008fe97d in ip_event_callback (event=0x9ab0570) at inotify-path.c:381
#42 0x008fdf5f in ik_process_eq_callback (user_data=0x0)
    at inotify-kernel.c:659
#43 0x0098c286 in g_timeout_dispatch (source=0x9b5f588, callback=0xfffffe00, 
    user_data=0x0) at gmain.c:3498
#44 0x0098bb58 in IA__g_main_context_dispatch (context=0x95c6f70)
    at gmain.c:2064
#45 0x0098f1f3 in g_main_context_iterate (context=0x95c6f70, block=1, 
    dispatch=1, self=0x95a0458) at gmain.c:2697
#46 0x0098f712 in IA__g_main_loop_run (loop=0x96308e8) at gmain.c:2905
#47 0x00459acd in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#48 0x0807bcf9 in main (argc=2, argv=0xbfa6a784) at nautilus-main.c:569





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]