Menu

#586 Crash on desktop item when "use the same wallpaper" disabled

1.0.1
closed-fixed
pcmanfm (136)
7
2012-09-02
2012-08-18
No

On my machine pcmanfm (from git, with libfm also from git) crashes every time I click on a folder on the desktop, or right-click on the desktop, if "use the same wallpaper on all desktops" was disabled when pcmanfm was started.

There is no crash if the option was disabled after pcmanfm was started.

I currently have gtk 2.24.11 and glib 2.32.4. I'm not sure how long the problem has been around or if it would still occur with significantly older gtk or glib, because I only started testing with "use the same wallpaper..." disabled after work was begun on #3411306.

This was previously reported in the comments at http://sourceforge.net/tracker/?func=detail&atid=801864&aid=3411306&group_id=156956. I'm no longer having a couple of the problems I reported in that ticket (crashing immediately on startup when starting in gdb with a desktop, and the window staying on desktop 1 if "use the same wallpaper..." is enabled). I don't know whether this is because of a system upgrade, or changes in libfm or pcmanfm.

Program received signal SIGSEGV, Segmentation fault.
0xb7c6288a in gtk_widget_style_get_valist () from /usr/lib/libgtk-x11-2.0.so.0
(gdb) bt
#0 0xb7c6288a in gtk_widget_style_get_valist ()
from /usr/lib/libgtk-x11-2.0.so.0
#1 0xb7c62aa8 in gtk_widget_style_get () from /usr/lib/libgtk-x11-2.0.so.0
#2 0xb7baf14f in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#3 0xb7bbb567 in gtk_paint_focus () from /usr/lib/libgtk-x11-2.0.so.0
#4 0x0805b950 in paint_item (icon=0x80d8518, expose_area=0xbfffeea0, cr=
0x8128af0, item=0x811aaf0, self=0x80ba000) at desktop.c:1774
#5 on_expose (w=0x80ba000, evt=0xbffff3d8) at desktop.c:1323
#6 0xb7b25b92 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#7 0xb76004ad in ?? () from /usr/lib/libgobject-2.0.so.0
#8 0xb7601616 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#9 0xb7612dd0 in ?? () from /usr/lib/libgobject-2.0.so.0
#10 0xb761b031 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#11 0xb761b473 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#12 0xb7c5c4cb in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#13 0xb7b2432f in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#14 0xb794f738 in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#15 0xb7981ec3 in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#16 0xb794a222 in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#17 0xb794c59f in gdk_window_process_all_updates ()
from /usr/lib/libgdk-x11-2.0.so.0
#18 0xb794c618 in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#19 0xb7927844 in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#20 0xb753f210 in ?? () from /usr/lib/libglib-2.0.so.0
#21 0xb7541733 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#22 0xb7541ad0 in ?? () from /usr/lib/libglib-2.0.so.0
#23 0xb7541f2b in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#24 0xb7b22dd0 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#25 0x08052345 in main (argc=1, argv=0xbffff7a4) at pcmanfm.c:228

Discussion

