OK, after upgrading to Gnome 2.12, gvim started crashing immediately after opening its window. I tried changing USE flags and CFLAGS, but to no avail. I then put vim, gvim, and vim-core into package.keywords fearing I may need a newer version for things to work right, and that didn't help, and I tried various USE flag and CFLAG variations again. If I can't get gvim working soon, I may break down and cry, so please help! Looks a bug in the program, but I'm guessing its doing something that was okay on the older Gnome but now is causing some sort of The ERROR (from gdb, sorry I didn't turn on debug to get a good symbol table for gdb - I can if you think it will help) ... (vim:15936): GLib-CRITICAL **: g_key_file_add_group: assertion `g_key_file_lookup_group_node (key_file, group_name) == NULL' failed (vim:15936): GLib-CRITICAL **: g_key_file_add_group: assertion `g_key_file_lookup_group_node (key_file, group_name) == NULL' failed (vim:15936): Gtk-WARNING **: Theme directory of theme CfG-Kids-for-Gnome-1.0.0 has no size field Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1230858576 (LWP 15936)] 0xb71ddcc7 in free () from /lib/libc.so.6 (gdb) The installed version is currently: [ebuild R ] app-editors/gvim-6.4_beta -acl +bash-completion +cscope +gnome -gpm +gtk -motif -nls +perl +python +ruby 0 kB [ebuild R ] app-editors/vim-6.4_beta -acl* +bash-completion* +cscope -gpm* -minimal -nls +perl +python +ruby -vim-with-x 0 kB [ebuild R ] app-editors/vim-core-6.4_beta -acl* +bash-completion* -livecd -nls 0 kB Libraries linked ... taro ~ # ldd `which gvim` linux-gate.so.1 => (0xffffe000) libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0xb7bf7000) libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0xb7b56000) libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0xb7b3c000) libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0xb7b23000) libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0xb7b1c000) libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0xb7add000) libcairo.so.1 => /usr/local/lib/libcairo.so.1 (0xb7a96000) libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb7a56000) libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb7a52000) libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb79b7000) libgnomeui-2.so.0 => /usr/lib/libgnomeui-2.so.0 (0xb7924000) libbonoboui-2.so.0 => /usr/lib/libbonoboui-2.so.0 (0xb78c0000) libgnome-keyring.so.0 => /usr/lib/libgnome-keyring.so.0 (0xb78b4000) libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb772a000) libz.so.1 => /lib/libz.so.1 (0xb7717000) libgnomecanvas-2.so.0 => /usr/lib/libgnomecanvas-2.so.0 (0xb76e9000) libgnome-2.so.0 => /usr/lib/libgnome-2.so.0 (0xb76d5000) libpopt.so.0 => /usr/lib/libpopt.so.0 (0xb76cd000) libart_lgpl_2.so.2 => /usr/lib/libart_lgpl_2.so.2 (0xb76b5000) libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0xb767e000) libgnomevfs-2.so.0 => /usr/lib/libgnomevfs-2.so.0 (0xb7615000) libbonobo-2.so.0 => /usr/lib/libbonobo-2.so.0 (0xb75bb000) libgconf-2.so.4 => /usr/lib/libgconf-2.so.4 (0xb7586000) libbonobo-activation.so.4 => /usr/lib/libbonobo-activation.so.4 (0xb7571000) libORBit-2.so.0 => /usr/lib/libORBit-2.so.0 (0xb7518000) libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb7512000) libXt.so.6 => /usr/lib/libXt.so.6 (0xb74b5000) libncurses.so.5 => /lib/libncurses.so.5 (0xb746f000) libperl.so.1 => /usr/lib/libperl.so.1 (0xb733d000) libutil.so.1 => /lib/libutil.so.1 (0xb7339000) libc.so.6 => /lib/libc.so.6 (0xb7221000) libruby18.so.1.8 => /usr/lib/libruby18.so.1.8 (0xb710f000) libm.so.6 => /lib/libm.so.6 (0xb70ec000) libX11.so.6 => /usr/lib/libX11.so.6 (0xb7014000) libdl.so.2 => /lib/libdl.so.2 (0xb7010000) libSM.so.6 => /usr/lib/libSM.so.6 (0xb7007000) libICE.so.6 => /usr/lib/libICE.so.6 (0xb6ff0000) libpthread.so.0 => /lib/libpthread.so.0 (0xb6fdc000) libcairo.so.2 => /usr/lib/libcairo.so.2 (0xb6f69000) libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0xb6f65000) libXi.so.6 => /usr/lib/libXi.so.6 (0xb6f5d000) libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0xb6f5a000) libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb6f2f000) libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xb6f24000) libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb6f1c000) libXext.so.6 => /usr/lib/libXext.so.6 (0xb6f0a000) libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xb6f05000) libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb6e82000) libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb6e48000) libglitz.so.1 => /usr/local/lib/libglitz.so.1 (0xb6e22000) libpixman.so.1 => /usr/local/lib/libpixman.so.1 (0xb6e0c000) libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0xb6deb000) libpangoxft-1.0.so.0 => /usr/lib/libpangoxft-1.0.so.0 (0xb6de4000) libpangox-1.0.so.0 => /usr/lib/libpangox-1.0.so.0 (0xb6dd7000) libssl.so.0.9.7 => /usr/lib/libssl.so.0.9.7 (0xb6da6000) libcrypto.so.0.9.7 => /usr/lib/libcrypto.so.0.9.7 (0xb6ca8000) libhowl.so.0 => /usr/lib/libhowl.so.0 (0xb6b7e000) libresolv.so.2 => /lib/libresolv.so.2 (0xb6b6b000) librt.so.1 => /lib/librt.so.1 (0xb6b61000) libORBitCosNaming-2.so.0 => /usr/lib/libORBitCosNaming-2.so.0 (0xb6b5c000) libgpm.so.1 => /lib/libgpm.so.1 (0xb6b56000) libnsl.so.1 => /lib/libnsl.so.1 (0xb6b41000) libcrypt.so.1 => /lib/libcrypt.so.1 (0xb6b13000) /lib/ld-linux.so.2 (0xb7f96000) libexpat.so.0 => /usr/lib/libexpat.so.0 (0xb6ae5000) libXft.so.2 => /usr/lib/libXft.so.2 (0xb6ad1000) Last of the strace output ... poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=8, events=POLLIN|POLLPRI}, {fd=10, events=POLLIN|POLLPRI}, {fd=11, events=POLLIN|POLLPRI}, {fd=12, events=POLLIN|POLLPRI}], 6, 0) = 0 ioctl(3, FIONREAD, [0]) = 0 ioctl(3, FIONREAD, [0]) = 0 gettimeofday({1129492852, 816827}, NULL) = 0 poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=8, events=POLLIN|POLLPRI}, {fd=10, events=POLLIN|POLLPRI}, {fd=11, events=POLLIN|POLLPRI}, {fd=12, events=POLLIN|POLLPRI}], 6, 0) = 0 ioctl(3, FIONREAD, [0]) = 0 gettimeofday({1129492852, 828768}, NULL) = 0 poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=8, events=POLLIN|POLLPRI}, {fd=10, events=POLLIN|POLLPRI}, {fd=11, events=POLLIN|POLLPRI}, {fd=12, events=POLLIN|POLLPRI}], 6, 0) = 0 --- SIGSEGV (Segmentation fault) @ 0 (0) --- write(3, "5\30\4\0R\0\300\1)\0\300\1\234\2\33\0\33\0\2\0\0\0\0\0"..., 24) = 24 write(3, " \30\2\0\0\0\0\0", 8) = 8 write(3, "+\30\1\0", 4) = 4 read(3, "\1\2\10\5\0\0\0\0\4\0\300\1\0\0\0\0\0\0\0\0\1\0\0\0p\354"..., 32) = 32 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb6a476f8) = 15972 waitpid(15972, (gnome_segv:15972): GLib-CRITICAL **: g_key_file_add_group: assertion `g_key_file_lookup_group_node (key_file, group_name) == NULL' failed (gnome_segv:15972): GLib-CRITICAL **: g_key_file_add_group: assertion `g_key_file_lookup_group_node (key_file, group_name) == NULL' failed (gnome_segv:15972): GLib-CRITICAL **: g_key_file_add_group: assertion `g_key_file_lookup_group_node (key_file, group_name) == NULL' failed (gnome_segv:15972): GLib-CRITICAL **: g_key_file_add_group: assertion `g_key_file_lookup_group_node (key_file, group_name) == NULL' failed (gnome_segv:15972): GLib-CRITICAL **: g_key_file_add_group: assertion `g_key_file_lookup_group_node (key_file, group_name) == NULL' failed (gnome_segv:15972): GLib-CRITICAL **: g_key_file_add_group: assertion `g_key_file_lookup_group_node (key_file, group_name) == NULL' failed (gnome_segv:15972): GLib-CRITICAL **: g_key_file_add_group: assertion `g_key_file_lookup_group_node (key_file, group_name) == NULL' failed (gnome_segv:15972): GLib-CRITICAL **: g_key_file_add_group: assertion `g_key_file_lookup_group_node (key_file, group_name) == NULL' failed (gnome_segv:15972): GLib-CRITICAL **: g_key_file_add_group: assertion `g_key_file_lookup_group_node (key_file, group_name) == NULL' failed (gnome_segv:15972): GLib-CRITICAL **: g_key_file_add_group: assertion `g_key_file_lookup_group_node (key_file, group_name) == NULL' failed (gnome_segv:15972): GLib-CRITICAL **: g_key_file_add_group: assertion `g_key_file_lookup_group_node (key_file, group_name) == NULL' failed (gnome_segv:15972): GLib-CRITICAL **: g_key_file_add_group: assertion `g_key_file_lookup_group_node (key_file, group_name) == NULL' failed (gnome_segv:15972): Gtk-WARNING **: Theme directory of theme CfG-Kids-for-Gnome-1.0.0 has no size field
see the last message here: http://www.usenetlinux.com/archive/topic.php/t-482012.html try a different theme, see if that fixes it and report back. Thanks!
OK, the theme in the WARNING wasn't the theme I was using, and I had tried this under my user account and the root account which use different themes. To be sure, I then changed my user theme and tried again - same results. Now .. removing all traces of the theme does get rid of all the errors and warnings .. but it still crashes. I recompiled without stripping symbols, but the error is buried in libraries like I thought, so it didn't give me much. It looks like a Cairo issue. Here is a backtrace ... (gdb) run Starting program: /usr/bin/gvim [Thread debugging using libthread_db enabled] [New Thread -1230017888 (LWP 5744)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1230017888 (LWP 5744)] 0xb72a7cc7 in free () from /lib/libc.so.6 (gdb) bt #0 0xb72a7cc7 in free () from /lib/libc.so.6 #1 0xb72a9e8a in realloc () from /lib/libc.so.6 #2 0xb7ad2e0d in _cairo_array_grow_by () from /usr/local/lib/libcairo.so.1 #3 0x00000000 in ?? () #4 0x00000001 in ?? () #5 0x00000001 in ?? () #6 0xb7aee374 in ?? () from /usr/local/lib/libcairo.so.1 #7 0x085e0310 in ?? () #8 0x00000001 in ?? () #9 0xb7ad2f21 in _cairo_array_append () from /usr/local/lib/libcairo.so.1 #10 0x082ac720 in ?? () #11 0xb7fd0d4b in _dl_lookup_symbol_x () from /lib/ld-linux.so.2 Previous frame inner to this frame (corrupt stack?) (gdb) quit My cairo version is ... [ebuild R ] x11-libs/cairo-1.0.2 +X -doc +glitz +png 0 kB Do I need to downgrade cairo or something? This is most puzzling. I'm re-emerging cairo now but I doubt it will make much of a difference.
Heres another Gentoo user having the same issue, he also switched themes and it fixed the problem for him: http://forums.gentoo.org/viewtopic-p-2194771.html?sid=e5ebf3027fb7f96c22bb9c0d67772df2 What theme(s) are you using to test this? I cannot reproduce this on 2 different boxes with 2.12.
Was he getting a segfault and a similar backtrace? I tried a number of Themes, including the most of the defaults and Clearlook. You'll note in the last backtrace posted that no error messages or warnings are being displayed at all .. you run it and it segfaults just after opening the window with no text output in the terminal. here is a new strace (last few lines) ... write(3, "\22\0\n\0\3\0\300\1\16\1\0\0\16\1\0\0\10\0\30\0\20\0\0"..., 680) = 680ioctl(3, FIONREAD, [0]) = 0 poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=8, events=POLLIN|POLLPRI}, {fd=10, events=POLLIN|POLLPRI}, {fd=11, events=POLLIN|POLLPRI}, {fd=12, events=POLLIN|POLLPRI}], 6, 0) = 0 ioctl(3, FIONREAD, [0]) = 0 poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=8, events=POLLIN|POLLPRI}, {fd=10, events=POLLIN|POLLPRI}, {fd=11, events=POLLIN|POLLPRI}, {fd=12, events=POLLIN|POLLPRI}], 6, 0) = 0 --- SIGSEGV (Segmentation fault) @ 0 (0) --- write(3, "5\30\4\0R\0\300\1O\0\300\1\20\0003\0\33\0\2\0\0\0\0\0", 24) = 24 write(3, " \30\2\0\0\0\0\0", 8) = 8 write(3, "+\30\1\0", 4) = 4 read(3, 0xbfae960c, 32) = -1 EAGAIN (Resource temporarily unavailable) select(4, [3], NULL, NULL, NULL) = 1 (in [3]) read(3, "\34Q\246\6\3\0\300\1\16\1\0\0\3552\373\5\0\0\300\1\20\0"..., 32) = 32 read(3, "\34Q\247\6\3\0\300\1\f\1\0\0\3552\373\5\0\4SC\0\0\0\0\355"..., 32) = 32read(3, "\23\0\270\6G\0\300\1G\0\300\1\0009\r\10@g\v\tG\0\300\1"..., 32) = 32 read(3, "\23\0\272\6H\0\300\1H\0\300\1\0009\r\10@g\v\tH\0\300\1"..., 32) = 32 read(3, "\26g\273\6I\0\300\1I\0\300\1Q\0\300\1\0\0\0\0\1\0\1\0\0"..., 32) = 32 read(3, "\23\0\274\6I\0\300\1I\0\300\1\0009\r\10@g\v\tI\0\300\1"..., 32) = 32 read(3, "\23\0\276\6P\0\300\1P\0\300\1\0g\v\tP\0\300\1`\r!\10xV"..., 32) = 32 read(3, "\26g\277\6O\0\300\1O\0\300\1I\0\300\1\0\0\0\0\20\0003\0"..., 32) = 32 read(3, "\23\0\300\6O\0\300\1O\0\300\1\0009\r\10@g\v\tO\0\300\1"..., 32) = 32 read(3, "\34Q\302\6\3\0\300\1#\0\0\0\3552\373\5\0\4SC\0\0\0\0\355"..., 32) = 32 read(3, "\1\2\311\6\0\0\0\0I\0\340\1\0\0\0\0\0\0\0\0\0\0\0\0\10"..., 32) = 32 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb6b37ae8) = 32487 waitpid(32487, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0) = 32487 --- SIGCHLD (Child exited) @ 0 (0) --- exit_group(1) = ? The child its waiting on at the end after the segfault is the Gnome "you segfaulted, would you like me to restart the app" dialog. and the latest backtrace after re-emerging cairo and glitz Starting program: /usr/bin/gvim [Thread debugging using libthread_db enabled] [New Thread -1230538080 (LWP 32466)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1230538080 (LWP 32466)] 0xb71f5cc7 in free () from /lib/libc.so.6 (gdb) bt #0 0xb71f5cc7 in free () from /lib/libc.so.6 #1 0xb71f7e8a in realloc () from /lib/libc.so.6 #2 0xb7a20e0d in _cairo_array_grow_by () from /usr/local/lib/libcairo.so.1 #3 0x00000000 in ?? () #4 0x00000001 in ?? () #5 0x00000001 in ?? () #6 0xb7a3c374 in ?? () from /usr/local/lib/libcairo.so.1 #7 0x085f16a8 in ?? () #8 0x00000001 in ?? () #9 0xb7a20f21 in _cairo_array_append () from /usr/local/lib/libcairo.so.1 #10 0xb6f2ca7d in cairo_test_xlib_disable_render () from /usr/lib/libcairo.so.2 #11 0xb7f1ed4b in _dl_lookup_symbol_x () from /lib/ld-linux.so.2 Previous frame inner to this frame (corrupt stack?) (gdb)
Have you tried re-emerging gvim? I can't reproduce either, but I'm using the vim 7 snapshots.
Yeah - multiple times, and two versions (x86 and ~x86) I don't see the ebuild for vim 7 .. I'll try it to get gvim working! It really looks like a Cairo issue. Hmm ... I think I found a problem! ekl@taro ~ $ ldd `which gvim` | grep cairo libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0xb7abd000) libcairo.so.1 => /usr/local/lib/libcairo.so.1 (0xb7a37000) libcairo.so.2 => /usr/lib/libcairo.so.2 (0xb6f30000) Two versions of Cairo!!! testing ... taro ekl # rm /usr/local/lib/libcairo.* taro ekl # ldd `which gvim` | grep cairo libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0xb7abf000) libcairo.so.1 => not found libcairo.so.2 => /usr/lib/libcairo.so.2 (0xb6f58000) taro ekl # emerge gvim ... << emerge output deleted >> ... taro ekl # gvim YAY! HAPPINESS! It Works! Marking bug invalid. Thanks for the feedback.