Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 117748 - gvim crashes when run remotely
Summary: gvim crashes when run remotely
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal
Assignee: Vim Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-01-04 08:28 UTC by Adam Carheden
Modified: 2006-10-25 20:29 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
vim-ssh-X.patch (vim-ssh-X.patch,653 bytes, patch)
2006-03-29 18:47 UTC, Ed Catmur
Details | Diff
vim-ssh-X.patch (vim-ssh-X.patch,719 bytes, patch)
2006-03-30 18:06 UTC, Ed Catmur
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Adam Carheden 2006-01-04 08:28:31 UTC
When running gvim from a remote X terminal, it crashes with the following message:

The program 'vim' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadAtom (invalid Atom parameter)'.
  (Details: serial 130 error_code 5 request_code 20 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)


Steps to reproduce:
ssh -X remote-host
xclock # note that this works fine
emerge gvim
gvim
Comment 1 Ciaran McCreesh 2006-01-04 08:45:00 UTC
`emerge info` output on the remote host?
Comment 2 Adam Carheden 2006-01-04 10:06:24 UTC
Below is `emerge info` from 3 hosts. Host1 and Host2 sync to a local server which syncs in the normal way. Both install bimary packages from the buildhost, but host1 has gvim compiled locally. gvim isn't in /usr/local/portage. The error happens on all three hosts, but works find locally on all three hosts. The local machine is Gentoo 2005.1, also pointed to the buildhost.

Host1:
Portage 2.0.51.22-r2 (default-linux/x86/2005.1, gcc-3.3.5-20050130, glibc-2.3.4.20041102-r1, 2.6.13-gentoo-r5_slongmore_20051206a i686)
=================================================================
System uname: 2.6.13-gentoo-r5_slongmore_20051206a i686 Intel(R) Pentium(R) 4 CPU 3.00GHz
Gentoo Base System version 1.6.12
dev-lang/python:     2.3.5
sys-apps/sandbox:    1.2.11
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5
sys-devel/binutils:  2.15.92.0.2-r10
sys-devel/libtool:   1.5.18-r1
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i386-pc-linux-gnu"
CFLAGS="-O2 -mcpu=i686"
CHOST="i386-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -mcpu=i686"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://linux-util1/gentoo-portage"
USE="x86 X alsa apm arts audiofile avi berkdb bitmap-fonts bzip2 cdr crypt cups curl eds emboss encode esd exif expat fam ffmpeg foomaticdb fortran gdbm gif glut gnome gpm gstreamer gtk gtk2 idn imlib ipv6 java jpeg kde lcms ldap libg++ libwww mad mikmod mng motif mozilla mp3 mpeg ncurses nls ogg oggvorbis opengl oss pam pcre pdflib perl png python qt quicktime readline sdl spell ssl tcpd tiff truetype truetype-fonts type1-fonts udev vorbis xml xml2 xmms xv xvid zlib userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS


Host2:
Portage 2.0.53 (default-linux/x86/2005.1, gcc-3.3.6, glibc-2.3.5-r2, 2.6.14-gentoo-r5SHUTTLE-SD31P_20051216a i686)
=================================================================
System uname: 2.6.14-gentoo-r5SHUTTLE-SD31P_20051216a i686 Intel(R) Pentium(R) D CPU 2.80GHz
Gentoo Base System version 1.6.13
dev-lang/python:     2.3.5-r2, 2.4.2
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1
sys-devel/libtool:   1.5.20
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-Os -march=pentium4 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-Os -march=pentium4 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig buildpkg distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://linux-util1/gentoo-portage"
USE="x86 X alsa apm arts audiofile avi berkdb bitmap-fonts bzip2 cdr crypt cups curl eds emboss encode esd exif expat fam ffmpeg foomaticdb fortran gd gdbm gif glut gnome gpm gstreamer gtk gtk2 hal idn imagemagick imlib ipv6 java jpeg kde lcms ldap libg++ libwww mad mikmod mng motif mozilla mp3 mpeg ncurses nls nsplugin ogg oggvorbis opengl oss pam pcre pdflib perl png python qt quicktime readline ruby sdl snmp spell ssl tcltk tcpd tiff truetype truetype-fonts type1-fonts udev usb vorbis xml xml2 xmms xv zlib userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS

Buildhost:
Portage 2.0.53 (default-linux/x86/2005.1, gcc-3.3.6, glibc-2.3.5-r2, 2.6.12-gentoo-r6linux-util1_2005-11-21a i686)
=================================================================
System uname: 2.6.12-gentoo-r6linux-util1_2005-11-21a i686 Intel(R) Xeon(TM) CPU 2.40GHz
Gentoo Base System version 1.12.0_pre12
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
dev-lang/python:     2.3.5-r2, 2.4.2
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1
sys-devel/libtool:   1.5.20
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-Os -march=pentium4 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-Os -march=pentium4 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig buildpkg distcc distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
MAKEOPTS="-j6"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://linux-util1/gentoo-portage"
USE="x86 X alsa apm arts audiofile avi berkdb bitmap-fonts bzip2 cdr crypt cups curl eds emboss encode esd exif expat fam ffmpeg foomaticdb fortran gd gdbm gif glut gmp gnome gpm gstreamer gtk gtk2 hal idn imagemagick imlib ipv6 java jpeg kde lcms ldap libg++ libwww mad mikmod mng motif mozilla mp3 mpeg ncurses nls ogg oggvorbis opengl oss pam pcre pdflib perl png python qt quicktime readline ruby sdl snmp spell ssl static tcltk tcpd tetex tiff truetype truetype-fonts type1-fonts udev usb vorbis xml xml2 xmms xv zlib userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS




Comment 3 Ed Catmur 2006-01-31 12:49:21 UTC
Reproduced here. Interestingly, ssh -Y (trusted X11 forwarding) works fine.
Comment 4 Ciaran McCreesh 2006-01-31 12:58:06 UTC
Can anyone get a sane backtrace out of this?
Comment 5 Ed Catmur 2006-01-31 18:18:19 UTC
#0  gdk_x_error (display=0x0, error=0xbf89dfe0) at gdkmain-x11.c:599
#1  0xb7084ce0 in _XError () from /usr/lib/libX11.so.6
#2  0xb7085406 in _XReply () from /usr/lib/libX11.so.6
#3  0xb706ba34 in _XGetWindowAttributes () from /usr/lib/libX11.so.6
#4  0xb706bb7d in XGetWindowAttributes () from /usr/lib/libX11.so.6
#5  0xb7bdb0b1 in IA__gdk_window_foreign_new_for_display (display=0x82c8230,
    anid=10485763) at gdkwindow-x11.c:1000
#6  0xb7bcaefb in gdk_xsettings_watch_cb (window=10485763, is_start=1,
    mask=4325376, cb_data=0x82d00a0) at gdkevents-x11.c:3007