1 2 > >> (Page 1 of 2)
  • Alister Hood

    Alister Hood - 2012-08-18

    I also got this just now in testing. I have no idea if it is related.

    0xb7624c27 in g_type_check_instance_is_a () from /usr/lib/libgobject-2.0.so.0
    (gdb) bt
    #0 0xb7624c27 in g_type_check_instance_is_a ()
    from /usr/lib/libgobject-2.0.so.0
    #1 0xb760cc21 in g_param_spec_get_redirect_target ()
    from /usr/lib/libgobject-2.0.so.0
    #2 0xb76076f2 in g_object_notify () from /usr/lib/libgobject-2.0.so.0
    #3 0xb7c64762 in gtk_widget_set_name () from /usr/lib/libgtk-x11-2.0.so.0
    #4 0xb7c14cdb in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #5 0xb7623cb7 in g_type_create_instance () from /usr/lib/libgobject-2.0.so.0
    #6 0xb76064a1 in ?? () from /usr/lib/libgobject-2.0.so.0
    #7 0xb7608189 in g_object_newv () from /usr/lib/libgobject-2.0.so.0
    #8 0xb7608728 in g_object_new () from /usr/lib/libgobject-2.0.so.0
    #9 0xb7c16c75 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #10 0xb7b24078 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
    #11 0xb796a3b8 in ?? () from /usr/lib/libgdk-x11-2.0.so.0
    #12 0xb7541733 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
    #13 0xb7541ad0 in ?? () from /usr/lib/libglib-2.0.so.0
    #14 0xb7541f2b in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
    #15 0xb7b22dd0 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
    #16 0x08052345 in main (argc=1, argv=0xbffff7a4) at pcmanfm.c:228
    0xb7624c27 in g_type_check_instance_is_a () from /usr/lib/libgobject-2.0.so.0
    (gdb) bt
    #0 0xb7624c27 in g_type_check_instance_is_a ()
    from /usr/lib/libgobject-2.0.so.0
    #1 0xb760cc21 in g_param_spec_get_redirect_target ()
    from /usr/lib/libgobject-2.0.so.0
    #2 0xb76076f2 in g_object_notify () from /usr/lib/libgobject-2.0.so.0
    #3 0xb7c64762 in gtk_widget_set_name () from /usr/lib/libgtk-x11-2.0.so.0
    #4 0xb7c14cdb in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #5 0xb7623cb7 in g_type_create_instance () from /usr/lib/libgobject-2.0.so.0
    #6 0xb76064a1 in ?? () from /usr/lib/libgobject-2.0.so.0
    #7 0xb7608189 in g_object_newv () from /usr/lib/libgobject-2.0.so.0
    #8 0xb7608728 in g_object_new () from /usr/lib/libgobject-2.0.so.0
    #9 0xb7c16c75 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #10 0xb7b24078 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
    #11 0xb796a3b8 in ?? () from /usr/lib/libgdk-x11-2.0.so.0
    #12 0xb7541733 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
    #13 0xb7541ad0 in ?? () from /usr/lib/libglib-2.0.so.0
    #14 0xb7541f2b in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
    #15 0xb7b22dd0 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
    #16 0x08052345 in main (argc=1, argv=0xbffff7a4) at pcmanfm.c:228

     
  • Lonely Stranger

    Lonely Stranger - 2012-08-18
    • milestone: --> 1.0.1
    • priority: 5 --> 7
    • labels: --> pcmanfm
     
  • Lonely Stranger

    Lonely Stranger - 2012-08-18

    Thank you very much. If you still have the core file around I would like if you could do some exploration on it. I want you to:
    frame 4
    print *style
    print *window
    print *expose_area
    print item->text_rect
    I'm afraid we ran into some regression of that libgtk version. :( As I said already I have that setting to off for many months (since late November 2011) and it never crashed in such conditions.

     
  • Alister Hood

    Alister Hood - 2012-08-18

    (gdb) frame 4
    #4 0x0805b950 in paint_item (icon=0x80d7a10, expose_area=0xbfffeea0, cr=
    0x813b7f8, item=0x81190f0, self=0x80ba008) at desktop.c:1774
    1774 gtk_paint_focus(style, window, gtk_widget_get_state(widget),
    (gdb) print *style
    $2 = {parent_instance = {g_type_instance = {g_class = 0x80b9448}, ref_count =
    3, qdata = 0x0}, fg = {{pixel = 0, red = 0, green = 0, blue = 0}, {pixel =
    0, red = 0, green = 0, blue = 0}, {pixel = 0, red = 0, green = 0, blue =
    0}, {pixel = 16777215, red = 65535, green = 65535, blue = 65535}, {pixel =
    7697781, red = 30000, green = 30000, blue = 30000}}, bg = {{pixel =
    14473941, red = 56540, green = 56026, blue = 54741}, {pixel = 12894909,
    red = 50372, green = 49858, blue = 48573}, {pixel = 15657959, red =
    61166, green = 60395, blue = 59367}, {pixel = 4942211, red = 19275,
    green = 26985, blue = 33667}, {pixel = 14473941, red = 56540, green =
    56026, blue = 54741}}, light = {{pixel = 16777215, red = 65535, green =
    65535, blue = 65535}, {pixel = 16514042, red = 64403, green = 64352,
    blue = 64225}, {pixel = 16777215, red = 65534, green = 65534, blue =
    65535}, {pixel = 5999025, red = 23413, green = 35197, blue = 45411}, {
    pixel = 16777215, red = 65535, green = 65535, blue = 65535}}, dark = {{
    pixel = 10394257, red = 40640, green = 39673, blue = 37256}, {pixel =
    9210242, red = 35842, green = 35149, blue = 33419}, {pixel = 11511449,
    red = 44976, green = 42585, blue = 39396}, {pixel = 3819862, red =
    15003, green = 18781, blue = 22055}, {pixel = 10394257, red = 40640,
    green = 39673, blue = 37256}}, mid = {{pixel = 13618632, red = 53087,
    green = 52604, blue = 51395}, {pixel = 12829374, red = 50122, green =
    49750, blue = 48822}, {pixel = 14144460, red = 55255, green = 54059,
    blue = 52465}, {pixel = 4942211, red = 19208, green = 26989, blue =
    33733}, {pixel = 13618632, red = 53087, green = 52604, blue = 51395}},
    ---Type <return> to continue, or q <return> to quit---
    text = {{pixel = 0, red = 0, green = 0, blue = 0}, {pixel = 16777215, red =
    65535, green = 65535, blue = 65535}, {pixel = 0, red = 0, green = 0,
    blue = 0}, {pixel = 16777215, red = 65535, green = 65535, blue = 65535},
    {pixel = 7697781, red = 30000, green = 30000, blue = 30000}}, base = {{
    pixel = 16777215, red = 65535, green = 65535, blue = 65535}, {pixel =
    10263188, red = 40092, green = 39578, blue = 38036}, {pixel = 16777215,
    red = 65535, green = 65535, blue = 65535}, {pixel = 4942211, red =
    19275, green = 26985, blue = 33667}, {pixel = 15657959, red = 61166,
    green = 60395, blue = 59367}}, text_aa = {{pixel = 8355711, red = 32767,
    green = 32767, blue = 32767}, {pixel = 13553098, red = 52813, green =
    52556, blue = 51785}, {pixel = 8355711, red = 32767, green = 32767, blue =
    32767}, {pixel = 10859713, red = 42405, green = 46260, blue = 49601}, {
    pixel = 11710638, red = 45583, green = 45197, blue = 44683}}, black = {
    pixel = 0, red = 0, green = 0, blue = 0}, white = {pixel = 16777215, red =
    65535, green = 65535, blue = 65535}, font_desc = 0x80f0ce0, xthickness =
    2, ythickness = 2, fg_gc = {0x80adb78, 0x80adb78, 0x80adb78, 0x80ab480,
    0x8138f08}, bg_gc = {0x80ab420, 0x80ab600, 0x8138c68, 0x8138d88,
    0x80ab420}, light_gc = {0x80ab480, 0x80ab660, 0x80ab480, 0x8138de8,
    0x80ab480}, dark_gc = {0x80ab4e0, 0x80ab6c0, 0x8138cc8, 0x8138e48,
    0x80ab4e0}, mid_gc = {0x80ab540, 0x80ab720, 0x8138d28, 0x8138d88,
    0x80ab540}, text_gc = {0x80adb78, 0x80ab480, 0x80adb78, 0x80ab480,
    0x8138f08}, base_gc = {0x80ab480, 0x80ab780, 0x80ab480, 0x8138d88,
    0x8138c68}, text_aa_gc = {0x80ab5a0, 0x8138c08, 0x80ab5a0, 0x8138ea8,
    ---Type <return> to continue, or q <return> to quit---
    0x8138f68}, black_gc = 0x80adab8, white_gc = 0x80adb18, bg_pixmap = {0x0,
    0x0, 0x0, 0x0, 0x0}, attach_count = 1, depth = 24, colormap = 0x8092808,
    private_font = 0x0, private_font_desc = 0x0, rc_style = 0x0, styles =
    0x80e0b80 = {0x80bc410}, property_cache = 0x811a8c0, icon_factories = 0x0}
    (gdb) print *window
    $3 = {parent_instance = {g_type_instance = {g_class = 0x808e2a0}, ref_count =
    7, qdata = 0x813af30}}
    (gdb) print *expose_area
    $4 = {x = 36, y = 11, width = 48, height = 66}
    (gdb) print item->text_rect
    $5 = {x = 40, y = 54, width = 39, height = 23}

     
  • Lonely Stranger

    Lonely Stranger - 2012-08-19

    All that looks pretty legitimate. Is it hard for you to install debug symbols for your libgtk? I would try to dig into libgtk then.
    Thank you very much!

     
  • Lonely Stranger

    Lonely Stranger - 2012-08-19

    Oh! I would like to ask you if there were any Gtk-warings/errors in output before crash? Thank you!

     
  • Alister Hood

    Alister Hood - 2012-08-20

    (pcmanfm:12680): GLib-GObject-CRITICAL **: g_param_spec_get_redirect_target: assertion `G_IS_PARAM_SPEC (pspec)' failed

    (pcmanfm:12680): GLib-GObject-CRITICAL **: g_param_spec_get_redirect_target: assertion `G_IS_PARAM_SPEC (pspec)' failed

    (pcmanfm:12680): GLib-GObject-CRITICAL **: g_param_spec_get_qdata: assertion `G_IS_PARAM_SPEC (pspec)' failed

    ...

    (pcmanfm:12680): GLib-GObject-CRITICAL **: g_param_spec_get_redirect_target: assertion `G_IS_PARAM_SPEC (pspec)' failed

    (pcmanfm:12680): GLib-GObject-CRITICAL **: g_param_spec_get_qdata: assertion `G_IS_PARAM_SPEC (pspec)' failed

    (pcmanfm:12680): Gtk-CRITICAL **: _gtk_style_peek_property_value: assertion `G_IS_PARAM_SPEC (pspec)' failed

     
  • Alister Hood

    Alister Hood - 2012-08-20

    > Is it hard for you to install debug symbols for your libgtk? I would try to dig into libgtk then.

    I may not get a chance until next weekend.

     
  • Lonely Stranger

    Lonely Stranger - 2012-08-20

    I experimented with gtk 2.24.11 on ubuntu 12.10 and it gave me no problems with the setup "use the same wallpaper..." disabled so your help is still needed.
    And BTW I've discovered the SIGSEGV on startup and fixed it in Git few moments ago. It might be that one you've got in other thread.

     
  • Lonely Stranger

    Lonely Stranger - 2012-08-20

    Hasn't change lxsession -> startlxde (bug #3531655) fixed this problem? You know it might. :)

     
  • Lonely Stranger

    Lonely Stranger - 2012-08-20
    • assigned_to: nobody --> lstranger
     
  • Lonely Stranger

    Lonely Stranger - 2012-08-20

    I've caught some crash with new gtk/glib, investigating...

     
  • Lonely Stranger

    Lonely Stranger - 2012-08-21
    • status: open --> open-works-for-me
     
  • Lonely Stranger

    Lonely Stranger - 2012-08-21

    Unfortunately that crash was because I not fully removed old lib, no problems from new gtk so far. I hope to hear from you soon whether it's already fixed for you or not. Thank you.

     
  • Alister Hood

    Alister Hood - 2012-08-25

    (pcmanfm:7899): GLib-GObject-CRITICAL **: g_param_spec_get_redirect_target: assertion `G_IS_PARAM_SPEC (pspec)' failed

    (pcmanfm:7899): GLib-GObject-CRITICAL **: g_param_spec_get_redirect_target: assertion `G_IS_PARAM_SPEC (pspec)' failed

    (pcmanfm:7899): GLib-GObject-CRITICAL **: g_param_spec_get_redirect_target: assertion `G_IS_PARAM_SPEC (pspec)' failed

    (pcmanfm:7899): GLib-GObject-CRITICAL **: g_param_spec_get_qdata: assertion `G_IS_PARAM_SPEC (pspec)' failed

    (pcmanfm:7899): Gtk-CRITICAL **: _gtk_style_peek_property_value: assertion `G_IS_PARAM_SPEC (pspec)' failed

    Program received signal SIGSEGV, Segmentation fault.
    0xb7c50a9e in gtk_widget_style_get_valist () from /usr/lib/libgtk-x11-2.0.so.0
    (gdb) bt
    #0 0xb7c50a9e in gtk_widget_style_get_valist () from /usr/lib/libgtk-x11-2.0.so.0
    #1 0xb7c50cb8 in gtk_widget_style_get () from /usr/lib/libgtk-x11-2.0.so.0
    #2 0xb7b90f0f in gtk_default_draw_focus () from /usr/lib/libgtk-x11-2.0.so.0
    #3 0xb7b9d477 in gtk_paint_focus () from /usr/lib/libgtk-x11-2.0.so.0
    #4 0x0805ba80 in paint_item (icon=0x8144328, expose_area=0xbfffee60, cr=0x82cc8e8, item=0x814a750, self=0x80c5008) at desktop.c:1774
    #5 on_expose (w=0x80c5008, evt=0xbffff388) at desktop.c:1323
    #6 0xb7af7752 in _gtk_marshal_BOOLEAN__BOXED () from /usr/lib/libgtk-x11-2.0.so.0
    #7 0xb75ad4ad in g_type_class_meta_marshal () from /usr/lib/libgobject-2.0.so.0
    #8 0xb75ae636 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
    #9 0xb75bfde0 in signal_emit_unlocked_R () from /usr/lib/libgobject-2.0.so.0
    #10 0xb75c8041 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
    #11 0xb75c8483 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
    #12 0xb7c49acb in gtk_widget_event_internal () from /usr/lib/libgtk-x11-2.0.so.0
    #13 0xb7af5937 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
    #14 0xb78fe378 in _gdk_window_process_updates_recurse () from /usr/lib/libgdk-x11-2.0.so.0
    #15 0xb7939fa3 in _gdk_windowing_window_process_updates_recurse () from /usr/lib/libgdk-x11-2.0.so.0
    #16 0xb78f89d2 in gdk_window_process_updates_internal () from /usr/lib/libgdk-x11-2.0.so.0
    #17 0xb78faf67 in gdk_window_process_all_updates () from /usr/lib/libgdk-x11-2.0.so.0
    #18 0xb78fafe8 in gdk_window_update_idle () from /usr/lib/libgdk-x11-2.0.so.0
    #19 0xb78d4b44 in gdk_threads_dispatch () from /usr/lib/libgdk-x11-2.0.so.0
    #20 0xb74ec1c0 in g_idle_dispatch () from /usr/lib/libglib-2.0.so.0
    #21 0xb74ee6e3 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
    #22 0xb74eea80 in g_main_context_iterate.isra.21 () from /usr/lib/libglib-2.0.so.0
    #23 0xb74eeedb in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
    #24 0xb7af4350 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
    #25 0x08052475 in main (argc=1, argv=0xbffff764) at pcmanfm.c:228

     
  • Alister Hood

    Alister Hood - 2012-08-27

    Oh, that's strange. I rebuilt libfm and pcmanfm from the latest git, and I don't get this crash anymore. But it doesn't look like much has changed in git. Without looking closely, only the fix for 3559831 looks likely, although I guess it might only affect right-clicks in filer windows...
    I can't remember doing anything else that might have made a difference (except maybe rebooting for the first time after building gtk with debugging enabled).

    I have a couple of other reliable crashes though:

    1) crash on right-click in "description", "size" or "modified" column, when in "details view":

    (pcmanfm:18654): GLib-CRITICAL **: g_queue_peek_head: assertion `queue != NULL' failed

    Program received signal SIGSEGV, Segmentation fault.
    0xb7988654 in fm_file_info_get_mime_type (fi=fi@entry=0x0) at base/fm-file-info.c:693
    693 return fi->mime_type;
    (gdb) bt
    #0 0xb7988654 in fm_file_info_get_mime_type (fi=fi@entry=0x0) at base/fm-file-info.c:693
    #1 0xb7e856aa in fm_file_menu_new_for_files (parent=parent@entry=0x80bf808, files=files@entry=0x0, cwd=0xb5b00ca0, auto_destroy=auto_destroy@entry=1) at gtk/fm-file-menu.c:253
    #2 0x08057522 in on_folder_view_clicked (win=0x80bf808, fi=0xb5911070, type=FM_FV_CONTEXT_MENU, fv=0x831e1c8) at main-win.c:1252
    #3 on_folder_view_clicked (fv=0x831e1c8, type=FM_FV_CONTEXT_MENU, fi=0xb5911070, win=0x80bf808) at main-win.c:1208
    #4 0xb75ae951 in g_cclosure_marshal_VOID__UINT_POINTER () from /usr/lib/libgobject-2.0.so.0
    #5 0xb75ab636 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
    #6 0xb75bd115 in signal_emit_unlocked_R () from /usr/lib/libgobject-2.0.so.0
    #7 0xb75c5306 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
    #8 0xb75c5483 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
    #9 0xb7e72c05 in fm_folder_view_item_clicked (fv=0x831e1c8, path=path@entry=0x8344760, type=type@entry=FM_FV_CONTEXT_MENU) at gtk/fm-folder-view.c:1304
    #10 0xb7e7400a in on_btn_pressed (view=0x8334220, evt=0x8336860, fv=0x831e1c8) at gtk/fm-standard-view.c:1085
    #11 0xb7af5752 in _gtk_marshal_BOOLEAN__BOXED () from /usr/lib/libgtk-x11-2.0.so.0
    #12 0xb75ab636 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
    #13 0xb75bd115 in signal_emit_unlocked_R () from /usr/lib/libgobject-2.0.so.0
    #14 0xb75c5041 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
    #15 0xb75c5483 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
    #16 0xb7c47acb in gtk_widget_event_internal () from /usr/lib/libgtk-x11-2.0.so.0
    #17 0xb7af3274 in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
    #18 0xb7af3620 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
    #19 0xb7919f98 in gdk_event_dispatch () from /usr/lib/libgdk-x11-2.0.so.0
    #20 0xb74eb6e3 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
    #21 0xb74eba80 in g_main_context_iterate.isra.21 () from /usr/lib/libglib-2.0.so.0
    #22 0xb74ebedb in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
    #23 0xb7af2350 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
    #24 0x08052345 in main (argc=1, argv=0xbffff764) at pcmanfm.c:228

    2) Crash when dragging icons around on the desktop. Typically the crash can be triggered by holding down shift and dragging an item twice:

    Program received signal SIGSEGV, Segmentation fault.
    0xb7988494 in fm_file_info_get_path (fi=fi@entry=0x0) at base/fm-file-info.c:564
    564 return fi->path;
    (gdb) bt
    #0 0xb7988494 in fm_file_info_get_path (fi=fi@entry=0x0) at base/fm-file-info.c:564
    #1 0xb7e8bfa0 in fm_dnd_dest_drag_data_received (dd=0x80c2c60, drag_context=0x80978b0, x=0, y=137249784, sel_data=0xbfffedd4, info=0, time=1346071554) at gtk/fm-dnd-dest.c:383
    #2 0xb7af9071 in _gtk_marshal_VOID__OBJECT_INT_INT_BOXED_UINT_UINT () from /usr/lib/libgtk-x11-2.0.so.0
    #3 0xb75aa4ad in g_type_class_meta_marshal () from /usr/lib/libgobject-2.0.so.0
    #4 0xb75ab636 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
    #5 0xb75bcde0 in signal_emit_unlocked_R () from /usr/lib/libgobject-2.0.so.0
    #6 0xb75c5306 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
    #7 0xb75c5905 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
    #8 0xb7c69f0b in gtk_drag_selection_received () from /usr/lib/libgtk-x11-2.0.so.0
    #9 0xb7af7bf9 in _gtk_marshal_VOID__BOXED_UINT () from /usr/lib/libgtk-x11-2.0.so.0
    #10 0xb75ab636 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
    #11 0xb75bd115 in signal_emit_unlocked_R () from /usr/lib/libgobject-2.0.so.0
    #12 0xb75c5306 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
    #13 0xb75c5905 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
    #14 0xb7b724ae in gtk_selection_retrieval_report () from /usr/lib/libgtk-x11-2.0.so.0
    #15 0xb7b7414d in gtk_selection_convert () from /usr/lib/libgtk-x11-2.0.so.0
    #16 0xb7e8c686 in fm_dnd_dest_get_default_action (dd=0x80c2c60, drag_context=drag_context@entry=0x80978b0, target=target@entry=0x72) at gtk/fm-dnd-dest.c:632
    #17 0x0805abf4 in on_drag_motion (dest_widget=0x80c5008, drag_context=0x80978b0, x=245, y=197, time=1861661) at desktop.c:2675
    #18 0xb7af604b in _gtk_marshal_BOOLEAN__OBJECT_INT_INT_UINT () from /usr/lib/libgtk-x11-2.0.so.0
    #19 0xb75aa4ad in g_type_class_meta_marshal () from /usr/lib/libgobject-2.0.so.0
    #20 0xb75ab636 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
    #21 0xb75bcde0 in signal_emit_unlocked_R () from /usr/lib/libgobject-2.0.so.0
    #22 0xb75c5041 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
    #23 0xb75c5905 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
    #24 0xb7c6b39c in gtk_drag_dest_motion () from /usr/lib/libgtk-x11-2.0.so.0
    #25 0xb7c6aeb9 in _gtk_drag_dest_handle_event () from /usr/lib/libgtk-x11-2.0.so.0
    #26 0xb7af3874 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
    #27 0xb7919f98 in gdk_event_dispatch () from /usr/lib/libgdk-x11-2.0.so.0
    #28 0xb74eb6e3 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
    #29 0xb74eba80 in g_main_context_iterate.isra.21 () from /usr/lib/libglib-2.0.so.0
    #30 0xb74ebedb in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
    #31 0xb7af2350 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
    #32 0x08052345 in main (argc=1, argv=0xbffff764) at pcmanfm.c:228

     
  • Lonely Stranger

    Lonely Stranger - 2012-08-29

    I've added a workaround for the crash (1). And for the crash (2) there was a related bug fixed recently. Please, check latest changes in the Git whether issues are fixed. Thank you very much.

     
  • Alister Hood

    Alister Hood - 2012-08-29

    (1) is fixed, thanks.

    (2) is not fixed. Here is an update of the backtrace, if it helps:

    #0 0xb7988494 in fm_file_info_get_path (fi=fi@entry=0x0)
    at base/fm-file-info.c:564
    #1 0xb7e8bfa0 in fm_dnd_dest_drag_data_received (dd=0x80c3060, drag_context=
    0x80978b0, x=0, y=8388693, sel_data=0xbfffedd4, info=0, time=1346220104)
    at gtk/fm-dnd-dest.c:383
    #2 0xb7af9071 in _gtk_marshal_VOID__OBJECT_INT_INT_BOXED_UINT_UINT ()
    from /usr/lib/libgtk-x11-2.0.so.0
    #3 0xb75aa4ad in g_type_class_meta_marshal ()
    from /usr/lib/libgobject-2.0.so.0
    #4 0xb75ab636 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
    #5 0xb75bcde0 in signal_emit_unlocked_R () from /usr/lib/libgobject-2.0.so.0
    #6 0xb75c5306 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
    #7 0xb75c5905 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
    #8 0xb7c69f0b in gtk_drag_selection_received ()
    from /usr/lib/libgtk-x11-2.0.so.0
    #9 0xb7af7bf9 in _gtk_marshal_VOID__BOXED_UINT ()
    from /usr/lib/libgtk-x11-2.0.so.0
    #10 0xb75ab636 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
    #11 0xb75bd115 in signal_emit_unlocked_R () from /usr/lib/libgobject-2.0.so.0
    #12 0xb75c5306 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
    #13 0xb75c5905 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
    #14 0xb7b724ae in gtk_selection_retrieval_report ()
    from /usr/lib/libgtk-x11-2.0.so.0
    ---Type <return> to continue, or q <return> to quit---
    #15 0xb7b7414d in gtk_selection_convert () from /usr/lib/libgtk-x11-2.0.so.0
    #16 0xb7e8c686 in fm_dnd_dest_get_default_action (dd=0x80c3060,
    drag_context=drag_context@entry=0x80978b0, target=target@entry=0x72)
    at gtk/fm-dnd-dest.c:632
    #17 0x0805ac14 in on_drag_motion (dest_widget=0x80c5008, drag_context=
    0x80978b0, x=234, y=57, time=722137) at desktop.c:2692
    #18 0xb7af604b in _gtk_marshal_BOOLEAN__OBJECT_INT_INT_UINT ()
    from /usr/lib/libgtk-x11-2.0.so.0
    #19 0xb75aa4ad in g_type_class_meta_marshal ()
    from /usr/lib/libgobject-2.0.so.0
    #20 0xb75ab636 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
    #21 0xb75bcde0 in signal_emit_unlocked_R () from /usr/lib/libgobject-2.0.so.0
    #22 0xb75c5041 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
    #23 0xb75c5905 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
    #24 0xb7c6b39c in gtk_drag_dest_motion () from /usr/lib/libgtk-x11-2.0.so.0
    #25 0xb7c6aeb9 in _gtk_drag_dest_handle_event ()
    from /usr/lib/libgtk-x11-2.0.so.0
    #26 0xb7af3874 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
    #27 0xb7919f98 in gdk_event_dispatch () from /usr/lib/libgdk-x11-2.0.so.0
    #28 0xb74eb6e3 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
    #29 0xb74eba80 in g_main_context_iterate.isra.21 ()
    from /usr/lib/libglib-2.0.so.0
    #30 0xb74ebedb in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
    ---Type <return> to continue, or q <return> to quit---
    #31 0xb7af2350 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
    #32 0x08052345 in main (argc=1, argv=0xbffff764) at pcmanfm.c:229

     
  • Lonely Stranger

    Lonely Stranger - 2012-08-29

    I've added a workaround for (2) too. Unfortunately I cannot reproduce it (it doesn't crash) so I hope you can check if latest changes in git fixed that issue. Thank you very much.

     
  • Alister Hood

    Alister Hood - 2012-08-30
    • status: open-works-for-me --> closed-fixed
     
  • Alister Hood

    Alister Hood - 2012-08-30

    Yes, it seems to be fixed.
    :)

     
  • Alister Hood

    Alister Hood - 2012-08-30

    Oh, sorry, I played around for a bit longer and got another crash. This one is harder to reproduce:

    Program received signal SIGSEGV, Segmentation fault.
    0xb79850f4 in fm_path_get_parent (path=path@entry=0x0) at base/fm-path.c:614
    614 return path->parent;
    (gdb) bt
    #0 0xb79850f4 in fm_path_get_parent (path=path@entry=0x0)
    at base/fm-path.c:614
    #1 0xb7e8bc2e in fm_dnd_dest_files_dropped (dd=dd@entry=0x80c2c60, x=62,
    y=y@entry=85, action=action@entry=2, info_type=0, files=files@entry=
    0x88e2480) at gtk/fm-dnd-dest.c:227
    #2 0xb7e92372 in fm_marshal_BOOLEAN__INT_INT_UINT_UINT_POINTER (closure=
    0x80ce698, return_value=0xbfffeb50, n_param_values=6, param_values=
    0xbfffebc0, invocation_hint=0xbfffeb6c, marshal_data=
    0xb7e8bb70 <fm_dnd_dest_files_dropped>) at gtk/fm-gtk-marshal.c:88
    #3 0xb75aa4ad in g_type_class_meta_marshal ()
    from /usr/lib/libgobject-2.0.so.0
    #4 0xb75ab636 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
    #5 0xb75bcde0 in signal_emit_unlocked_R () from /usr/lib/libgobject-2.0.so.0
    #6 0xb75c5041 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
    #7 0xb75c5483 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
    #8 0xb7e8c2c2 in fm_dnd_dest_drag_drop (dd=0x80c2c60,
    drag_context=drag_context@entry=0x842ab18, target=0x72, x=x@entry=62,
    y=y@entry=85, time=time@entry=54797475) at gtk/fm-dnd-dest.c:576
    #9 0x0805c944 in on_drag_drop (dest_widget=0x80c5008, drag_context=0x842ab18,
    x=62, y=85, time=54797475) at desktop.c:2829
    #10 0xb7af604b in _gtk_marshal_BOOLEAN__OBJECT_INT_INT_UINT ()
    from /usr/lib/libgtk-x11-2.0.so.0
    #11 0xb75aa4ad in g_type_class_meta_marshal ()
    ---Type <return> to continue, or q <return> to quit---
    from /usr/lib/libgobject-2.0.so.0
    #12 0xb75ab636 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
    #13 0xb75bcde0 in signal_emit_unlocked_R () from /usr/lib/libgobject-2.0.so.0
    #14 0xb75c5041 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
    #15 0xb75c5905 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
    #16 0xb7c6d8f6 in gtk_drag_dest_drop () from /usr/lib/libgtk-x11-2.0.so.0
    #17 0xb7c6aeb9 in _gtk_drag_dest_handle_event ()
    from /usr/lib/libgtk-x11-2.0.so.0
    #18 0xb7af3874 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
    #19 0xb7919f98 in gdk_event_dispatch () from /usr/lib/libgdk-x11-2.0.so.0
    #20 0xb74eb6e3 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
    #21 0xb74eba80 in g_main_context_iterate.isra.21 ()
    from /usr/lib/libglib-2.0.so.0
    #22 0xb74ebedb in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
    #23 0xb7af2350 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
    #24 0x08052345 in main (argc=1, argv=0xbffff764) at pcmanfm.c:229

     
  • Alister Hood

    Alister Hood - 2012-08-30
    • status: closed-fixed --> open-fixed
     
  • Alister Hood

    Alister Hood - 2012-08-30

    To be clear, that crash is again when dragging files around on the desktop.

     
  • Lonely Stranger

    Lonely Stranger - 2012-08-31

    I've added one more workaround. Check latest git, please. I feel I should revise all drag&drop functionality in libfm instead of workarounding bugs. Will do it in 1.0.2. Thank you very much!

     
1 2 > >> (Page 1 of 2)

Anonymous
Anonymous

Add attachments
Cancel