#35 Segfault when toggling Side Pane

closed-fixed
PCMan
None
9
2006-09-30
2006-08-24
Anonymous
No

The program segfaults if the Side Pane is toggled
rapidly when displaying the directory three.

Discussion

  • PCMan
    PCMan
    2006-08-24

    • priority: 5 --> 6
    • assigned_to: nobody --> pcmanx
     
  • psyeye
    psyeye
    2006-09-08

    Logged In: YES
    user_id=1565319

    I have additional info on this.
    What I did:
    * start pcmanfm
    * activate tree view
    * open a folder in dir-view
    * (try to) activate bookmark-view
    -> crash

    Backtrace:

    (gdb) run
    Starting program: /usr/local/bin/pcmanfm
    [Thread debugging using libthread_db enabled]
    [New Thread -1217808704 (LWP 15545)]
    [New Thread -1233171536 (LWP 15550)]
    [New Thread -1241564240 (LWP 15551)]
    [Thread -1233171536 (LWP 15550) exited]
    [Thread -1241564240 (LWP 15551) exited]
    [New Thread -1241564240 (LWP 15700)]
    [Thread -1241564240 (LWP 15700) exited]
    *** glibc detected *** free(): invalid pointer: 0x08281e40 ***

    Program received signal SIGABRT, Aborted.
    [Switching to Thread -1217808704 (LWP 15545)]
    0xffffe410 in __kernel_vsyscall ()
    (gdb) b
    backtrace break bt
    (gdb) backtrace
    #0 0xffffe410 in __kernel_vsyscall ()
    #1 0xb77e29a1 in raise () from /lib/tls/i686/cmov/libc.so.6
    #2 0xb77e42b9 in abort () from /lib/tls/i686/cmov/libc.so.6
    #3 0xb781687a in __fsetlocking () from
    /lib/tls/i686/cmov/libc.so.6
    #4 0xb781cfd4 in malloc_usable_size () from
    /lib/tls/i686/cmov/libc.so.6
    #5 0xb781d34a in free () from /lib/tls/i686/cmov/libc.so.6
    #6 0xb7990eec in g_free () from /usr/lib/libglib-2.0.so.0
    #7 0x0807c2d3 in vfs_file_monitor_remove (fm=0xc,
    cb=0x8075e81 <on_file_monitor_event>, user_data=0x8300a78)
    at vfs/vfs-file-monitor.c:234
    #8 0x080758b6 in ptk_dir_tree_node_free (node=0x8300a78)
    at ptk/ptk-dir-tree.c:592
    #9 0x08075894 in ptk_dir_tree_node_free (node=0x82fdac8)
    at ptk/ptk-dir-tree.c:589
    #10 0x08075894 in ptk_dir_tree_node_free (node=0x82fdd40)
    at ptk/ptk-dir-tree.c:589
    #11 0x08075894 in ptk_dir_tree_node_free (node=0x82fdd68)
    at ptk/ptk-dir-tree.c:589
    #12 0x080758e3 in ptk_dir_tree_finalize (object=0x82f0b18)
    at ptk/ptk-dir-tree.c:232
    #13 0xb7a00f48 in g_object_unref () from
    /usr/lib/libgobject-2.0.so.0
    #14 0xb7ead0d5 in
    gtk_tree_model_filter_convert_path_to_child_path ()
    from /usr/lib/libgtk-x11-2.0.so.0
    ---Type <return> to continue, or q <return> to quit---
    #15 0xb7ead27f in
    gtk_tree_model_filter_convert_path_to_child_path ()
    from /usr/lib/libgtk-x11-2.0.so.0
    #16 0xb7a00f48 in g_object_unref () from
    /usr/lib/libgobject-2.0.so.0
    #17 0xb7ecbfc1 in gtk_tree_view_set_model () from
    /usr/lib/libgtk-x11-2.0.so.0
    #18 0xb7ece07f in gtk_tree_view_set_model () from
    /usr/lib/libgtk-x11-2.0.so.0
    #19 0xb7a0a423 in g_cclosure_marshal_VOID__VOID ()
    from /usr/lib/libgobject-2.0.so.0
    #20 0xb79fe16f in g_cclosure_new_swap () from
    /usr/lib/libgobject-2.0.so.0
    #21 0xb79fe79f in g_closure_invoke () from
    /usr/lib/libgobject-2.0.so.0
    #22 0xb7a0db17 in g_signal_stop_emission () from
    /usr/lib/libgobject-2.0.so.0
    #23 0xb7a0eb19 in g_signal_emit_valist () from
    /usr/lib/libgobject-2.0.so.0
    #24 0xb7a0ee89 in g_signal_emit () from
    /usr/lib/libgobject-2.0.so.0
    #25 0xb7e19512 in gtk_object_destroy () from
    /usr/lib/libgtk-x11-2.0.so.0
    #26 0xb7ee4c5f in gtk_widget_hide_on_delete ()
    from /usr/lib/libgtk-x11-2.0.so.0
    #27 0xb7a019f4 in g_object_run_dispose () from
    /usr/lib/libgobject-2.0.so.0
    #28 0xb7e194ce in gtk_object_destroy () from
    /usr/lib/libgtk-x11-2.0.so.0
    #29 0xb7edd6ce in gtk_widget_destroy () from
    /usr/lib/libgtk-x11-2.0.so.0
    #30 0x08060f3e in ptk_file_browser_set_side_pane_mode
    (file_browser=0x82d5818,
    mode=FB_SIDE_PANE_BOOKMARKS) at ptk/ptk-file-browser.c:2675
    #31 0xb7a0a423 in g_cclosure_marshal_VOID__VOID ()
    from /usr/lib/libgobject-2.0.so.0
    #32 0xb79fe79f in g_closure_invoke () from
    /usr/lib/libgobject-2.0.so.0
    ---Type <return> to continue, or q <return> to quit---
    #33 0xb7a0d2ea in g_signal_stop_emission () from
    /usr/lib/libgobject-2.0.so.0
    #34 0xb7a0eb19 in g_signal_emit_valist () from
    /usr/lib/libgobject-2.0.so.0
    #35 0xb7a0ee89 in g_signal_emit () from
    /usr/lib/libgobject-2.0.so.0
    #36 0xb7e96f46 in gtk_toggle_tool_button_get_type ()
    from /usr/lib/libgtk-x11-2.0.so.0
    #37 0xb7a0a423 in g_cclosure_marshal_VOID__VOID ()
    from /usr/lib/libgobject-2.0.so.0
    #38 0xb79fe79f in g_closure_invoke () from
    /usr/lib/libgobject-2.0.so.0
    #39 0xb7a0d2ea in g_signal_stop_emission () from
    /usr/lib/libgobject-2.0.so.0
    #40 0xb7a0eb19 in g_signal_emit_valist () from
    /usr/lib/libgobject-2.0.so.0
    #41 0xb7a0ee89 in g_signal_emit () from
    /usr/lib/libgobject-2.0.so.0
    #42 0xb7e96651 in gtk_toggle_button_toggled ()
    from /usr/lib/libgtk-x11-2.0.so.0
    #43 0xb7e295d3 in
    gtk_radio_button_new_with_mnemonic_from_widget ()
    from /usr/lib/libgtk-x11-2.0.so.0
    #44 0xb7a0a423 in g_cclosure_marshal_VOID__VOID ()
    from /usr/lib/libgobject-2.0.so.0
    #45 0xb79fe16f in g_cclosure_new_swap () from
    /usr/lib/libgobject-2.0.so.0
    #46 0xb79fe79f in g_closure_invoke () from
    /usr/lib/libgobject-2.0.so.0
    #47 0xb7a0d5cc in g_signal_stop_emission () from
    /usr/lib/libgobject-2.0.so.0
    #48 0xb7a0eb19 in g_signal_emit_valist () from
    /usr/lib/libgobject-2.0.so.0
    #49 0xb7a0ee89 in g_signal_emit () from
    /usr/lib/libgobject-2.0.so.0
    #50 0xb7d3b49f in gtk_button_clicked () from
    /usr/lib/libgtk-x11-2.0.so.0
    ---Type <return> to continue, or q <return> to quit---
    #51 0xb7e96a32 in gtk_toggle_button_set_inconsistent ()
    from /usr/lib/libgtk-x11-2.0.so.0
    #52 0xb7a0a423 in g_cclosure_marshal_VOID__VOID ()
    from /usr/lib/libgobject-2.0.so.0
    #53 0xb79fe16f in g_cclosure_new_swap () from
    /usr/lib/libgobject-2.0.so.0
    #54 0xb79fe79f in g_closure_invoke () from
    /usr/lib/libgobject-2.0.so.0
    #55 0xb7a0d5cc in g_signal_stop_emission () from
    /usr/lib/libgobject-2.0.so.0
    #56 0xb7a0eb19 in g_signal_emit_valist () from
    /usr/lib/libgobject-2.0.so.0
    #57 0xb7a0ee89 in g_signal_emit () from
    /usr/lib/libgobject-2.0.so.0
    #58 0xb7d3b41c in gtk_button_released () from
    /usr/lib/libgtk-x11-2.0.so.0
    #59 0xb7d3c38c in _gtk_button_paint () from
    /usr/lib/libgtk-x11-2.0.so.0
    #60 0xb7dfc8e0 in _gtk_marshal_BOOLEAN__BOXED ()
    from /usr/lib/libgtk-x11-2.0.so.0
    #61 0xb79fe16f in g_cclosure_new_swap () from
    /usr/lib/libgobject-2.0.so.0
    #62 0xb79fe79f in g_closure_invoke () from
    /usr/lib/libgobject-2.0.so.0
    #63 0xb7a0d9ce in g_signal_stop_emission () from
    /usr/lib/libgobject-2.0.so.0
    #64 0xb7a0e886 in g_signal_emit_valist () from
    /usr/lib/libgobject-2.0.so.0
    #65 0xb7a0ee89 in g_signal_emit () from
    /usr/lib/libgobject-2.0.so.0
    #66 0xb7ededcf in gtk_widget_activate () from
    /usr/lib/libgtk-x11-2.0.so.0
    #67 0xb7dfb05d in gtk_propagate_event () from
    /usr/lib/libgtk-x11-2.0.so.0
    #68 0xb7dfb46b in gtk_main_do_event () from
    /usr/lib/libgtk-x11-2.0.so.0
    #69 0xb7c9ddec in _gdk_events_queue () from
    /usr/lib/libgdk-x11-2.0.so.0
    #70 0xb79898d6 in g_main_context_dispatch () from
    /usr/lib/libglib-2.0.so.0
    ---Type <return> to continue, or q <return> to quit---
    #71 0xb798c996 in g_main_context_check () from
    /usr/lib/libglib-2.0.so.0
    #72 0xb798ccb8 in g_main_loop_run () from
    /usr/lib/libglib-2.0.so.0
    #73 0xb7dfa765 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
    #74 0x08084d61 in main (argc=0, argv=0xbfdc63f4) at main.c:291

     
  • PCMan
    PCMan
    2006-09-30

    • priority: 6 --> 9
     
  • PCMan
    PCMan
    2006-09-30

    • status: open --> closed-fixed
     
  • PCMan
    PCMan
    2006-09-30

    Logged In: YES
    user_id=1110932

    Fixed finally. :-)
    The latest code in svn no longer crashes on toggling side pane.