After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 312502 - crash in desktop_entry_has_category()
crash in desktop_entry_has_category()
Status: RESOLVED FIXED
Product: gnome-menus
Classification: Core
Component: general
2.10.x
Other other
: Normal critical
: ---
Assigned To: gnome-menus dummy account
Panel Maintainers
Depends on:
Blocks:
 
 
Reported: 2005-08-03 19:55 UTC by Marcus Grando
Modified: 2005-08-05 12:23 UTC
See Also:
GNOME target: ---
GNOME version: 2.9/2.10


Attachments
gdb file (5.22 KB, application/octet-stream)
2005-08-04 15:34 UTC, Marcus Grando
  Details
gnome-menus-fix-off-by-one-error.patch (1.07 KB, patch)
2005-08-05 07:58 UTC, Mark McLoughlin
committed Details | Review

Description Marcus Grando 2005-08-03 19:55:58 UTC
Distribution: Unknown
Package: gnome-panel
Severity: critical
Version: GNOME2.10.2 2.10.x
Gnome-Distributor: FreeBSD GNOME Project
Synopsis: Start menu crash
Bugzilla-Product: gnome-panel
Bugzilla-Component: Panel
Bugzilla-Version: 2.10.x
BugBuddy-GnomeVersion: 2.0 (2.10.1)
Description:
Description of the crash:
When i click on start menu he's crash.

Steps to reproduce the crash:
1. 
2. 
3. 

Expected Results:


How often does this happen?


Additional Information:



Debugging Information:

Backtrace was generated from '/usr/X11R6/bin/gnome-panel'

