I recently get segfaults when opening a certain file with vim in urxvt. I
failed to create a minimal case for reproducing this bug, it seems to be
related to:
- the file in question (gnu Makefile)
- my vim configuration (huge!)
- the urxvt window size (95x63)
As my vimrc uses many plugin specific settings, I didn't post it here. Let
me know if that would be of any help.
urxvt seems to crash randomly at one of the following places:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1214121696 (LWP 24222)]
0x0806ef56 in rxvt_term::scr_scroll_text (this=0x8165cd8, row1=0, row2=62,
count=482122)
at screen.C:646
646 if (l.r && l.l < ncol - 1 && !((l.r[l.l + 1] ^ rstyle) &
(RS_fgMask | RS_bgMask)))
(gdb) bt
#0 0x0806ef56 in rxvt_term::scr_scroll_text (this=0x8165cd8, row1=0,
row2=62, count=482122)
at screen.C:646
#1 0x0805de25 in rxvt_term::process_csi_seq (this=0x8165cd8) at
command.C:2935
#2 0x0805e34f in rxvt_term::process_escape_seq (this=0x8165cd8) at
command.C:2687
#3 0x0805e553 in rxvt_term::cmd_parse (this=0x8165cd8) at command.C:2292
#4 0x0805fc2b in rxvt_term::pty_cb (this=0x8165cd8, [EMAIL PROTECTED],
revents=1) at command.C:1194
#5 0x0806b54b in ev::base<ev_io, ev::io>::method_thunk<rxvt_term,
&(rxvt_term::pty_cb(ev::io&, int))> (w=0x8167698, revents=1) at
../libev/ev++.h:454
#6 0x0807c5cc in call_pending () at ../libev/ev.c:1695
#7 0x0807e25a in ev_loop (flags=<value optimized out>) at
../libev/ev.c:2024
#8 0x0805a6de in main (argc=-1082110380, argv=0x8167c60) at rxvt.C:54
(gdb) l
641 {
642 line_t &l = ROW(nrow - 1 - i);
643
644 // optimize if already cleared, can be significant on slow
machines
645 // could be rolled into scr_blank_screen_mem
646 if (l.r && l.l < ncol - 1 && !((l.r[l.l + 1] ^ rstyle) &
(RS_fgMask | RS_bgMask)))
647 {
648 scr_blank_line (l, 0, l.l, rstyle);
649 l.l = 0;
650 l.f = 0;
(gdb) p l
$1 = (line_t &) @0x836e588: {t = 0x20, r = 0x20, l = 32, f = 32}
(gdb) p ncol
$2 = 124
(gdb) r
Starting program: /usr/bin/urxvt
[Thread debugging using libthread_db enabled]
[New Thread -1213699808 (LWP 24307)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1213699808 (LWP 24307)]
rxvt_term::scr_blank_line (this=0x8165cd8, [EMAIL PROTECTED], col=0, width=124,
efs=16787766)
at screen.C:135
135 *et++ = ' ';
(gdb) bt
#0 rxvt_term::scr_blank_line (this=0x8165cd8, [EMAIL PROTECTED], col=0,
width=124, efs=16787766)
at screen.C:135
#1 0x0806ee35 in rxvt_term::scr_blank_screen_mem (this=0x8165cd8,
[EMAIL PROTECTED], efs=10550)
at screen.C:145
#2 0x0806ef79 in rxvt_term::scr_scroll_text (this=0x8165cd8, row1=0,
row2=62, count=482122)
at screen.C:653
#3 0x0805de25 in rxvt_term::process_csi_seq (this=0x8165cd8) at
command.C:2935
#4 0x0805e34f in rxvt_term::process_escape_seq (this=0x8165cd8) at
command.C:2687
#5 0x0805e553 in rxvt_term::cmd_parse (this=0x8165cd8) at command.C:2292
#6 0x0805fc2b in rxvt_term::pty_cb (this=0x8165cd8, [EMAIL PROTECTED],
revents=1) at command.C:1194
#7 0x0806b54b in ev::base<ev_io, ev::io>::method_thunk<rxvt_term,
&(rxvt_term::pty_cb(ev::io&, int))> (w=0x8167698, revents=1) at
../libev/ev++.h:454
#8 0x0807c5cc in call_pending () at ../libev/ev.c:1695
#9 0x0807e25a in ev_loop (flags=<value optimized out>) at
../libev/ev.c:2024
#10 0x0805a6de in main (argc=-1077486924, argv=0x8167c60) at rxvt.C:54
(gdb) l
130 text_t *et = l.t + col;
131 rend_t *er = l.r + col;
132
133 while (width--)
134 {
135 *et++ = ' ';
136 *er++ = efs;
137 }
138 }
139
(gdb) p et
$1 = (text_t *) 0x1002951
(gdb) p *et
Cannot access memory at address 0x1002951
(gdb) p *er
Cannot access memory at address 0x1002951
(gdb) p l
$2 = (line_t &) @0x82fa110: {t = 0x1002951, r = 0x1002951, l = 16787793, f =
16787793}
(gdb)
Thanks for your help, and keep up the good work!
Chris
--
echo mailto: NOSPAM !#$.'<*>'|sed 's. ..'|tr "<*> !#:2" [EMAIL PROTECTED]
_______________________________________________
rxvt-unicode mailing list
[email protected]
http://lists.schmorp.de/cgi-bin/mailman/listinfo/rxvt-unicode