Xterm begins to handle expose events before it finishes to initialize itself. $ gdb xterm GNU gdb Red Hat Linux (6.6-45.fc8rh) Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "x86_64-redhat-linux-gnu"... Using host libthread_db library "/lib64/libthread_db.so.1". (gdb) break VTRun Breakpoint 1 at 0x414190: file ./charproc.c, line 4787. (gdb) r Starting program: /usr/bin/xterm Program received signal SIGSEGV, Segmentation fault. 0x0000000000430d07 in handle_translated_exposure (xw=0x681c30, rect_x=0, rect_y=0, rect_width=499, rect_height=316) at ./util.c:1684 1684 leftcol = x0 / CurFontWidth(screen, screen->cur_row); Missing separate debuginfos, use: debuginfo-install expat.x86_64 libXau.x86_64 libXcursor.x86_64 libXdmcp.x86_64 libXfixes.x86_64 libXpm.x86_64 libxcb.x86_64 (gdb) bt #0 0x0000000000430d07 in handle_translated_exposure (xw=0x681c30, rect_x=0, rect_y=0, rect_width=499, rect_height=316) at ./util.c:1684 #1 0x0000000000423d34 in Redraw () at ./misc.c:1258 #2 0x000000000042ce27 in ScrollBarOn (xw=0x681c30, init=<value optimized out>, doalloc=1) at ./scrollbar.c:495 #3 0x0000000000415f6a in VTRealize (w=0x681c30, valuemask=0x7fffc341c2d8, values=0x7fffc341c240) at ./charproc.c:6348 #4 0x0000003e21829166 in RealizeWidget (widget=0x681c30) at Intrinsic.c:306 #5 0x0000003e218292ae in RealizeWidget (widget=0x672790) at Intrinsic.c:355 #6 0x0000003e21829550 in XtRealizeWidget (widget=<value optimized out>) at Intrinsic.c:385 #7 0x000000000040eb2b in VTInit () at ./charproc.c:5007 #8 0x000000000041dea3 in spawnXTerm (xw=0x681c30) at ./main.c:3227 #9 0x000000000041fb8f in main (argc=0, argv=<value optimized out>) at ./main.c:2274 #10 0x0000003e0c81e074 in __libc_start_main (main=0x41f340 <main>, argc=1, ubp_av=0x7fffc341d8c8, init=<value optimized out>, fini=<value optimized out>, rtld_fini=<value optimized out>, stack_end=0x7fffc341d8b8) at libc-start.c:220 #11 0x0000000000406a39 in _start () (gdb) print screen->visbuf $1 = (ScrnBuf) 0x16000 (gdb) print screen->allbuf $2 = (ScrnBuf) 0x0 (gdb) handle_translated_exposure() fires before VTRun() has a chance to call to VTallocbuf() and allocate memory for terminal buffer.
Created attachment 298345 [details] Do not serve expose events while not initialized
This happens permanently with xterm-234 under StumpWM window manager when compiled with CLisp, but it's ok when StumpWM compiled with SBCL.
xterm-235-1.fc8 has been submitted as an update for Fedora 8
xterm-235-1.fc8 has been pushed to the Fedora 8 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing update xterm'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F8/FEDORA-2008-3267
xterm-235-1.fc8 has been pushed to the Fedora 8 stable repository. If problems still persist, please make note of it in this bug report.