#7  0xb7be651c in check_manager_window (client=0x82d2300)
    at xsettings-client.c:444
#8  0xb7be66ab in _gdk_xsettings_client_new (display=0x82c8230, screen=0,
    notify=0, watch=0, cb_data=0x0) at xsettings-client.c:503
#9  0xb7bc70ed in _gdk_x11_events_init_screen (screen=0x82d00a0)
    at gdkevents-x11.c:179
#10 0xb7bbc72f in IA__gdk_display_open (display_name=0x0)
    at gdkdisplay-x11.c:189
#11 0xb7b94a54 in IA__gdk_display_open_default_libgtk_only () at gdk.c:243
#12 0xb7d68bd7 in IA__gtk_init_check (argc=0x0, argv=0x0) at gtkmain.c:732
#13 0x08172a63 in gui_mch_init_check ()
#14 0x08169065 in gui_init_check ()
#15 0x080dd7b8 in main ()
Comment 6 Ciaran McCreesh 2006-02-05 12:57:03 UTC
Okay, this one's over my head. Could someone who can reliably reproduce the issue please submit a bug report to the vim-dev mailing list?
Comment 7 Ed Catmur 2006-02-05 21:19:59 UTC
Actually, that backtrace is wrong; turns out gdk_x_error doesn't always abort (because of gdk_error_trap_push() and friends).

The real backtrace is as follows. Nasty as heck to get hold of; break on the real error and the X server locks up, so you have to do this from another server. Fortunately Xnest works for this.

#0  gdk_x_error (display=0x1, error=0xbfbf3e30) at gdkmain-x11.c:606
        buf = "x>
Comment 8 Ed Catmur 2006-02-05 21:19:59 UTC
Actually, that backtrace is wrong; turns out gdk_x_error doesn't always abort (because of gdk_error_trap_push() and friends).

The real backtrace is as follows. Nasty as heck to get hold of; break on the real error and the X server locks up, so you have to do this from another server. Fortunately Xnest works for this.

#0  gdk_x_error (display=0x1, error=0xbfbf3e30) at gdkmain-x11.c:606
        buf = "x>¿¿\000\000\000\000à=¿¿-¬5·\234u\031·ð\202,\bà=¿¿-Í\017·\a\000\000\000à=¿¿", '\0' <repeats 16 times>, "À=¿¿ð\202,\b"
#1  0xb7989eb0 in bonobo_x_error_handler (display=0x1, error=0xb7c63974)
    at bonobo-ui-main.c:58
No locals.
#2  0xb70fdce0 in _XError () from /usr/lib/libX11.so.6
No symbol table info available.
#3  0xb70fe406 in _XReply () from /usr/lib/libX11.so.6
No symbol table info available.
#4  0xb70e4351 in XGetWindowProperty () from /usr/lib/libX11.so.6
No symbol table info available.
#5  0x080d91c1 in GetRegProp (dpy=0x82c82f0, regPropp=0xbfbf3ff4,
    numItemsp=0xbfbf3ff8, domsg=0) at if_xcmdsrv.c:1090
        result = 1
        actualFormat = -1208042165
        bytesAfter = 3086983124
        actualType = 8716545
#6  0x080d929a in DeleteAnyLingerer (dpy=0x82c82f0, win=8388614)
    at if_xcmdsrv.c:1029
        regProp = (char_u *) 0x0
        entry = (char_u *) 0x0
        p = (char_u *) 0x800006 <Address 0x800006 out of bounds>
        numItems = 0
        wwin = 3216982200
#7  0x080da8f3 in serverChangeRegisteredWindow (dpy=0x82c82f0, newwin=8388614)
    at if_xcmdsrv.c:343
        propInfo = "8@¿¿@2\t·H@¿¿àÍ6·ÜÉ°·\210Æ°·\210@¿¿lE¯·ÜÉ°·K½þ·Ô\237ÿ·à¤ÿ·üÔ\005\b @¿¿\020òþ·a\b°·\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000à\002\000\000\000\004D'\b\001\000\000\000à0Æ·8°e\b\bXC\b¸@¿¿\005ÝÁ·8°e\b\000\004-\b"
