The current CVS version of rxvt segfaults when maximizing/resizing a window if
the alternate screen is active. Stack trace:
#0 0x40132cb9 in chunk_realloc (ar_ptr=0x401c0f20, oldp=0x80804a8,
oldsize=4200, nb=4352) at malloc.c:3313
#1 0x40132be3 in __libc_realloc (oldmem=0x807f448, bytes=4344)
at malloc.c:3254
#2 0x805477f in rxvt_scr_reset_realloc (r=0x8061580) at screen.c:390
#3 0x80542ea in rxvt_scr_reset (r=0x8061580) at screen.c:291
#4 0x804efff in rxvt_resize_all_windows (r=0x8061580, width=1276, height=940,
ignoreparent=1) at main.c:985
#5 0x804bc12 in rxvt_process_x_event (r=0x8061580, ev=0xbffff48c)
at command.c:961
#6 0x804b84d in rxvt_cmd_getc (r=0x8061580) at command.c:669
#7 0x804d949 in rxvt_main_loop (r=0x8061580) at command.c:2682
#8 0x804af8f in main (argc=1, argv=0xbffff624) at rxvt.c:13
Sometimes instead of segfaulting rxvt aborts with assertion failure:
rxvt: screen.c:576: rxvt_scr_change_screen: Assertion `r->screen.cur.row <
r->TermWin.nrow' failed.
Stack trace in this case:
#0 0x400ff091 in __kill () from /lib/libc.so.6
#1 0x400fed79 in raise (sig=6) at ../sysdeps/posix/raise.c:27
#2 0x401004f0 in abort () at ../sysdeps/generic/abort.c:88
#3 0x400f8e9d in __assert_fail () at assert.c:59
#4 0x8054e93 in rxvt_scr_change_screen (r=0x8061580, scrn=1) at screen.c:576
#5 0x804eff1 in rxvt_resize_all_windows (r=0x8061580, width=187, height=25,
ignoreparent=1) at main.c:983
#6 0x804bc12 in rxvt_process_x_event (r=0x8061580, ev=0xbffff48c)
at command.c:961
#7 0x804b84d in rxvt_cmd_getc (r=0x8061580) at command.c:669
#8 0x804d949 in rxvt_main_loop (r=0x8061580) at command.c:2682
#9 0x804af8f in main (argc=1, argv=0xbffff624) at rxvt.c:13
(r->screen.cur.row == r->TermWin.nrow == 1)
Marius Gedminas
--
... Another nationwide organization's computer system crashed twice in less
than a year. The cause of each crash was a computer virus....
-- Paul Mungo, Bryan Glough _Approaching_Zero_
(in 1986 computer crashes were something out of the ordinary. Win95 anyone?)