[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#541160: xterm: heap corruption when changing window size



Package: xterm
Version: 244-1
Severity: normal

Hi,

I just noticed that xterm doesn't like it very much to be resized: when I grab
a window edge and make a circular motion (i.e. enlarge and shrink again in
both dimensions), I usually get it to segfault within fractions of a second.
Here are a few backtrace samples...

=====
(gdb) bt
#0  0xb7e333fc in ?? () from /lib/i686/cmov/libc.so.6
#1  0xb7e349ff in calloc () from /lib/i686/cmov/libc.so.6
#2  0x0807d31e in allocScrnData (screen=0x80ca6b4, nrow=1, ncol=121) at ../screen.c:287
#3  0x0807cfcd in addScrollback (screen=0x80ca6b4) at ../scrollback.c:90
#4  0x0807d3d3 in saveEditBufLines (screen=0x80ca6b4, sb=0x80e2378, n=1) at ../screen.c:340
#5  0x080806fd in ScreenResize (xw=0x80ca5b0, width=730, height=496, flags=0x80cd984) at ../screen.c:1791
#6  0x0805d3a1 in VTResize (w=0x80ca5b0) at ../charproc.c:5021
#7  0xb7c485d9 in XtConfigureWidget () from /usr/lib/libXt.so.6
#8  0xb7c4877a in XtResizeWidget () from /usr/lib/libXt.so.6
#9  0xb7fa5c5a in XawVendorShellExtResize () from /usr/lib/libXaw.so.7
#10 0xb7c612a2 in ?? () from /usr/lib/libXt.so.6
#11 0xb7c450f4 in XtDispatchEventToWidget () from /usr/lib/libXt.so.6
#12 0xb7c45aaf in ?? () from /usr/lib/libXt.so.6
#13 0xb7c44a67 in XtDispatchEvent () from /usr/lib/libXt.so.6
#14 0x08076319 in xevents () at ../misc.c:459
#15 0x08059edb in in_put (xw=0x80ca5b0) at ../charproc.c:3437
#16 0x08059f14 in doinput () at ../charproc.c:3452
#17 0x0805962d in VTparse (xw=0x80ca5b0) at ../charproc.c:3023
#18 0x0805d200 in VTRun (xw=0x80ca5b0) at ../charproc.c:4957
#19 0x0806f416 in main (argc=0, argv=0xbffff4f8) at ../main.c:2414
=====
Program received signal SIGSEGV, Segmentation fault.
0xb7e322a8 in ?? () from /lib/i686/cmov/libc.so.6
(gdb) bt
#0  0xb7e322a8 in ?? () from /lib/i686/cmov/libc.so.6
#1  0xb7e32896 in free () from /lib/i686/cmov/libc.so.6
#2  0x0807d831 in Reallocate (xw=0x80ca5b0, sbuf=0x80cc7b8, sbufaddr=0x80cc7c0, nrow=24, ncol=123, oldrow=25, 
    oldcol=123) at ../screen.c:499
#3  0x08080777 in ScreenResize (xw=0x80ca5b0, width=742, height=292, flags=0x80cd984) at ../screen.c:1837
#4  0x0805d3a1 in VTResize (w=0x80ca5b0) at ../charproc.c:5021
#5  0xb7c485d9 in XtConfigureWidget () from /usr/lib/libXt.so.6
#6  0xb7c4877a in XtResizeWidget () from /usr/lib/libXt.so.6
#7  0xb7fa5c5a in XawVendorShellExtResize () from /usr/lib/libXaw.so.7
#8  0xb7c612a2 in ?? () from /usr/lib/libXt.so.6
#9  0xb7c450f4 in XtDispatchEventToWidget () from /usr/lib/libXt.so.6
#10 0xb7c45aaf in ?? () from /usr/lib/libXt.so.6
#11 0xb7c44a67 in XtDispatchEvent () from /usr/lib/libXt.so.6
#12 0x08076319 in xevents () at ../misc.c:459
#13 0x08059edb in in_put (xw=0x80ca5b0) at ../charproc.c:3437
#14 0x08059f14 in doinput () at ../charproc.c:3452
#15 0x0805962d in VTparse (xw=0x80ca5b0) at ../charproc.c:3023
#16 0x0805d200 in VTRun (xw=0x80ca5b0) at ../charproc.c:4957
#17 0x0806f416 in main (argc=0, argv=0xbffff4f8) at ../main.c:2414
=====
*** glibc detected *** ./xterm: free(): invalid pointer: 0x080d6b78 ***
Program received signal SIGABRT, Aborted.
0xb7fe1424 in __kernel_vsyscall ()
(gdb) bt
#0  0xb7fe1424 in __kernel_vsyscall ()
#1  0xb7ded3d0 in raise () from /lib/i686/cmov/libc.so.6
#2  0xb7df0a85 in abort () from /lib/i686/cmov/libc.so.6
#3  0xb7e262ed in ?? () from /lib/i686/cmov/libc.so.6
#4  0xb7e308f4 in ?? () from /lib/i686/cmov/libc.so.6
#5  0xb7e32835 in free () from /lib/i686/cmov/libc.so.6
#6  0x0807d06d in deleteScrollback (screen=0x80caa74, row=-1) at ../scrollback.c:115
#7  0x08080993 in ScreenResize (xw=0x80ca970, width=472, height=556, flags=0x80cdd44) at ../screen.c:1909
#8  0x0805d3a1 in VTResize (w=0x80ca970) at ../charproc.c:5021
#9  0xb7c485d9 in XtConfigureWidget () from /usr/lib/libXt.so.6
#10 0xb7c4877a in XtResizeWidget () from /usr/lib/libXt.so.6
#11 0xb7fa5c5a in XawVendorShellExtResize () from /usr/lib/libXaw.so.7
#12 0xb7c612a2 in ?? () from /usr/lib/libXt.so.6
#13 0xb7c450f4 in XtDispatchEventToWidget () from /usr/lib/libXt.so.6
#14 0xb7c45aaf in ?? () from /usr/lib/libXt.so.6
#15 0xb7c44a67 in XtDispatchEvent () from /usr/lib/libXt.so.6
#16 0x08076319 in xevents () at ../misc.c:459
#17 0x08059edb in in_put (xw=0x80ca970) at ../charproc.c:3437
#18 0x08059f14 in doinput () at ../charproc.c:3452
#19 0x0805962d in VTparse (xw=0x80ca970) at ../charproc.c:3023
#20 0x0805d200 in VTRun (xw=0x80ca970) at ../charproc.c:4957
#21 0x0806f416 in main (argc=0, argv=0xbffff508) at ../main.c:2414
=====


Regards,

Jan

Attachment: signature.asc
Description: Digital signature


Reply to: