#539 pcmanfm --desktop crash when uses .desktop file

1.0.1
closed-works-for-me
nobody
pcmanfm (123)
7
2012-08-21
2012-05-18
No

I copied a file into my ~/Desktop and then used pcmanfm to "reload" (see bug 3527773). This crashed pcmanfm:

(pcmanfm:5702): Gtk-CRITICAL **: IA__gtk_window_present_with_time: assertion `GTK_IS_WINDOW (window)' failed

[1] + Memory fault pcmanfm --desktop (core dumped)

Program terminated with signal 11, Segmentation fault.
#0 0x0000000000412e9a in fm_tab_page_get_type ()
(gdb) bt
#0 0x0000000000412e9a in fm_tab_page_get_type ()
#1 0x00007f7ff3012659 in g_closure_invoke ()
from /usr/pkg/lib/libgobject-2.0.so.0
#2 0x00007f7ff3022f48 in g_signal_chain_from_overridden ()
from /usr/pkg/lib/libgobject-2.0.so.0
#3 0x00007f7ff3024374 in g_signal_emit_valist ()
from /usr/pkg/lib/libgobject-2.0.so.0
#4 0x00007f7ff30245e3 in g_signal_emit ()
from /usr/pkg/lib/libgobject-2.0.so.0
#5 0x00007f7ff3012659 in g_closure_invoke ()
from /usr/pkg/lib/libgobject-2.0.so.0
#6 0x00007f7ff3022f48 in g_signal_chain_from_overridden ()
from /usr/pkg/lib/libgobject-2.0.so.0
#7 0x00007f7ff3024374 in g_signal_emit_valist ()
from /usr/pkg/lib/libgobject-2.0.so.0
#8 0x00007f7ff30245e3 in g_signal_emit ()
from /usr/pkg/lib/libgobject-2.0.so.0
#9 0x00007f7ff30123fb in g_closure_unref ()
from /usr/pkg/lib/libgobject-2.0.so.0
#10 0x00007f7ff3023c4c in g_signal_emit_valist ()
from /usr/pkg/lib/libgobject-2.0.so.0
#11 0x00007f7ff30245e3 in g_signal_emit ()
from /usr/pkg/lib/libgobject-2.0.so.0
#12 0x00007f7ff75138f8 in fm_job_finish () from /usr/pkg/lib/libfm.so.1
#13 0x00007f7ff2a4a95f in g_main_context_dispatch ()
from /usr/pkg/lib/libglib-2.0.so.0
#14 0x00007f7ff2a4ce46 in g_main_context_prepare ()
from /usr/pkg/lib/libglib-2.0.so.0
#15 0x00007f7ff2a4cfdc in g_main_loop_run () from /usr/pkg/lib/libglib-2.0.so.0
#16 0x00007f7ff783f952 in gtk_main () from /usr/pkg/lib/libgtk-x11-2.0.so.0
#17 0x000000000040f59e in main ()

I restart pcmanfm --desktop and now see it on my desktop. I double-click it:

Core was generated by `pcmanfm'.
Program terminated with signal 11, Segmentation fault.
#0 0x00007f7ff2184a60 in strstr () from /usr/lib/libc.so.12
(gdb) bt
#0 0x00007f7ff2184a60 in strstr () from /usr/lib/libc.so.12
#1 0x00007f7ff7512ca1 in fm_app_info_launch_default_for_uri ()
from /usr/pkg/lib/libfm.so.1
#2 0x00007f7ff7512f07 in fm_app_info_launch () from /usr/pkg/lib/libfm.so.1
#3 0x00007f7ff7512fb0 in fm_app_info_launch_uris ()
from /usr/pkg/lib/libfm.so.1
#4 0x00007f7ff750fe77 in fm_launch_desktop_entry ()
from /usr/pkg/lib/libfm.so.1
#5 0x00007f7ff75101e1 in fm_launch_files () from /usr/pkg/lib/libfm.so.1
#6 0x00007f7ff7c37ba8 in fm_launch_files_simple ()
from /usr/pkg/lib/libfm-gtk.so.1
#7 0x00007f7ff7c37c1a in fm_launch_file_simple ()
from /usr/pkg/lib/libfm-gtk.so.1
#8 0x0000000000417a00 in fm_desktop_manager_finalize ()
#9 0x00007f7ff784577d in gtk_marshal_BOOLEAN__VOID ()
from /usr/pkg/lib/libgtk-x11-2.0.so.0
#10 0x00007f7ff3012659 in g_closure_invoke ()
from /usr/pkg/lib/libgobject-2.0.so.0
#11 0x00007f7ff30234b2 in g_signal_chain_from_overridden ()
from /usr/pkg/lib/libgobject-2.0.so.0
#12 0x00007f7ff3024039 in g_signal_emit_valist ()
from /usr/pkg/lib/libgobject-2.0.so.0
#13 0x00007f7ff30245e3 in g_signal_emit ()
from /usr/pkg/lib/libgobject-2.0.so.0
#14 0x00007f7ff795167e in gtk_widget_style_attach ()
from /usr/pkg/lib/libgtk-x11-2.0.so.0
#15 0x00007f7ff783e449 in gtk_propagate_event ()
from /usr/pkg/lib/libgtk-x11-2.0.so.0
#16 0x00007f7ff783f600 in gtk_main_do_event ()
from /usr/pkg/lib/libgtk-x11-2.0.so.0
#17 0x00007f7ff736035c in gdk_add_client_message_filter ()
from /usr/pkg/lib/libgdk-x11-2.0.so.0
#18 0x00007f7ff2a4a95f in g_main_context_dispatch ()
from /usr/pkg/lib/libglib-2.0.so.0
#19 0x00007f7ff2a4ce46 in g_main_context_prepare ()
from /usr/pkg/lib/libglib-2.0.so.0
#20 0x00007f7ff2a4cfdc in g_main_loop_run () from /usr/pkg/lib/libglib-2.0.so.0
#21 0x00007f7ff783f952 in gtk_main () from /usr/pkg/lib/libgtk-x11-2.0.so.0
#22 0x000000000040f59e in main ()

