Stephen J. Turnbull writes:
Henry S. Thompson writes:
> Crashed hard will trying to display spam under gnus.
> rep_bytes_by_first_byte_1 with arg't "\305\a"
"This can't happen," he said flatly. :-)
Seriously, rep_bytes_by_first_byte_1 is only called on internal data,
so it's not the spam's fault in some sense. There's a bug in XEmacs
somewhere to allow that data to get into a buffer or string.
> I failed to recover the original (message subject) string. . .
Do you have it saved as it came off the wire?
Yes, but I'm pretty much now convinced that this is a
context-dependent bug. That is, having caught the error in gdb,
printed the stuff you asked for (see below) and restarted, when I get
to the same group and page of subject lines, no crash.
Can you "print (char *) (ptr - 10)" at this point and give
me about 20
bytes worth of the output? (I'm not 100% sure of the gdb syntax.)
> #9 extent_endpoint_char (extent=<value optimized out>,
> endp=<value optimized out>) at extents.c:1420
Do you have more of the backtrace?
Full backtrace and various poking around wrt ptr follows. Hope it
helps!
ht
-------------
p ptr
$11 = (const Ibyte *) 0x911ea9c "\377\377\377"
p (char *)(ptr - 10)
$12 = 0x911ea92 "~~~~(PCkk"
p *(char *)(ptr - 10)
$13 = 126 '~'
p *(char *)(ptr - 9)
$14 = 126 '~'
p *(char *)(ptr - 1)
$15 = 0 '\000'
p (char *)(ptr)
$16 = 0x911ea9c "\377\377\377"
p *(char *)(ptr + 3)
$17 = 0 '\000'
p *(char *)(ptr + 4)
$18 = -1 '\377'
bt
#0 fatal_error_signal (sig=6) at emacs.c:3881
#1 <signal handler called>
#2 0x000000350be32925 in raise () from /lib64/libc.so.6
#3 0x000000350be34105 in abort () from /lib64/libc.so.6
#4 0x00000000004d3545 in really_abort (file=<value optimized out>, line=<value
optimized out>, expr=<value optimized out>) at emacs.c:4796
#5 assert_failed (file=<value optimized out>, line=<value optimized out>,
expr=<value optimized out>) at emacs.c:4093
#6 0x0000000000749f10 in rep_bytes_by_first_byte_1 (ptr=0x911ea9c
"\377\377\377", len=<value optimized out>) at text.h:195
#7 bytecount_to_charcount_fun (ptr=0x911ea9c "\377\377\377", len=<value
optimized out>) at text.c:2300
#8 0x000000000051091b in bytecount_to_charcount (extent=<value optimized out>,
endp=<value optimized out>) at text.h:691
#9 string_index_byte_to_char (extent=<value optimized out>, endp=<value
optimized out>) at text.h:1158
#10 buffer_or_string_memxpos_to_charxpos (extent=<value optimized out>,
endp=<value optimized out>) at buffer.h:767
#11 extent_endpoint_char (extent=<value optimized out>, endp=<value optimized
out>) at extents.c:1420
#12 0x000000000051c115 in signal_single_extent_changed (extent=0x336b4d0,
property=11690648, old_start=-1, old_end=-1, descendants_too=0) at extents.c:1475
#13 signal_extent_changed (extent=0x336b4d0, property=11690648, old_start=-1, old_end=-1,
descendants_too=0) at extents.c:1539
#14 0x000000000069f590 in generate_formatted_string_db (format_str=51044592,
result_str=30067368, w=<value optimized out>, dl=0x9123420, db=<value optimized
out>, findex=<value optimized out>,
min_pixpos=6, max_pixpos=657, type=1) at redisplay.c:3958
#15 0x000000000069fde8 in generate_modeline (w=0x10f5e600, dl=0x9123420, type=1) at
redisplay.c:4054
#16 0x00000000006a168d in ensure_modeline_generated (w=0x10f5e600, type=1) at
redisplay.c:4605
#17 0x00000000006a215b in regenerate_window (w=0x10f5e600, start_pos=1, point=211, type=1)
at redisplay.c:5564
#18 0x00000000006acb05 in redisplay_window (window=284550656, skip_selected=<value
optimized out>) at redisplay.c:6435
#19 0x00000000006ae062 in redisplay_windows (window=284550656, skip_selected=1) at
redisplay.c:6699
#20 0x00000000006ac118 in redisplay_window (window=284547056, skip_selected=1) at
redisplay.c:6316
#21 0x00000000006ae062 in redisplay_windows (window=284547056, skip_selected=1) at
redisplay.c:6699
#22 0x00000000006ae1e8 in redisplay_frame (f=0xe346550, preemption_check=<value
optimized out>) at redisplay.c:7065
#23 0x00000000006ae695 in redisplay_device (d=0x3698a10, automatic=<value optimized
out>) at redisplay.c:7143
#24 0x00000000006aead7 in redisplay_without_hooks () at redisplay.c:7218
#25 redisplay_no_pre_idle_hook () at redisplay.c:7289
#26 0x00000000004f98d5 in Fnext_event (event=164421920, prompt=<value optimized
out>) at event-stream.c:2266
#27 0x0000000000495946 in Fcommand_loop_1 () at cmdloop.c:622
#28 0x0000000000495a56 in command_loop_1 (unused_dummy=<value optimized out>) at
cmdloop.c:528
#29 0x00000000004dbcb0 in condition_case_1 (handlers=<value optimized out>,
bfun=0x495a20 <command_loop_1>, barg=11690648, hfun=0x495c10 <cmd_error>,
harg=11690648) at eval.c:2176
#30 0x0000000000495bb0 in command_loop_3 (unused_dummy=<value optimized out>) at
cmdloop.c:285
#31 command_loop_2 (unused_dummy=<value optimized out>) at cmdloop.c:298
#32 0x00000000004da949 in internal_catch (tag=Cannot access memory at address 0x1877
) at eval.c:1756
#33 0x0000000000495e58 in initial_command_loop (load_me=<value optimized out>) at
cmdloop.c:336
#34 0x00000000004d5000 in xemacs_21_5_b33_x86_64_unknown_linux (argc=4,
argv=0x7fffffffd1d8, unused_envp=<value optimized out>, restart=0) at emacs.c:2742
#35 0x00000000004d5be1 in main (argc=4, argv=0x7fffffffd1d8, unused_envp=<value
optimized out>) at emacs.c:3190
--
Henry S. Thompson, School of Informatics, University of Edinburgh
10 Crichton Street, Edinburgh EH8 9AB, SCOTLAND -- (44) 131 650-4440
Fax: (44) 131 650-4587, e-mail: ht(a)inf.ed.ac.uk
URL:
http://www.ltg.ed.ac.uk/~ht/
[mail from me _always_ has a .sig like this -- mail without it is forged spam]
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-beta