I'm using several of the gnome-2.11 libraries, and have been experiencing several problems with xfce in general. This particular problem is that xfdesktop fails to load. I get several screens of '*** attempt to put segment in horiz list twice', and eventually it segfaults. I'm not sure what information would be useful, so please let me know what I can provide to help. Reproducible: Always Steps to Reproduce: 1. run 'xfdesktop' Actual Results: *** attempt to put segment in horiz list twice *** attempt to put segment in horiz list twice <snip> *** attempt to put segment in horiz list twice Segmentation fault Expected Results: xfdesktop to launch gtk+-2.8.3 eel-2.11.92 gconf-2.11.92 gnome-desktop-2.11.92 gnome-icon-theme-2.11.92 gnome-media-2.11.91 gnome-menus-2.11.92 gnome-panel-2.11.92 gnome-terminal-2.11.3 gnome-themes-2.11.92 gnome-utils-2.11.92 gnome-vfs-2.11.92 iptables-1.2.11-r3 java-config-1.2.11-r1 libgnome-2.11.3 libgnomecanvas-2.11.2 libgnomeprint-2.11.0 libgnomeprintui-2.11.0 libgnomeui-2.11.3 libgtop-2.11.92 libwnck-2.11.92 log4j-1.2.11 nautilus-2.11.92
That message is a librsvg bug; shouldn't cause crashes. I think I might know what the problem is (though I don't really have a solution), but it would help if you could recompile xfdesktop with --enable-debug, and get a backtrace. Generic backtrace instructions: http://gaim.sf.net/gdb.php
Alright, I got a backtrace, but it doesn't look particularly useful: #0 0xb77d77a9 in g_hash_table_insert () from /usr/lib/libglib-2.0.so.0 #1 0x430b1fb5 in ?? () #2 0x080b95c0 in ?? () #3 0x080b5f78 in ?? () #4 0x00000008 in ?? () #5 0xb7566523 in desktop_menu_file_parse () from /usr/lib/xfce4/modules/xfce4_desktop_menu.so #6 0x0819f8e0 in ?? () Looks like I don't have debugging info enabled xfdesktop's dependencies. I can try re-compiling them with debuggin info.
Hi, I had the same problems, here is my gdb/backtrace. Stuff. (gdb) handle SIGPIPE nostop Signal Stop Print Pass to program Description SIGPIPE No Yes Yes Broken pipe (gdb) run Starting program: /usr/bin/xfdesktop (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) [Thread debugging using libthread_db enabled] [New Thread 16384 (LWP 11747)] *** attempt to put segment in horiz list twice *** attempt to put segment in horiz list twice *** attempt to put segment in horiz list twice *** attempt to put segment in horiz list twice *** attempt to put segment in horiz list twice *** attempt to put segment in horiz list twice *** attempt to put segment in horiz list twice *** attempt to put segment in horiz list twice *** attempt to put segment in horiz list twice *** attempt to put segment in horiz list twice *** attempt to put segment in horiz list twice *** attempt to put segment in horiz list twice *** attempt to put segment in horiz list twice *** attempt to put segment in horiz list twice *** attempt to put segment in horiz list twice Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 16384 (LWP 11747)] 0xb785f8c9 in g_hash_table_insert () from /usr/lib/libglib-2.0.so.0 (gdb) bt #0 0xb785f8c9 in g_hash_table_insert () from /usr/lib/libglib-2.0.so.0 #1 0x432d9432 in ?? () #2 0xbfbe13c0 in ?? () #3 0x08167ae0 in ?? () #4 0x0807b388 in ?? () #5 0xb7119a31 in desktop_menu_file_parse () from /usr/lib/xfce4/modules/xfce4_desktop_menu.so #6 0x0833a978 in ?? () Hopefully this helps.
I'm also having problems with xfdesktop (gtk-2.8), xfce4-panel craches when adding Xfce Menu. Here is the gdb info from xfce4-panel: [Thread debugging using libthread_db enabled] [New Thread -1217890624 (LWP 26799)] TRACE[desktop-menu-file.c:656] desktop_menu_file_need_update(): dummy TRACE[desktop-menu-cache.c:283] desktop_menu_cache_is_valid(): exiting - failed TRACE[desktop-menu-dentry.c:604] desktop_menu_dentry_parse_files(): base: / Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1217890624 (LWP 26799)] 0xb791d889 in g_hash_table_insert () from /usr/lib/libglib-2.0.so.0 (gdb) backtrace #0 0xb791d889 in g_hash_table_insert () from /usr/lib/libglib-2.0.so.0 #1 0x432e85f8 in ?? () #2 0x082ce058 in ?? () #3 0x082ce530 in ?? () #4 0xbf9ec088 in ?? () #5 0xb725e986 in desktop_menu_file_parse () from /opt/xfce4/lib/xfce4/modules/xfce4_desktop_menu.so Previous frame inner to this frame (corrupt stack?) And starting Xfdesktop also fails: (no debugging symbols found) TRACE[xfce-desktop.c:649] backdrop_changed_cb(): dummy (no debugging symbols found) (no debugging symbols found) TRACE[desktop-menu-file.c:656] desktop_menu_file_need_update(): dummy TRACE[xfce-desktop.c:1881] xfce_desktop_expose(): entering TRACE[xfce-desktop.c:1927] xfce_desktop_paint_icons(): entering TRACE[desktop-menu-cache.c:283] desktop_menu_cache_is_valid(): exiting - failed TRACE[desktop-menu-dentry.c:604] desktop_menu_dentry_parse_files(): base: / Program received signal SIGSEGV, Segmentation fault. 0xb7849889 in g_hash_table_insert () from /usr/lib/libglib-2.0.so.0 I hope this extra information will help solving the problem (if it is xfdesktop and not glib2) Greets, Nick Schermer
Yes, these are all the same bugs, but pasting identical *useless* backtraces isn't going to help. I need a debug build (configured with --enable-debug) with binaries and libraries that are NOT stripped. This should give me file names and line numbers in the backtrace for each function on the stack (well, not the glib ones, but the xfdesktop ones at least). At any rate, I know what causes this crash, but I was never able to figure out why the GHashTable is null at the point of the attempt to insert something into it. The odd thing is that usually you just get a warning printed to stderr (in gtk 2.6 and below), and it goes on its merry way. FWIW, I personally can't reproduce this crash with gtk 2.8.
I compiled it without stripping: (gdb) backtrace #0 0xb78f8889 in g_hash_table_insert () from /usr/lib/libglib-2.0.so.0 #1 0x432e8e59 in ?? () #2 0x0829d568 in ?? () #3 0x082d02e8 in ?? () #4 0xbfdc4df8 in ?? () #5 0xb7239986 in desktop_menu_file_parse (desktop_menu=Cannot access memory at address 0x32 ) at desktop-menu-file.c:603 Previous frame inner to this frame (corrupt stack?) I hope this will help a little more...
Nope, that's stripped. Either that, or you have something in your CFLAGS (like perhaps -fomit-frame-pointer) that's screwing with the debug information. Regardless, that's not too useful, unfortunately...
No the cflags was "-g -ggdb" and compiled with ./configure --enable-debug=full, make, make install... But i compiled glib2 again and now the bug is gone, everything is working fine now.
Ok. I've compiled SVN Xfdesktop with: ./configure --prefix=/usr --enable-debug=full Here's the gdb trace: (gdb) run Starting program: /usr/bin/xfdesktop TRACE[xfce-desktop.c:649] backdrop_changed_cb(): dummy [Thread debugging using libthread_db enabled] [New Thread -1217558864 (LWP 20024)] TRACE[desktop-menu-file.c:656] desktop_menu_file_need_update(): dummy TRACE[xfce-desktop.c:1881] xfce_desktop_expose(): entering TRACE[desktop-menu-cache.c:283] desktop_menu_cache_is_valid(): exiting - failed TRACE[desktop-menu-dentry.c:604] desktop_menu_dentry_parse_files(): base: / *** attempt to put segment in horiz list twice *** attempt to put segment in horiz list twice *** attempt to put segment in horiz list twice *** attempt to put segment in horiz list twice *** attempt to put segment in horiz list twice *** attempt to put segment in horiz list twice Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1217460560 (LWP 20028)] 0xb783c8c9 in g_hash_table_insert () from /usr/lib/libglib-2.0.so.0 Hopefully This will help you better than my previous post. It would be awesome if you could figure out whats wrong with it.
That's not a backtrace. You need to type 'bt' at the (gdb) prompt after the app crashes.
(In reply to comment #10) > That's not a backtrace. You need to type 'bt' at the (gdb) prompt after the app > crashes. Well, the bt got this, which was already posted: (gdb) bt #0 0xb785c8c9 in g_hash_table_insert () from /usr/lib/libglib-2.0.so.0 #1 0x432f307a in ?? () #2 0x00000000 in ?? () #3 0x08094088 in ?? () #4 0xbfbe15f8 in ?? () #5 0xb7582fe3 in desktop_menu_file_parse (desktop_menu=Cannot access memory at address 0x28 ) at desktop-menu-file.c:603 Previous frame inner to this frame (corrupt stack?)
Ok, I think I probably fixed this. Please test if you are able.
(In reply to comment #12) > Ok, I think I probably fixed this. Please test if you are able. I tested it on Slackware v10.2 and it works. (The latest SVN Xfdesktop with Gtk-2.8+). Thanks for the fix! :)