#8  0x0817373a in mainwin_realize (widget=0x8435808, data=0x0)
    at gui_gtk_x11.c:2660
        vim32x32 = {0x825ce39 "32 32 8 1", 0x825ce43 " \tc None",
  0x825ce4c ".\tc #000000", 0x825ce58 "+\tc #000080",
  0x825ce64 "@\tc #008000", 0x825ce70 "#\tc #00FF00",
  0x825ce7c "$\tc #808080", 0x825ce88 "%\tc #C0C0C0",
  0x825ce94 "&\tc #FFFFFF",
  0x825d2d8 ' ' <repeats 15 times>, "..", ' ' <repeats 15 times>,
  0x825d2fc ' ' <repeats 14 times>, ".##.", ' ' <repeats 14 times>,
  0x825d320 "   ", '.' <repeats 11 times>, "#@@#. .........   ",
  0x825d344 "  .", '&' <repeats 11 times>, ".@@@#.&&&&&&&&&.  ",
  0x825d368 "  .&", '%' <repeats 11 times>, ".@@@.&%%%%%%%%%. ",
  0x825d38c "   .%%%%%%%%%%$.@@@@.%%%%%%%%$. ",
  0x825d3b0 "    .$%%%%%%$$.@@@@@@.$%%%%%$$. ",
  0x825d3d4 "    .&%%%%%%$.@@@@@@.&%%%%%$$.  ",
  0x825d3f8 "    .&%%%%%%$.@@@@@.&&%%%%$$.   ",
  0x825d41c "    .&%%%%%%$.@@@@.&&%%%%$$.    ",
  0x825d440 "    .&%%%%%%$.@@@.&&%%%%$$.     ",
  0x825d464 "    .&%%%%%%$.@@.&&%%%%$$.#.    ",
  0x825d488 "   ..&%%%%%%$.@.&&%%%%$$.@@#.   ",
  0x825d4ac "  .#.&%%%%%%$..&&%%%%$$.@@@@#.  ",
  0x825d4d0 " .#@.&%%%%%%$.&&%%%%$$.@@@@@@#. ",
  0x825d4f4 ".#@@.&%%%%%%$&&%%%%$$.@@@@@@@@#.",
  0x825d518 ".+@@.&%%%%%%$&%%%%$$.@@@@@@@@@+.",
  0x825d53c " .+@.&%%%%%%$%%%%$$.@@@@@@@@@+. ",
  0x825d560 "  .+.&%%%%%%%%%%...@@@@@@@@@+.  ",
  0x825d584 "   ..&%%%%%%%%%.%%.@@@@@@@@+.   ",
  0x825d5a8 "    .&%%%%%%%%%.%%.@@@@@@@+.    ",
  0x825d5cc "    .&%%%%%%%%$...@...@......   ",
  0x825d5f0 "    .&%%%%%%%$.%%%.%%%.%%%.%%.  ",
  0x825d614 "    .&%%%%%%$$..%%..%%%%%%%%%%. ",
  0x825d638 "    .&%%%%%$$..%%...%%++%%..%.  ",
  0x825d65c "    .&%%%%$$.@.%%..%%+.%%..%%.  ",
  0x825d680 "    .&%%%$$.@@.%%..%%..%%..%%.  ",
  0x825d6a4 "    .&%%$$..+.%%..%%..%%..%%.   ",
  0x825d6c8 "     .%$$.  ..%%%.%%..%%..%%%.  ",
  0x825d6ec "      ...    ....+..  ..  ...   ",
  0x825d710 ' ' <repeats 14 times>, ".++.", ' ' <repeats 14 times>,
  0x825d2d8 ' ' <repeats 15 times>, "..", ' ' <repeats 15 times>}
        vim16x16 = {0x825cea0 "16 16 8 1", 0x825ce43 " \tc None",
  0x825ce4c ".\tc #000000", 0x825ce58 "+\tc #000080",
  0x825ce64 "@\tc #008000", 0x825ce70 "#\tc #00FF00",
  0x825ce7c "$\tc #808080", 0x825ce88 "%\tc #C0C0C0",
  0x825ce94 "&\tc #FFFFFF", 0x825ceaa "  .....#. ....  ",
  0x825cebb " .&&&&&.@.&&&&. ", 0x825cecc " .%%%%%$..%%%%$.",
  0x825cedd "  .%%%$.@.&%%$. ", 0x825ceee "  .%%%$..&%%$.  ",
  0x825ceff "  .%%%$.&%%$..  ", 0x825cf10 " #.%%%$&%%$.@@. ",
  0x825cf21 "#@.%%%&%%$.@@@@.", 0x825cf32 ".@.%%%%%..@@@@+ ",
  0x825cf43 " ..%%%%.%...@.  ", 0x825cf54 "  .%%%%...%%.%. ",
  0x825cf65 "  .%%%.%%.%%%%%.", 0x825cf76 "  .%%$..%.%.%.%.",
  0x825cf87 "  .%$.@.%.%.%.%.", 0x825cf98 "   .. .%%.%.%.%.",
  0x825cfa9 "       .. . . . "}
        vim48x48 = {0x825cfba "48 48 8 1", 0x825ce43 " \tc None",
  0x825ce4c ".\tc #000000", 0x825cfc4 "+\tc #000084",
  0x825cfd0 "@\tc #008200", 0x825ce70 "#\tc #00FF00",
  0x825cfdc "$\tc #848284", 0x825cfe8 "&\tc #C6C3C6",
  0x825cff4 "*\tc #FFFFFF",
  0x825d734 ' ' <repeats 23 times>, "..", ' ' <repeats 23 times>,
  0x825d768 ' ' <repeats 22 times>, ".##.", ' ' <repeats 22 times>,
  0x825d79c ' ' <repeats 21 times>, ".#@@#.", ' ' <repeats 21 times>,
  0x825d7d0 "      ", '.' <repeats 15 times>, "#@@@@#.   ", '.' <repeats 15 times>, "  ",
  0x825d804 "     .", '*' <repeats 15 times>, ".@@@@@#. .", '*' <repeats 15 times>, ". ",
  0x825d838 "    .**", '&' <repeats 14 times>, "$.@@@@@#.**", '&' <repeats 14 times>, "$.",
  0x825d86c "    .*", '&' <repeats 15 times>, "$.@@@@@@.*", '&' <repeats 15 times>, "$.",
  0x825d8a0 "    .*$", '&' <repeats 14 times>, "$.@@@@@@.*$", '&' <repeats 14 times>, "$.",
  0x825d8d4 "     .$$$&&&&&&&&&$$$.@@@@@@@@.$$$", '&' <repeats 11 times>, "$$.", 0x825d908 "      ..*&&&&&&&&&$$.@@@@@@@@@@..*&&&&&&&&&&$$. ",
  0x825d93c "       .*&&&&&&&&&$$.@@@@@@@@@@.**&&&&&&&&&$$.  ",
  0x825d970 "       .*&&&&&&&&&$$.@@@@@@@@@.**&&&&&&&&&$$.   ",
  0x825d9a4 "       .*&&&&&&&&&$$.@@@@@@@@.**&&&&&&&&&$$.    ",
  0x825d9d8 "       .*&&&&&&&&&$$.@@@@@@@.**&&&&&&&&&$$.     ",
  0x825da0c "       .*&&&&&&&&&$$.@@@@@@.**&&&&&&&&&$$.      ",
  0x825da40 "       .*&&&&&&&&&$$.@@@@@.**&&&&&&&&&$$.       ",
  0x825da74 "       .*&&&&&&&&&$$.@@@@.**&&&&&&&&&$$..       ",
  0x825daa8 "      ..*&&&&&&&&&$$.@@@.**&&&&&&&&&$$.@#.      ",
  0x825dadc "     .#.*&&&&&&&&&$$.@@.**&&&&&&&&&$$.@@@#.     ",
  0x825db10 "    .#@.*&&&&&&&&&$$.@.**&&&&&&&&&$$.@@@@@#.    ",
  0x825db44 "   .#@@.*&&&&&&&&&$$..**&&&&&&&&&$$.@@@@@@@#.   ",
  0x825db78 "  .#@@@.*&&&&&&&&&$$.**&&&&&&&&&$$.@@@@@@@@@#.  ",
  0x825dbac " .#@@@@.*&&&&&&&&&$$**&&&&&&&&&$$.", '@' <repeats 11 times>, "#. ", 0x825dbe0 ".#+@@@@.*&&&&&&&&&$$*&&&&&&&&&$$.", '@' <repeats 13 times>, "#.",
  0x825dc14 " .++@@@.*&&&&&&&&&$*&&&&&&&&&$$.", '@' <repeats 13 times>, "++.",
  0x825dc48 "  .++@@.*&&&&&&&&&$&&&&&&&&&$$.", '@' <repeats 13 times>, "++. ",
  0x825dc7c "   .++@.*", '&' <repeats 18 times>, "$$.", '@' <repeats 13 times>, "++.  ",
  0x825dcb0 "    .++.*", '&' <repeats 16 times>, "....", '@' <repeats 13 times>, "++.   ",
  0x825dce4 "     .+.*", '&' <repeats 15 times>, ".&&&.", '@' <repeats 12 times>, "+++    ",
  0x825dd18 "      ..*", '&' <repeats 15 times>, ".&&&.", '@' <repeats 11 times>, "++.     ",
  0x825dd4c "       .*", '&' <repeats 15 times>, ".&&&.@@@@@@@@@@++.      ",
  0x825dd80 "       .*", '&' <repeats 14 times>, "$$...@@@@@@@@@@++.       ",
  0x825ddb4 "       .*", '&' <repeats 13 times>, "$$...@@....@@....+....    ",
  0x825dde8 "       .*", '&' <repeats 12 times>, "$$..&&..&&&&..&&&&..&&&.   ", 0x825de1c "       .*", '&' <repeats 11 times>, "$$..&&&.@.", '&' <repeats 15 times>, ".  ",
  0x825de50 "       .*&&&&&&&&&&$$.@.&&&.@.", '&' <repeats 15 times>, ".  ",
  0x825de84 "       .*&&&&&&&&&$$.@@.&&.@@.&&....&&....&&.   ",
  0x825deb8 "       .*&&&&&&&&$$.@@.&&&.@.&&&.+.&&&. .&&&.   ",
  0x825deec "       .*&&&&&&&$$.@@@.&&.@@.&&.++.&&.  .&&.    ",
  0x825df20 "       .*&&&&&&$$.@@@.&&&.@.&&&.+.&&&. .&&&.    ",
  0x825df54 "       .*&&&&&$$.++@@.&&.@@.&&.. .&&.  .&&.     ",
  0x825df88 "       .*&&&&$$. .++.&&&.@.&&&. .&&&. .&&&.     ",
  0x825dfbc "        .$$$$$.   .+.&&&&..&&&&..&&&&..&&&&.    ",
  0x825dff0 "         .....     .+....@+....  ....  ....     ",
  0x825e024 ' ' <repeats 20 times>, ".++@@++.", ' ' <repeats 20 times>,
  0x825e058 ' ' <repeats 21 times>, ".++++.", ' ' <repeats 21 times>,
  0x825e08c ' ' <repeats 22 times>, ".++.", ' ' <repeats 22 times>,
  0x825d734 ' ' <repeats 23 times>, "..", ' ' <repeats 23 times>}
#9  0xb7af88c0 in IA__g_cclosure_marshal_VOID__VOID (closure=0x8442d88,
    return_value=0x0, n_param_values=1, param_values=0x5,
    invocation_hint=0xbfbf4288, marshal_data=0x0) at gmarshal.c:77
        callback = (GMarshalFunc_VOID__VOID) 0x5
        data1 = (gpointer) 0x8435808
        data2 = (gpointer) 0x1
#10 0xb7ae5a49 in IA__g_closure_invoke (closure=0x8442d88, return_value=0x1,
    n_param_values=1, param_values=0x1, invocation_hint=0x1) at gclosure.c:490
        marshal = (
    GClosureMarshal) 0xb7af8860 <IA__g_cclosure_marshal_VOID__VOID>
        marshal_data = (gpointer) 0x0
        in_marshal = 0
#11 0xb7af7054 in signal_emit_unlocked_R (node=0x8421848, detail=0,
    instance=0x8435808, emission_return=0x0, instance_and_params=0xbfbf43c0)
    at gsignal.c:2438
        tmp = (Handler *) 0x8442d88
        handler = (Handler *) 0x840e7a0
        accumulator = (SignalAccumulator *) 0x0
        emission = {next = 0xbfbf4800, instance = 0x8435808, ihint = {
    signal_id = 26, detail = 0, run_type = G_SIGNAL_RUN_FIRST},
  state = EMISSION_RUN, chain_type = 4}
        handler_list = (Handler *) 0x840e7a0
        return_accu = (GValue *) 0x0
        accu = {g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0,
      v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0,
      v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0,
      v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
        signal_id = 26
        max_sequential_handler_number = 614
        return_value_altered = 1
#12 0xb7af834a in IA__g_signal_emit_valist (instance=0x8435808,
    signal_id=138631176, detail=0, var_args=0xbfbf454c "¾\001")
    at gsignal.c:2197
        ptype = 138631176
        static_scope = -1221145120
        instance_and_params = (GValue *) 0xbfbf43c0
        stack_values = {{g_type = 138611696, data = {{v_int = 138631176,
        v_uint = 138631176, v_long = 138631176, v_ulong = 138631176,
        v_int64 = 138631176, v_uint64 = 138631176, v_float = 5.87841582e-34,
        v_double = 6.8492901504171518e-316, v_pointer = 0x8435808}, {
        v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0,
        v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}, {
    g_type = 13, data = {{v_int = 6, v_uint = 6, v_long = 6, v_ulong = 6,
        v_int64 = 128849018886, v_uint64 = 128849018886,
        v_float = 8.40779079e-45, v_double = 6.3659873731922563e-313,
        v_pointer = 0x6}, {v_int = 92, v_uint = 92, v_long = 92, v_ulong = 92,
        v_int64 = -5188444463504031652, v_uint64 = 13258299610205519964,
        v_float = 1.28919459e-43, v_double = -5.6832181557929341e-39,
        v_pointer = 0x5c}}}, {g_type = 3082872845, data = {{
        v_int = -1208095016, v_uint = 3086872280, v_long = -1208095016,
        v_ulong = 3086872280, v_int64 = -4629905953804914984,
        v_uint64 = 13816838119904636632, v_float = -3.02711705e-05,
        v_double = -0.1221476029585874, v_pointer = 0xb7fdeed8}, {v_int = 449,
        v_uint = 449, v_long = 449, v_ulong = 449,
        v_int64 = -4629905578934664767, v_uint64 = 13816838494774886849,
        v_float = 6.2918301e-43, v_double = -0.12215280532837537,
        v_pointer = 0x1c1}}}, {g_type = 3086109651, data = {{
        v_int = -1077983984, v_uint = 3216983312, v_long = -1077983984,
        v_ulong = 3216983312, v_int64 = 458483516688, v_uint64 = 458483516688,
        v_float = -1.49429512, v_double = 2.2652095478002266e-312,
        v_pointer = 0xbfbf4510}, {v_int = 674, v_uint = 674, v_long = 674,
        v_ulong = 674, v_int64 = 1928440316578, v_uint64 = 1928440316578,
        v_float = 9.44475165e-43, v_double = 9.5277611047640751e-312,
        v_pointer = 0x2a2}}}, {g_type = 3216983228, data = {{
        v_int = -1077984072, v_uint = 3216983224, v_long = -1077984072,
        v_ulong = 3216983224, v_int64 = 892275213496, v_uint64 = 892275213496,
        v_float = -1.49428463, v_double = 4.4084252962403738e-312,
        v_pointer = 0xbfbf44b8}, {v_int = -1077984196, v_uint = 3216983100,
        v_long = -1077984196, v_ulong = 3216983100,
        v_int64 = -4629905953674804164, v_uint64 = 13816838120034747452,
        v_float = -1.49426985, v_double = -0.12214760476423775,
        v_pointer = 0xbfbf443c}}}, {g_type = 3216983232, data = {{
        v_int = -1077984168, v_uint = 3216983128, v_long = -1077984168,
        v_ulong = 3216983128, v_int64 = -5211102238134549416,
        v_uint64 = 13235641835575002200, v_float = -1.49427319,
        v_double = -1.7475030431029405e-40, v_pointer = 0xbfbf4458}, {
        v_int = 137170664, v_uint = 137170664, v_long = 137170664,
        v_ulong = 137170664, v_int64 = 4432137960, v_uint64 = 4432137960,
        v_float = 5.2077816e-34, v_double = 2.1897671036649049e-314,
        v_pointer = 0x82d0ee8}}}, {g_type = 207, data = {{v_int = -1077984068,
        v_uint = 3216983228, v_long = -1077984068, v_ulong = 3216983228,
        v_int64 = 2898024940732, v_uint64 = 2898024940732,
        v_float = -1.49428511, v_double = 1.4318145640067958e-311,
        v_pointer = 0xbfbf44bc}, {v_int = -1224135065, v_uint = 3070832231,
        v_long = -1224135065, v_ulong = 3070832231,
        v_int64 = -5243324384310383001, v_uint64 = 13203419689399168615,
        v_float = -8.17664022e-06, v_double = -1.2542064053595202e-42,
        v_pointer = 0xb7092e67}}}, {g_type = 3081685219, data = {{
        v_int = -1208143446, v_uint = 3086823850, v_long = -1208143446,
        v_ulong = 3086823850, v_int64 = -5188936586359918166,
        v_uint64 = 13257807487349633450, v_float = -3.01830769e-05,
        v_double = -5.3620930087608878e-39, v_pointer = 0xb7fd31aa}, {
        v_int = 2, v_uint = 2, v_long = 2, v_ulong = 2, v_int64 = 4294967298,
        v_uint64 = 4294967298, v_float = 2.80259693e-45,
        v_double = 2.1219957919534036e-314, v_pointer = 0x2}}}, {
    g_type = 3216983144, data = {{v_int = -1224134080, v_uint = 3070833216,
        v_long = -1224134080, v_ulong = 3070833216,
        v_int64 = -4629906606655983040, v_uint64 = 13816837467053568576,
        v_float = -8.17753607e-06, v_double = -0.12213854282999481,
        v_pointer = 0xb7093240}, {v_int = -1221145120, v_uint = 3073822176,
        v_long = -1221145120, v_ulong = 3073822176,
        v_int64 = -5211344126540853792, v_uint64 = 13235399947168697824,
        v_float = -1.08959794e-05, v_double = -1.6981781837774722e-40,
        v_pointer = 0xb736cde0}}}, {g_type = 3081605572, data = {{
        v_int = -1077984104, v_uint = 3216983192, v_long = -1077984104,
        v_ulong = 3216983192, v_int64 = -5213290360763104104,
        v_uint64 = 13233453712946447512, v_float = -1.49428082,
        v_double = -1.3013103442080473e-40, v_pointer = 0xbfbf4498}, {
        v_int = -1213360608, v_uint = 3081606688, v_long = -1213360608,
        v_ulong = 3081606688, v_int64 = -5210446478368205280,
        v_uint64 = 13236297595341346336, v_float = -2.06931145e-05,
        v_double = -1.925735671374748e-40, v_pointer = 0xb7ad9620}}}, {
    g_type = 0, data = {{v_int = -1213151608, v_uint = 3081815688,
        v_long = -1213151608, v_ulong = 3081815688, v_int64 = 7376782984,
        v_uint64 = 7376782984, v_float = -2.10732833e-05,
        v_double = 3.6446150492206779e-314, v_pointer = 0xb7b0c688}, {
        v_int = 138631176, v_uint = 138631176, v_long = 138631176,
        v_ulong = 138631176, v_int64 = -4629906334710278136,
        v_uint64 = 13816837738999273480, v_float = 5.87841582e-34,
        v_double = -0.12214231683478272, v_pointer = 0x8435808}}}, {
    g_type = 3081677229, data = {{v_int = 138631184, v_uint = 138631184,
        v_long = 138631184, v_ulong = 138631184, v_int64 = 829067319312,
        v_uint64 = 829067319312, v_float = 5.8784195e-34,
        v_double = 4.0961368056175425e-312, v_pointer = 0x8435810}, {
        v_int = 106, v_uint = 106, v_long = 106, v_ulong = 106,
        v_int64 = -5212491590257344406, v_uint64 = 13234252483452207210,
        v_float = 1.48537637e-43, v_double = -1.4641922426498973e-40,
        v_pointer = 0x6a}}}, {g_type = 3081677195, data = {{
        v_int = -1208095016, v_uint = 3086872280, v_long = -1208095016,
        v_ulong = 3086872280, v_int64 = -5210810678704738600,
        v_uint64 = 13235933395004813016, v_float = -3.02711705e-05,
        v_double = -1.8069566071664286e-40, v_pointer = 0xb7fdeed8}, {
        v_int = -1208095016, v_uint = 3086872280, v_long = -1208095016,
        v_ulong = 3086872280, v_int64 = 127640923864, v_uint64 = 127640923864,
        v_float = -3.02711705e-05, v_double = 6.3062995484640538e-313,
        v_pointer = 0xb7fdeed8}}}, {g_type = 138631176, data = {{
        v_int = -1077984024, v_uint = 3216983272, v_long = -1077984024,
        v_ulong = 3216983272, v_int64 = -5210799636213709592,
        v_uint64 = 13235944437495842024, v_float = -1.49429035,
        v_double = -1.809208345167973e-40, v_pointer = 0xbfbf44e8}, {
        v_int = 138631176, v_uint = 138631176, v_long = 138631176,
        v_ulong = 138631176, v_int64 = 124692682760, v_uint64 = 124692682760,
        v_float = 5.87841582e-34, v_double = 6.1606370839497069e-313,
        v_pointer = 0x8435808}}}, {g_type = 0, data = {{v_int = -1077984000,
        v_uint = 3216983296, v_long = -1077984000, v_ulong = 3216983296,
        v_int64 = 7511950592, v_uint64 = 7511950592, v_float = -1.49429321,
        v_double = 3.7113967207640143e-314, v_pointer = 0xbfbf4500}, {
        v_int = 138631176, v_uint = 138631176, v_long = 138631176,
        v_ulong = 138631176, v_int64 = -4629905578796034040,
        v_uint64 = 13816838494913517576, v_float = 5.87841582e-34,
        v_double = -0.12215280725226318, v_pointer = 0x8435808}}}, {
    g_type = 3086030321, data = {{v_int = 138631176, v_uint = 138631176,
        v_long = 138631176, v_ulong = 138631176, v_int64 = 124692682760,
        v_uint64 = 124692682760, v_float = 5.87841582e-34,
        v_double = 6.1606370839497069e-313, v_pointer = 0x8435808}, {
        v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0,
        v_int64 = -4629905750733357056, v_uint64 = 13816838322976194560,
        v_float = 0, v_double = -0.12215042114257812, v_pointer = 0x0}}}}
        free_me = (GValue *) 0x0
        signal_return_type = 4
        param_values = (GValue *) 0xbfbf43d4
        i = 0
        n_params = 0
#13 0xb7af8556 in IA__g_signal_emit (instance=0x1, signal_id=1, detail=1)
    at gsignal.c:2241
No locals.
#14 0xb7f14fa0 in IA__gtk_widget_realize (widget=0x8435808) at gtkwidget.c:2323
        shape_info = (GtkWidgetShapeInfo *) 0x1
        __PRETTY_FUNCTION__ = "IA__gtk_widget_realize"
#15 0xb7f2638c in gtk_window_show (widget=0x8435808) at gtkwindow.c:3913
        allocation = {x = 0, y = 0, width = 674, height = 446}
        was_realized = 1
        configure_request = {x = 0, y = 0, width = 674, height = 446}
        new_geometry = {min_width = 92, min_height = 30,
  max_width = -1077982536, max_height = -1208918021, base_width = 20,
  base_height = 4, width_inc = 6, height_inc = 13,
  min_aspect = -5.6832202549733873e-39, max_aspect = 3.6467065610150513e-314,
  win_gravity = GDK_GRAVITY_NORTH_WEST}
        new_flags = 106
        need_resize = 5
#16 0xb79e5cbe in gnome_app_show (widget=0x8435808) at gnome-app.c:324
        app = (GnomeApp *) 0x8431a00
#17 0xb7af8895 in IA__g_cclosure_marshal_VOID__VOID (closure=0x84211d8,
    return_value=0x0, n_param_values=1, param_values=0x5,
    invocation_hint=0xbfbf4808, marshal_data=0xb79e5bc0) at gmarshal.c:77
        callback = (GMarshalFunc_VOID__VOID) 0x5
        data1 = (gpointer) 0x8435808
        data2 = (gpointer) 0x1
#18 0xb7ae5ec9 in g_type_class_meta_marshal (closure=0x84211d8,
    return_value=0x1, n_param_values=1, param_values=0x1, invocation_hint=0x1,
    marshal_data=0x1) at gclosure.c:567
        class = (GTypeClass *) 0x5
        callback = (gpointer) 0x1
