Don't know if this has been reported yet.
With the line
set lines=99999 columns=99999
in my vimrc, gvim crashes at GUI startup with (if there is a stderr) a
cryptic message from X.
Running gvim within gdb shows that the GUI screen appears, but it is
empty (no menu, no toolbar, no buffer text, no nothing), then
gdk_x_error() is called and then the X message appears on the console,
and gvim exits with status 1.
I'm attaching the gdb output, with a stack trace at the gdk_x_error()
breakpoint (using the unstripped vim executable as it is after "make"
but before "make install", and running it with --sync to force
synchronous X error reporting).
This is in gvim 7.3.162 (Huge) with GTK2/Gnome2 GUI for Linux x86_64.
Changing the line to
set lines=99 columns=999
makes the problem disappear.
According to the help:
'lines' maximum value is 1000
'columns' maximum value is 10000
However IMHO if the maximum value is exceeded, Vim should either use the
maximum (and then of course, in this case, possibly reduce it further so
as not to exceed the actual display size), or give an error, but not let
itself get crashed by X.
Best regards,
Tony.
--
hundred-and-one symptoms of being an internet addict:
73. You give your dog used motherboards instead of bones
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
linux:~/.build/vim/vim-hg/vim/src/shadow-huge # gdb ./vim
GNU gdb (GDB) SUSE (7.2-3.3)
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-suse-linux".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /root/.build/vim/vim-hg/vim/src/shadow-huge/vim...done.
(gdb) break gdk_x_error
Function "gdk_x_error" not defined.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 1 (gdk_x_error) pending.
(gdb) set args --sync -g -f -S
(gdb) run
Starting program: /root/.build/vim/vim-hg/vim/src/shadow-huge/vim --sync -g -f -S
[Thread debugging using libthread_db enabled]
[New Thread 0x7fffeb897700 (LWP 6005)]
(vim:6001): Gdk-WARNING **: Native Windows wider or taller than 65535 pixels are not supported
(vim:6001): Gdk-WARNING **: Native Windows wider or taller than 65535 pixels are not supported
(vim:6001): Gdk-WARNING **: Native Windows wider or taller than 65535 pixels are not supported
Breakpoint 1, gdk_x_error (display=0xa04400, error=0x7fffffffcd60) at gdkmain-x11.c:438
438 gdkmain-x11.c: No such file or directory.
in gdkmain-x11.c
(gdb) bt
#0 gdk_x_error (display=0xa04400, error=0x7fffffffcd60) at gdkmain-x11.c:438
#1 0x00007ffff5834717 in _XError (dpy=0xa04400, rep=0xd8b190) at XlibInt.c:1573
#2 0x00007ffff58319a7 in handle_error (dpy=0xa04400, err=0xd8b190, in_XReply=<value optimized out>) at xcb_io.c:166
#3 0x00007ffff58319f5 in handle_response (dpy=0xa04400, response=0xd8b190, in_XReply=<value optimized out>) at xcb_io.c:266
#4 0x00007ffff58323b0 in _XReply (dpy=0xa04400, rep=0x7fffffffcf20, extra=0, discard=1) at xcb_io.c:555
#5 0x00007ffff582db13 in XSync (dpy=0xa04400, discard=0) at Sync.c:44
#6 0x00007ffff582dbbb in _XSyncFunction (dpy=<value optimized out>) at Synchro.c:35
#7 0x00007ffff58332ef in _XPrivSyncFunction (dpy=0xa04400) at XlibInt.c:251
#8 0x00007ffff580e48a in XCreatePixmap (dpy=0xa04400, d=<value optimized out>, width=65535, height=56, depth=24)
at CrPixmap.c:58
#9 0x00007ffff75529e4 in _gdk_pixmap_new (drawable=0xa1a5a0 [GdkWindow], width=65535, height=56, depth=24)
at gdkpixmap-x11.c:175
#10 0x00007ffff752c399 in gdk_window_begin_implicit_paint (window=0xa1a5a0 [GdkWindow]) at gdkwindow.c:2774
#11 gdk_window_process_updates_internal (window=0xa1a5a0 [GdkWindow]) at gdkwindow.c:5569
#12 0x00007ffff752e5d9 in IA__gdk_window_process_all_updates () at gdkwindow.c:5691
#13 0x00007ffff752e649 in gdk_window_update_idle (data=<value optimized out>) at gdkwindow.c:5317
#14 0x00007ffff750ba66 in gdk_threads_dispatch (data=0xce3f20) at gdk.c:512
#15 0x00007ffff692cbd3 in g_main_dispatch (context=0xa1d7b0) at gmain.c:2440
#16 g_main_context_dispatch (context=0xa1d7b0) at gmain.c:3013
#17 0x00007ffff692d3b0 in g_main_context_iterate (context=0xa1d7b0, block=1, dispatch=1, self=<value optimized out>)
at gmain.c:3091
#18 0x00007ffff692d650 in g_main_context_iteration (context=0xa1d7b0, may_block=1) at gmain.c:3154
#19 0x000000000063e5d5 in gui_mch_update ()
#20 0x0000000000632bfc in gui_init ()
#21 0x0000000000619f45 in set_termname ()
#22 0x0000000000633e69 in gui_start ()
#23 0x000000000065d787 in main ()
(gdb) c
Continuing.
The program 'vim' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadAlloc (insufficient resources for operation)'.
(Details: serial 490 error_code 11 request_code 53 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.)
[Thread 0x7fffeb897700 (LWP 6005) exited]
Program exited with code 01.
(gdb) q
linux:~/.build/vim/vim-hg/vim/src/shadow-huge #