Here is the file:

[Desktop Entry]
Name=Flash Card
Comment=Insert flash memory (for camera)
Icon=gnome-dev-media-sm
Exec='/home/heather/bin/flash-card.sh'
Path=/home/heather
Terminal=true
StartupNotify=false
Type=Application
Categories=Graphics;

I assume it has some issue; but it does work from lxpanel and xfce4-panel.

It also crashes pcmanfm without the desktop.

I verified that other foo.desktop file works. I didn't attempt trial and error to try to merge broken with working to see which line(s) causes the problem yet.

Discussion

  • Lonely Stranger

    Lonely Stranger - 2012-05-26
    • priority: 5 --> 7
     
  • PCMan

    PCMan - 2012-05-27

    Please try the latest code in git. I cleaned up the code of that part recently.
    Some bugs are fixed already. Please test the latest source code in git to see if things work.

     
  • PCMan

    PCMan - 2012-05-27
    • status: open --> pending
     
  • PCMan

    PCMan - 2012-05-27
    • status: pending --> open
     
  • Jeremy C. Reed

    Jeremy C. Reed - 2012-06-02

    I haven't figured it out in git yet. It required libfm from git too. Both require automake 1.10 or 1.11. I have automake 1.12. There are many problems. I will need to downgrade or figure out the numerous issues. By the way, the autogen output says "> 1.10" (greater) but the check is not greater. As one example, I can't figure out why docs/reference/libfm/Makefile.in is not generated by automake.

     
  • Jeremy C. Reed

    Jeremy C. Reed - 2012-06-02

    data/ui/Makefile.am:21: warning: '%'-style pattern rules are a GNU make extension
    caused my problem of not getting later Makefile.in generated even when using --gnu and -Wnone
    So as a workaround, I commented out problem lines. Then did automake then put the lines back and ran automake again.

    Also since no Vala compiler found, it fails later due to VALAC not set (tries to run arguments).

     
  • Jeremy C. Reed

    Jeremy C. Reed - 2012-06-02

    I was able to get the libfm and pcmanfm built and installed from today's git master. I can still repeat the problem. Copying the .desktop files to the ~/Desktop crashes pcmanfm. Not immediately, but I don't see all new icons appear and when I tried to move an icon it crashed:

    #0 fm_file_info_get_path (fi=0x0) at base/fm-file-info.c:459
    #1 0x0000000000417a66 in save_item_pos (desktop=0x7f7ff18d7000)
    at desktop.c:482
    #2 0x0000000000417d32 in on_drag_drop (dest_widget=0x7f7ff18d7000,
    drag_context=0x7f7ff18c4b30, x=<value optimized out>,
    y=<value optimized out>, time=867183949) at desktop.c:2555
    #3 0x00007f7ff7645057 in gtk_marshal_BOOLEAN__VOID ()
    from /usr/pkg/lib/libgtk-x11-2.0.so.0
    #4 0x00007f7ff2e12659 in g_closure_invoke ()
    from /usr/pkg/lib/libgobject-2.0.so.0
    #5 0x00007f7ff2e234b2 in g_signal_chain_from_overridden ()
    from /usr/pkg/lib/libgobject-2.0.so.0
    #6 0x00007f7ff2e24039 in g_signal_emit_valist ()
    from /usr/pkg/lib/libgobject-2.0.so.0
    #7 0x00007f7ff2e25fc3 in g_signal_emit_by_name ()
    from /usr/pkg/lib/libgobject-2.0.so.0
    #8 0x00007f7ff7771147 in gtk_drag_finish ()
    from /usr/pkg/lib/libgtk-x11-2.0.so.0
    #9 0x00007f7ff77715ab in gtk_drag_finish ()
    from /usr/pkg/lib/libgtk-x11-2.0.so.0
    #10 0x00007f7ff763f6d0 in gtk_main_do_event ()
    from /usr/pkg/lib/libgtk-x11-2.0.so.0
    #11 0x00007f7ff716035c in gdk_add_client_message_filter ()
    from /usr/pkg/lib/libgdk-x11-2.0.so.0
    #12 0x00007f7ff264a95f in g_main_context_dispatch ()
    from /usr/pkg/lib/libglib-2.0.so.0
    #13 0x00007f7ff264ce46 in g_main_context_prepare ()
    from /usr/pkg/lib/libglib-2.0.so.0
    #14 0x00007f7ff264cfdc in g_main_loop_run () from /usr/pkg/lib/libglib-2.0.so.0
    #15 0x00007f7ff763f952 in gtk_main () from /usr/pkg/lib/libgtk-x11-2.0.so.0
    #16 0x000000000040f9fe in main (argc=1, argv=0x7f7fffffdc40) at pcmanfm.c:201

     
  • Lonely Stranger

    Lonely Stranger - 2012-06-03
    • milestone: --> 557433
     
  • Lonely Stranger

    Lonely Stranger - 2012-06-03

    Unfortunately I cannot reproduce this bug too on Ubuntu. It seems it is affected by something else on your NetBSD.

     
  • Lonely Stranger

    Lonely Stranger - 2012-06-03
    • milestone: 557433 --> 2334066
     
  • Lonely Stranger

    Lonely Stranger - 2012-08-09
    • milestone: 2334066 --> 1.0.1
    • status: open --> open-works-for-me
     
  • Lonely Stranger

    Lonely Stranger - 2012-08-13

    I would like you to check 1.0 release if you still experience this behavior. Thank you very much.

     
  • Lonely Stranger

    Lonely Stranger - 2012-08-17

    libfm can be compiled without valac from git sources using --disable-actions now.

     
  • Lonely Stranger

    Lonely Stranger - 2012-08-18

    And please, next time you submit a report, compile libfm and pcmanfm with debug info. Thank you.

     
  • Lonely Stranger

    Lonely Stranger - 2012-08-21

    I've tried your desktop entry file on test netbsd 5.1.2 install with pcmanfm from git and got no crash. Tried it three times. So I consider it fixed for netbsd as well. Feel free to reopen the report with full debug info if it isn't fixed for you with latest sources. Thank you very much.

     
  • Lonely Stranger

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

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks