Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

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

1.0.1
closed-fixed
pcmanfm (100)
7
2012-09-02
2012-08-18
alister.hood
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 3 > >> (Page 1 of 3)
  • 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

     
    • milestone: --> 1.0.1
    • priority: 5 --> 7
    • labels: --> pcmanfm
     
  • 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}

     
  • 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!

     
  • 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.

     
  • 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.

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

     
1 2 3 > >> (Page 1 of 3)