#19 0xb7ae5a49 in IA__g_closure_invoke (closure=0x84211d8, return_value=0x1,
    n_param_values=1, param_values=0x1, invocation_hint=0x1) at gclosure.c:490
        marshal = (GClosureMarshal) 0xb7ae5e80 <g_type_class_meta_marshal>
        marshal_data = (gpointer) 0x5c
        in_marshal = 0
#20 0xb7af6e67 in signal_emit_unlocked_R (node=0x8421220, detail=0,
    instance=0x8435808, emission_return=0x0, instance_and_params=0xbfbf4940)
    at gsignal.c:2368
        accumulator = (SignalAccumulator *) 0x0
        emission = {next = 0x0, instance = 0x8435808, ihint = {signal_id = 22,
    detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN,
  chain_type = 138611696}
        handler_list = (Handler *) 0x0
        return_accu = (GValue *) 0x0
        accu = {g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0,
      v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0,
      v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0,
      v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
        signal_id = 22
        max_sequential_handler_number = 600
        return_value_altered = 0
#21 0xb7af834a in IA__g_signal_emit_valist (instance=0x8435808,
    signal_id=138631176, detail=0, var_args=0xbfbf4acc "") at gsignal.c:2197
        ptype = 138631176
        static_scope = -1077983060
        instance_and_params = (GValue *) 0xbfbf4940
        stack_values = {{g_type = 138611696, data = {{v_int = 138631176,
        v_uint = 138631176, v_long = 138631176, v_ulong = 138631176,
        v_int64 = 138631176, v_uint64 = 138631176, v_float = 5.87841582e-34,
        v_double = 6.8492901504171518e-316, v_pointer = 0x8435808}, {
        v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0,
        v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}, {
    g_type = 3074160744, data = {{v_int = 0, v_uint = 0, v_long = 0,
        v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0,
        v_pointer = 0x0}, {v_int = 138466304, v_uint = 138466304,
        v_long = 138466304, v_ulong = 138466304, v_int64 = 107512648704,
        v_uint64 = 107512648704, v_float = 5.80271031e-34,
        v_double = 5.3118306218044818e-313, v_pointer = 0x840d400}}}, {
    g_type = 3074154484, data = {{v_int = -1077982832, v_uint = 3216984464,
        v_long = -1077982832, v_ulong = 3216984464, v_int64 = 50461624720,
        v_uint64 = 50461624720, v_float = -1.49443245,
        v_double = 2.4931355207485412e-313, v_pointer = 0xbfbf4990}, {
        v_int = 136633741, v_uint = 136633741, v_long = 136633741,
        v_ulong = 136633741, v_int64 = -4629900012520415859,
        v_uint64 = 13816844061189135757, v_float = 4.96123865e-34,
        v_double = -0.12223005484417211, v_pointer = 0x824dd8d}}}, {
    g_type = 3086924535, data = {{v_int = -1211613899, v_uint = 3083353397,
        v_long = -1211613899, v_ulong = 3083353397,
        v_int64 = 578183595618221365, v_uint64 = 578183595618221365,
        v_float = -2.38703597e-05, v_double = 5.2340048276100351e-270,
        v_pointer = 0xb7c83d35}, {v_int = 199, v_uint = 199, v_long = 199,
        v_ulong = 199, v_int64 = -5243351102077796153,
        v_uint64 = 13203392971631755463, v_float = 2.78858394e-43,
        v_double = -1.2499500194445791e-42, v_pointer = 0xc7}}}, {g_type = 1,
    data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0,
        v_int64 = -4629900837290770432, v_uint64 = 13816843236418781184,
        v_float = 0, v_double = -0.12221860885620117, v_pointer = 0x0}, {
        v_int = -1213779443, v_uint = 3081187853, v_long = -1213779443,
        v_ulong = 3081187853, v_int64 = 594898465870787085,
        v_uint64 = 594898465870787085, v_float = -1.99312581e-05,
        v_double = 6.6265752018861057e-269, v_pointer = 0xb7a7320d}}}, {
    g_type = 3083326852, data = {{v_int = -1077982776, v_uint = 3216984520,
        v_long = -1077982776, v_ulong = 3216984520,
        v_int64 = -5213152118650746424, v_uint64 = 13233591955058805192,
        v_float = -1.49443913, v_double = -1.3295000902528324e-40,
        v_pointer = 0xbfbf49c8}, {v_int = 138510592, v_uint = 138510592,
        v_long = 138510592, v_ulong = 138510592,
        v_int64 = -4629900321756184320, v_uint64 = 13816843751953367296,
        v_float = 5.82304637e-34, v_double = -0.12222576333579482,
        v_pointer = 0x8418100}}}, {g_type = 3216984664, data = {{
        v_int = -1213151608, v_uint = 3081815688, v_long = -1213151608,
        v_ulong = 3081815688, v_int64 = 54621423240, v_uint64 = 54621423240,
        v_float = -2.10732833e-05, v_double = 2.6986568749838673e-313,
        v_pointer = 0xb7b0c688}, {v_int = 140891592, v_uint = 140891592,
        v_long = 140891592, v_ulong = 140891592,
        v_int64 = -4629900081235634744, v_uint64 = 13816843992473916872,
        v_float = 6.91634795e-34, v_double = -0.12222910122894526,
        v_pointer = 0x865d5c8}}}, {g_type = 3081700566, data = {{
        v_int = -1077982656, v_uint = 3216984640, v_long = -1077982656,
        v_ulong = 3216984640, v_int64 = 605125642131819072,
        v_uint64 = 605125642131819072, v_float = -1.49445343,
        v_double = 3.306965324468571e-268, v_pointer = 0xbfbf4a40}, {
        v_int = 16, v_uint = 16, v_long = 16, v_ulong = 16,
        v_int64 = 1413044240400, v_uint64 = 1413044240400,
        v_float = 2.24207754e-44, v_double = 6.9813661523547964e-312,
        v_pointer = 0x10}}}, {g_type = 3216984552, data = {{
        v_int = -1224134080, v_uint = 3070833216, v_long = -1224134080,
        v_ulong = 3070833216, v_int64 = -4629900353183600064,
        v_uint64 = 13816843720525951552, v_float = -8.17753607e-06,
        v_double = -0.12222532719278778, v_pointer = 0xb7093240}, {v_int = 12,
        v_uint = 12, v_long = 12, v_ulong = 12,
        v_int64 = -4629900253175218164, v_uint64 = 13816843820534333452,
        v_float = 1.68155816e-44, v_double = -0.12222671508789079,
        v_pointer = 0xc}}}, {g_type = 16, data = {{v_int = 11, v_uint = 11,
        v_long = 11, v_ulong = 11, v_int64 = 605124814281113611,
        v_uint64 = 605124814281113611, v_float = 1.54142831e-44,
        v_double = 3.3065199491936881e-268, v_pointer = 0xb}, {
        v_int = 140891792, v_uint = 140891792, v_long = 140891792,
        v_ulong = 140891792, v_int64 = -5210952153578482032,
        v_uint64 = 13235791920131069584, v_float = 6.91643978e-34,
        v_double = -1.7781076501118179e-40, v_pointer = 0x865d690}}}, {
    g_type = 3081816296, data = {{v_int = 16, v_uint = 16, v_long = 16,
        v_ulong = 16, v_int64 = 51539607568, v_uint64 = 51539607568,
        v_float = 2.24207754e-44, v_double = 2.5463949499488318e-313,
        v_pointer = 0x10}, {v_int = 140891600, v_uint = 140891600,
        v_long = 140891600, v_ulong = 140891600, v_int64 = 605125570336249296,
        v_uint64 = 605125570336249296, v_float = 6.91635162e-34,
        v_double = 3.3069266991809274e-268, v_pointer = 0x865d5d0}}}, {
    g_type = 3081697952, data = {{v_int = 140886952, v_uint = 140886952,
        v_long = 140886952, v_ulong = 140886952,
        v_int64 = -5210443869968809048, v_uint64 = 13236300203740742568,
        v_float = 6.91421736e-34, v_double = -1.9267994588894078e-40,
        v_pointer = 0x865c3a8}, {v_int = 140891592, v_uint = 140891592,
        v_long = 140891592, v_ulong = 140891592, v_int64 = 605124780062266824,
        v_uint64 = 605124780062266824, v_float = 6.91634795e-34,
        v_double = 3.3065015398015194e-268, v_pointer = 0x865d5c8}}}, {
    g_type = 140886952, data = {{v_int = 268435458, v_uint = 268435458,
        v_long = 268435458, v_ulong = 268435458, v_int64 = 605124780189810690,
        v_uint64 = 605124780189810690, v_float = 2.5243555e-29,
        v_double = 3.3065016084188245e-268, v_pointer = 0x10000002}, {
        v_int = 138510592, v_uint = 138510592, v_long = 138510592,
        v_ulong = 138510592, v_int64 = 313671123200, v_uint64 = 313671123200,
        v_float = 5.82304637e-34, v_double = 1.5497412606555721e-312,
        v_pointer = 0x8418100}}}, {g_type = 0, data = {{v_int = 0, v_uint = 0,
        v_long = 0, v_ulong = 0, v_int64 = -5211345143226957824,
        v_uint64 = 13235398930482593792, v_float = 0,
        v_double = -1.6979708654531849e-40, v_pointer = 0x0}, {
        v_int = -1077982632, v_uint = 3216984664, v_long = -1077982632,
        v_ulong = 3216984664, v_int64 = -5257615836302063016,
        v_uint64 = 13189128237407488600, v_float = -1.49445629,
        v_double = -1.4123014874176482e-43, v_pointer = 0xbfbf4a58}}}, {
    g_type = 3216984680, data = {{v_int = -1221145120, v_uint = 3073822176,
        v_long = -1221145120, v_ulong = 3073822176,
        v_int64 = -5210442819063853600, v_uint64 = 13236301254645698016,
        v_float = -1.08959794e-05, v_double = -1.9272280510644845e-40,
        v_pointer = 0xb736cde0}, {v_int = -1213151608, v_uint = 3081815688,
        v_long = -1213151608, v_ulong = 3081815688,
        v_int64 = -4629899803416803704, v_uint64 = 13816844270292747912,
        v_float = -2.10732833e-05, v_double = -0.12223295673973145,
        v_pointer = 0xb7b0c688}}}, {g_type = 3081717100, data = {{
        v_int = -1213150756, v_uint = 3081816540, v_long = -1213150756,
        v_ulong = 3081816540, v_int64 = -5198171427476289060,
        v_uint64 = 13248572646233262556, v_float = -2.10748331e-05,
        v_double = -1.3033874407702944e-39, v_pointer = 0xb7b0c9dc}, {
        v_int = -1077982568, v_uint = 3216984728, v_long = -1077982568,
        v_ulong = 3216984728, v_int64 = -5210655552945829224,
        v_uint64 = 13236088520763722392, v_float = -1.49446392,
        v_double = -1.8404684666550963e-40, v_pointer = 0xbfbf4a98}}}}
        free_me = (GValue *) 0x0
        signal_return_type = 4
        param_values = (GValue *) 0xbfbf4954
        i = 0
        n_params = 0
#22 0xb7af8556 in IA__g_signal_emit (instance=0x1, signal_id=1, detail=1)
    at gsignal.c:2241
No locals.
#23 0xb7f163cf in IA__gtk_widget_show (widget=0x8435808) at gtkwidget.c:2049
No locals.
#24 0x08176ccf in gui_mch_open () at gui_gtk_x11.c:3697
        menu_handler = 0
        tool_handler = 0
        fg_pixel = 0
        bg_pixel = 1
#25 0x0816bfcb in gui_init () at gui.c:523
        wp = (win_T *) 0x0
        recursive = 0
#26 0x0815d82d in set_termname (term=0x83fbce0 "gui") at term.c:1828
        p = (char_u *) 0x0
        termp = (struct builtin_term *) 0x8251f30
        builtin_first = 1
        try = 0
        termcap_cleared = 1
        width = 0
        height = 0
        error_msg = (char_u *) 0x0
        bs_p = (char_u *) 0x0
        del_p = (char_u *) 0x8251f30 "\033|%p1%d;%p2%dM"
#27 0x0816d681 in gui_start () at gui.c:86
        old_term = (char_u *) 0x83fbbf8 "screen"
        dofork = 1
        recursive = 1
#28 0x080dca36 in main (argc=0, argv=0xbfbf5a78) at main.c:1518
        mustfree = 1
        initstr = (char_u *) 0x0
        term = (char_u *) 0x0
        fname = (char_u *) 0x0
        tagname = (char_u *) 0x0
        use_vimrc = (char_u *) 0x0
        use_ef = (char_u *) 0x0
        ask_for_key = 0        n_commands = 0
        commands = {0x0, 0x0, 0xbfbf6c64 "/usr/bin/gvim",
  0xb72bf2b1 "\201ÃCí\017", 0xb73bf3b8 "\004",
  0x8273a94 "\2045'\bà¤ÿ·0ñþ·Ða©·¾C\a\bÎC\a\bÞC\a\bîC\a\bþC\a\b",
  0xbfbf59c8 "èY¿¿hñ;·óP-·ôß;·\b5'\bôß;·", 0x8074395 "ÉÃ",
  0xb6d1b6e8 "ÿÿÿÿ\200w϶", 0xb7ffa4e0 ""}
        p_commands = 0
        pre_commands = {0xb73bdff4 "<=\021",
  0xbfbf59b0 "¸ó;·\224:'\bÈY¿¿\225C\a\bè¶Ñ¶à¤ÿ·èY¿¿hñ;·óP-·ôß;·\b5'\bôß;·",
  0xb7353a3c "\211Ó=\001ðÿÿs-Ãèå\224\001",
  0xb72bf318 "\203þ\004t¬\215EèÇD$\004", 0x6 <Address 0x6 out of bounds>, 0x0,
  0x4 <Address 0x4 out of bounds>, 0x0,
  0x177ff8e <Address 0x177ff8e out of bounds>, 0xbfbf5a20 ""}
        no_swap_file = 0
        c = -1207984172
        i = 0
        p = (char_u *) 0x0
        bin_mode = 0
        use_debug_break_level = -1
        window_count = -1
        arg_idx = 0
        vert_windows = 2
        had_minmin = 0
        argv_idx = 1
        want_full_screen = 1
        edit_type = 0
        diff_mode = 0
        evim_mode = 0
        stdout_isatty = 1
        input_isatty = 0
        serverStr = (char_u *) 0x0
        serverName_arg = (char_u *) 0x0
        serverArg = 0
        servername = (char_u *) 0x82b9ce0 "GVIM"

An important detail: this crash only occurs if there is another gvim window already open. Given that I can reproduce the bug 100%.
Comment 9 Ed Catmur 2006-02-05 21:42:25 UTC
Ah, this is starting to make sense.

"ssh -X machine gvim" works iff gvim has not been previously run locally or with -Y on that X server. It will complain "Unable to register a command server name".

Looking at the backtrace, it seems that the untrusted gvim tries to do command server type stuff (uh...) which involves calling XGetWindowProperty in a way untrusted clients aren't allowed to do. This happens within serverChangeRegisteredWindow in if_xcmdsrv.c.

Since the X error handler that is bailing is from GTK+, it would probably work to wrap the guts of serverChangeRegisteredWindow in a gdk_error_trap_push()/gdk_error_trap_pop() (if building the GTK+ interface), and deal with failure.
Comment 10 Ciaran McCreesh 2006-02-06 11:19:27 UTC
Thanks. I've sent this on to the vim-dev list.
Comment 11 Ciaran McCreesh 2006-03-29 13:34:42 UTC
Has this been fixed in the vim 7 betas that're in the tree? If not, I'll pester upstream again.
Comment 12 Ed Catmur 2006-03-29 14:10:27 UTC
Nah, still broken with gvim 7.0_beta.
Comment 13 Ed Catmur 2006-03-29 18:47:17 UTC
Created attachment 83407 [details, diff]
vim-ssh-X.patch

This fixes the immediate error.

Unfortunately, gvim is still a PITA to run untrusted because of http://bugzilla.gnome.org/show_bug.cgi?id=136571 - it crashes half the time you open a menu because XQueryPointer is disallowed.
Comment 14 Ed Catmur 2006-03-30 18:06:35 UTC
Created attachment 83468 [details, diff]
vim-ssh-X.patch

Patch using vim X error handler.
Comment 15 Ed Catmur 2006-03-30 19:24:55 UTC
Take a look at http://bugzilla.gnome.org/show_bug.cgi?id=136571#c11 - I've created a patch to GTK+ which prevents gvim crashing when you open a menu.
Comment 16 Aron Griffis (RETIRED) gentoo-dev 2006-07-10 18:22:00 UTC
Adam, Ed, is either of you pursuing this with vim-dev?
Comment 17 Adam Carheden 2006-07-12 20:01:55 UTC
(In reply to comment #15)
> Adam, Ed, is either of you pursuing this with vim-dev?
> 
Vim or NFS works so well that I figured I could just live without gvim on remote machines. I know, post a bug then be too lazy to persue it, but that's the case. If you're volunteering to bug the vim dev team, please be my guest.

Thanks!
Comment 18 Ed Catmur 2006-07-19 23:45:49 UTC
(In reply to comment #15)
> Adam, Ed, is either of you pursuing this with vim-dev?

Yeah, I got the patch into 7.0 a while ago.

Also, I got the gtk+ patch in on the 2.9 branch, so gvim-7.0.17 + gtk+-2.10.0 will work perfectly. Time to mark this puppy fixed.
Comment 19 Mike Kelly (RETIRED) gentoo-dev 2006-10-22 08:20:46 UTC
Okay, gtk+-2.10 has been unmasked in the tree. Could you guys test and see if this is now truly fixed?
Comment 20 Ed Catmur 2006-10-22 09:44:49 UTC
Well, it works here. 

Note: I am patching gtk+ for the sensitivity bug and the -O3 crasher bug, but those patches shouldn't have any effect on this bug. I'm also patching gvim, but that's for core stuff, not GUI.
Comment 21 Mike Kelly (RETIRED) gentoo-dev 2006-10-25 20:29:45 UTC
Since no one has spoken up to disagree with you, Ed, I'm marking this FIXED. Feel free to re-re-open this bug if necessary.