(no debugging symbols found)...(no debugging symbols found)...(no
debugging symbols found)...(no debugging symbols found)...(no debugging
symbols found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...[New LWP 100080]
(no debugging symbols found)...(no debugging symbols found)...(no
debugging symbols found)...(no debugging symbols found)...(no debugging
symbols found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...[Switching to LWP 100080]
0x286856a7 in wait4 () from /lib/libc.so.6

Thread 1 (LWP 100080)

  • #0 wait4
    from /lib/libc.so.6
  • #1 waitpid
    from /lib/libc.so.6
  • #2 waitpid
    from /usr/lib/libpthread.so.1
  • #3 libgnomeui_module_info_get
    from /usr/X11R6/lib/libgnomeui-2.so.1000
  • #4 sigaction
    from /usr/lib/libpthread.so.1
  • #5 ??
  • #6 ??
  • #7 ??
  • #8 ??
  • #9 ??
  • #10 sigaction
    from /usr/lib/libpthread.so.1
  • #11 get_by_category_foreach
    from /usr/X11R6/lib/libgnome-menu.so.0
  • #12 entry_hash_foreach
    from /usr/X11R6/lib/libgnome-menu.so.0
  • #13 g_hash_table_foreach
    from /usr/local/lib/libglib-2.0.so.600
  • #14 desktop_entry_set_foreach
    from /usr/X11R6/lib/libgnome-menu.so.0
  • #15 process_include_rules
    from /usr/X11R6/lib/libgnome-menu.so.0
  • #16 process_include_rules
    from /usr/X11R6/lib/libgnome-menu.so.0
  • #17 process_include_rules
    from /usr/X11R6/lib/libgnome-menu.so.0
  • #18 process_layout
    from /usr/X11R6/lib/libgnome-menu.so.0
  • #19 process_layout
    from /usr/X11R6/lib/libgnome-menu.so.0
  • #20 process_layout
    from /usr/X11R6/lib/libgnome-menu.so.0
  • #21 menu_tree_get_root_directory
    from /usr/X11R6/lib/libgnome-menu.so.0
  • #22 menu_tree_get_directory_from_path
    from /usr/X11R6/lib/libgnome-menu.so.0
  • #23 setup_menu_item_with_icon
  • #24 g_cclosure_marshal_VOID__VOID
    from /usr/local/lib/libgobject-2.0.so.600
  • #25 g_closure_invoke
    from /usr/local/lib/libgobject-2.0.so.600
  • #26 g_signal_has_handler_pending
    from /usr/local/lib/libgobject-2.0.so.600
  • #27 g_signal_emit_valist
    from /usr/local/lib/libgobject-2.0.so.600
  • #28 g_signal_emit
    from /usr/local/lib/libgobject-2.0.so.600
  • #29 gtk_widget_show
    from /usr/X11R6/lib/libgtk-x11-2.0.so.600
  • #30 gtk_menu_popup
    from /usr/X11R6/lib/libgtk-x11-2.0.so.600
  • #31 panel_menu_button_popup_menu
  • #32 panel_gdk_pixbuf_draw_to_pixbuf_tiled
  • #33 gdk_x11_register_standard_event_type
    from /usr/X11R6/lib/libgdk-x11-2.0.so.600
  • #34 gdk_event_get_graphics_expose
    from /usr/X11R6/lib/libgdk-x11-2.0.so.600
  • #35 gdk_event_get_graphics_expose
    from /usr/X11R6/lib/libgdk-x11-2.0.so.600
  • #36 g_main_context_dispatch
    from /usr/local/lib/libglib-2.0.so.600
  • #37 g_main_context_acquire
    from /usr/local/lib/libglib-2.0.so.600
  • #38 g_main_loop_run
    from /usr/local/lib/libglib-2.0.so.600
  • #39 gtk_main
    from /usr/X11R6/lib/libgtk-x11-2.0.so.600
  • #40 main




------- Bug moved to this database by unknown@gnome.bugs 2005-08-03 19:55 UTC -------

Comment 1 Christian Kirbach 2005-08-03 21:19:59 UTC
Seems to be a unique stack trace.
Can you compile with debugging symbols, please (-g flag) and repost the gdb 
trace.
Does it happen every time?
Comment 2 Marcus Grando 2005-08-04 12:48:05 UTC
Yes, every time. Sometimes i can view menu without crash.

How i can start gnome-panel with gdb? Because when start gnome gnome-panel start
automaticaly.

# uname -v
FreeBSD 6.0-BETA2 #3: Thu Aug  4 09:36:30 BRT 2005    
root@noc.grupos.com.br:/usr/obj/usr/src/sys/NOC
Comment 3 Christian Kirbach 2005-08-04 13:31:10 UTC
$ gnome-session-remove gnome-panel
$ gdb /path/to/gnome-panel

but you may also recompile, make it crash and copy the stack trace from bug-
buddy.

http://live.gnome.org/GettingTraces may contain helpful instructions.
Thank you for your efforts.
Comment 4 Marcus Grando 2005-08-04 15:31:36 UTC
Wheel, attach new backtrace generated with:

# cat run 
run
thread apply all bt
#gdb -batch /usr/X11R6/bin/gnome-panel -x run > gnome-panel.gdb 2>&1
Comment 5 Marcus Grando 2005-08-04 15:34:37 UTC
Created attachment 50238 [details]
gdb file
Comment 6 Christian Kirbach 2005-08-04 20:00:58 UTC
Marcus' trace from the attachment

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x80c9000 (LWP 100112)]
0x2861fe9e in desktop_entry_has_category () from /usr/X11R6/lib/libgnome-menu.
so.0
[New Thread 0x80c9200 (LWP 100109)]

Thread 2 (Thread 0x80c9000 (LWP 100112))

  • #0 desktop_entry_has_category
    from /usr/X11R6/lib/libgnome-
  • #1 get_by_category_foreach
    from /usr/X11R6/lib/libgnome-menu.
  • #2 entry_hash_foreach
    from /usr/X11R6/lib/libgnome-menu.so.0
  • #3 g_hash_table_foreach
    from /usr/local/lib/libglib-2.0.so.600
  • #4 desktop_entry_set_foreach
    from /usr/X11R6/lib/libgnome-
  • #5 process_include_rules
    from /usr/X11R6/lib/libgnome-menu.so.
  • #6 process_include_rules
    from /usr/X11R6/lib/libgnome-menu.so.
  • #7 process_include_rules
    from /usr/X11R6/lib/libgnome-menu.so.
  • #8 process_layout
    from /usr/X11R6/lib/libgnome-menu.so.0
  • #9 process_layout
    from /usr/X11R6/lib/libgnome-menu.so.0
  • #10 process_layout
    from /usr/X11R6/lib/libgnome-menu.so.0
  • #11 menu_tree_get_root_directory
    from /usr/X11R6/lib/libgnome-
  • #12 menu_tree_get_directory_from_path
    from /usr/X11R6/lib/
  • #13 setup_internal_applet_drag
  • #14 g_cclosure_marshal_VOID__VOID
    from /usr/local/lib/
  • #15 g_closure_invoke
    from /usr/local/lib/libgobject-2.0.so.600
  • #16 g_signal_has_handler_pending
    from /usr/local/lib/
  • #17 g_signal_emit_valist
    from /usr/local/lib/libgobject-2.0.so.
  • #18 g_signal_emit
    from /usr/local/lib/libgobject-2.0.so.600
  • #19 gtk_widget_show
    from /usr/X11R6/lib/libgtk-x11-2.0.so.600
  • #20 gtk_menu_popup
    from /usr/X11R6/lib/libgtk-x11-2.0.so.600
  • #21 panel_menu_button_popup_menu
  • #22 panel_gdk_pixbuf_draw_to_pixbuf_tiled
  • #23 panel_gdk_pixbuf_draw_to_pixbuf_tiled
  • #24 gdk_x11_register_standard_event_type
    from /usr/X11R6/lib/
  • #25 gdk_event_get_graphics_expose
    from /usr/X11R6/lib/libgdk-
  • #26 gdk_event_get_graphics_expose
    from /usr/X11R6/lib/libgdk-
  • #27 g_main_context_dispatch
    from /usr/local/lib/libglib-2.0.so.
  • #28 g_main_context_acquire
    from /usr/local/lib/libglib-2.0.so.
  • #29 g_main_loop_run
    from /usr/local/lib/libglib-2.0.so.600
  • #30 gtk_main
    from /usr/X11R6/lib/libgtk-x11-2.0.so.600
  • #31 main

Comment 7 Christian Kirbach 2005-08-04 20:07:19 UTC
looks like a crash in libgnome, changing product. Retitling.

desktop_entry_has_category () could be the culprit

can you recompile libgnome with the -g compiler flag as well, please,
and post "thread apply all bt full". that would be extremely helpful for 
developers.

Does this happen as well if you create a new user and start Gnome for it?
Comment 8 Marcus Grando 2005-08-04 21:22:17 UTC
New backtrace...

--
(no debugging symbols found)...(no debugging symbols found)...(no debugging
symbols found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...warning: Unable to get location for
thread creation breakpoint: generic error
[New LWP 100094]
[New Thread 0x80c9000 (LWP 100094)]

(gnome-panel:30009): Gtk-WARNING **: Theme directory scalable/emblems of theme
Flat-Blue has no size field


Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x80c9000 (LWP 100110)]
0x28623350 in desktop_entry_has_category (entry=0x82ecd00, category=0x82df4c0
"Qt") at desktop-entries.c:533
533	desktop-entries.c: No such file or directory.
	in desktop-entries.c
[New Thread 0x80c9200 (LWP 100116)]

Thread 2 (Thread 0x80c9000 (LWP 100110))

  • #0 desktop_entry_has_category
    at desktop-entries.c line 533
  • #1 get_by_category_foreach
    at menu-tree.c line 2396
  • #2 entry_hash_foreach
    at desktop-entries.c line 660
  • #3 g_hash_table_foreach
    from /usr/local/lib/libglib-2.0.so.600
  • #4 desktop_entry_set_foreach
    at desktop-entries.c line 678
  • #5 get_by_category
    at menu-tree.c line 2410
  • #6 process_include_rules
    at menu-tree.c line 2561
  • #7 process_include_rules
    at menu-tree.c line 2469
  • #8 process_include_rules
    at menu-tree.c line 2434
  • #9 process_layout
    at menu-tree.c line 2674
  • #10 process_layout
    at menu-tree.c line 2646
  • #11 process_layout
    at menu-tree.c line 2646
  • #12 menu_tree_build_from_layout
    at menu-tree.c line 2965
  • #13 menu_tree_get_root_directory
    at menu-tree.c line 600
  • #14 menu_tree_get_directory_from_path
    at menu-tree.c line 672
  • #15 setup_internal_applet_drag
  • #16 g_cclosure_marshal_VOID__VOID
    from /usr/local/lib/libgobject-2.0.so.600
  • #17 g_closure_invoke
    from /usr/local/lib/libgobject-2.0.so.600
  • #18 g_signal_has_handler_pending
    from /usr/local/lib/libgobject-2.0.so.600
  • #19 g_signal_emit_valist
    from /usr/local/lib/libgobject-2.0.so.600
  • #20 g_signal_emit
    from /usr/local/lib/libgobject-2.0.so.600
  • #21 gtk_widget_show
    from /usr/X11R6/lib/libgtk-x11-2.0.so.600
  • #22 gtk_menu_popup
    from /usr/X11R6/lib/libgtk-x11-2.0.so.600
  • #23 panel_menu_button_popup_menu
  • #24 panel_gdk_pixbuf_draw_to_pixbuf_tiled
  • #25 panel_gdk_pixbuf_draw_to_pixbuf_tiled
  • #26 gdk_x11_register_standard_event_type
    from /usr/X11R6/lib/libgdk-x11-2.0.so.600
  • #27 gdk_event_get_graphics_expose
    from /usr/X11R6/lib/libgdk-x11-2.0.so.600
  • #28 gdk_event_get_graphics_expose
    from /usr/X11R6/lib/libgdk-x11-2.0.so.600
  • #29 g_main_context_dispatch
    from /usr/local/lib/libglib-2.0.so.600
  • #30 g_main_context_acquire
    from /usr/local/lib/libglib-2.0.so.600
  • #31 g_main_loop_run
    from /usr/local/lib/libglib-2.0.so.600
  • #32 gtk_main
    from /usr/X11R6/lib/libgtk-x11-2.0.so.600
  • #33 main
--
Comment 9 Christian Kirbach 2005-08-04 21:50:58 UTC
Good. Confirming so that developers can take a look at it.
Comment 10 Mark McLoughlin 2005-08-05 07:57:51 UTC
Cool, thanks for the helpful backtrace.

I think I fixed this bug on HEAD a while back. I've committed the fix to the
gnome-2-10 branch and I'll attach the patch here too.

2005-08-05  Mark McLoughlin  <mark@skynet.ie>

        Backport fix from HEAD which fixes crasher in
        bug #312502

        * libmenu/desktop-entries.c:
        (desktop_entry_add_legacy_category): Fix off-by-one
        error.

Comment 11 Mark McLoughlin 2005-08-05 07:58:51 UTC
Created attachment 50257 [details] [review]
gnome-menus-fix-off-by-one-error.patch
Comment 12 Christian Kirbach 2005-08-05 12:23:21 UTC
Marking the patch committed as per Comment #10