Hi,
I'm running native 21.0-b46 under NT 4sp3. It was compiled with options :
USE_UNION_TYPE=1
USE_MINIMAL_TAGBITS=1
USE_INDEXED_LRECORD_IMPLEMENTATION=1
It has *crashed* in alloc.c, at the following point with an invalid
'string' value. I insist : this was not an assertion failure, but a
crash due to a bad memory reference in from_s_chars->string :
============================================================================
/* If the string_chars struct is marked as free (i.e. the STRING
pointer is 0xFFFFFFFF) then this is an unused chunk of string
storage. This happens under Mule when a string's size changes
in such a way that its fullsize changes. (Strings can change
size because a different-length character can be substituted
for another character.) In this case, after the bogus string
pointer is the "fullsize" of this entry, i.e. how many bytes
to skip. */
if (FREE_STRUCT_P (from_s_chars))
{
fullsize = ((struct unused_string_chars *) from_s_chars)->fullsize;
from_pos += fullsize;
continue;
}
string = from_s_chars->string;
=> assert (!(FREE_STRUCT_P (string)));
size = string_length (string);
fullsize = STRING_FULLSIZE (size);
if (BIG_STRING_FULLSIZE_P (fullsize))
abort ();
/* Just skip it if it isn't marked. */
#ifdef LRECORD_STRING
if (! MARKED_RECORD_HEADER_P (&(string->lheader)))
#else
if (!XMARKBIT (string->plist))
#endif
{
from_pos += fullsize;
continue;
}
Call Stack:
===========
compact_string_chars() line 4046 + 3 bytes
gc_sweep() line 4251
garbage_collect_1() line 4558
funcall_recording_as(Lisp_Object {...}, int 2, Lisp_Object * 0x0082d230) line 3116
Ffuncall(int 2, Lisp_Object * 0x0082d230) line 3238 + 19 bytes
Fbyte_code(Lisp_Object {...}, Lisp_Object {...}, Lisp_Object {...}) line 416 + 16 bytes
funcall_lambda(Lisp_Object {...}, int 3, Lisp_Object * 0x0082d998) line 3599 + 38 bytes
funcall_recording_as(Lisp_Object {...}, int 3, Lisp_Object * 0x0082d994) line 3200 + 20
bytes
Ffuncall(int 4, Lisp_Object * 0x0082d994) line 3238 + 19 bytes
Fbyte_code(Lisp_Object {...}, Lisp_Object {...}, Lisp_Object {...}) line 416 + 16 bytes
Feval(Lisp_Object {...}) line 3063 + 153 bytes
condition_case_1(Lisp_Object {...}, Lisp_Object (Lisp_Object)* 0x01052ce3
Feval(Lisp_Object), Lisp_Object {...}, Lisp_Object (Lisp_Object, Lisp_Object)* 0x0105084e
run_condition_case_handlers(Lisp_Object, Lisp_Object), Lisp_Object {...}) line 1653 + 7
bytes
condition_case_3(Lisp_Object {...}, Lisp_Object {...}, Lisp_Object {...}) line 1718 + 27
bytes
Fbyte_code(Lisp_Object {...}, Lisp_Object {...}, Lisp_Object {...}) line 576 + 19 bytes
funcall_lambda(Lisp_Object {...}, int 5, Lisp_Object * 0x0082e67c) line 3599 + 38 bytes
funcall_recording_as(Lisp_Object {...}, int 5, Lisp_Object * 0x0082e678) line 3200 + 20
bytes
Ffuncall(int 6, Lisp_Object * 0x0082e678) line 3238 + 19 bytes
Fbyte_code(Lisp_Object {...}, Lisp_Object {...}, Lisp_Object {...}) line 416 + 16 bytes
funcall_lambda(Lisp_Object {...}, int 2, Lisp_Object * 0x0082f0e0) line 3599 + 38 bytes
funcall_recording_as(Lisp_Object {...}, int 2, Lisp_Object * 0x0082f0dc) line 3200 + 20
bytes
Ffuncall(int 3, Lisp_Object * 0x0082f0dc) line 3238 + 19 bytes
Fbyte_code(Lisp_Object {...}, Lisp_Object {...}, Lisp_Object {...}) line 416 + 16 bytes
funcall_lambda(Lisp_Object {...}, int 5, Lisp_Object * 0x0082f410) line 3599 + 38 bytes
funcall_recording_as(Lisp_Object {...}, int 5, Lisp_Object * 0x0082f40c) line 3200 + 20
bytes
Ffuncall(int 6, Lisp_Object * 0x0082f40c) line 3238 + 19 bytes
Fbyte_code(Lisp_Object {...}, Lisp_Object {...}, Lisp_Object {...}) line 416 + 16 bytes
funcall_lambda(Lisp_Object {...}, int 5, Lisp_Object * 0x0082f838) line 3599 + 38 bytes
funcall_recording_as(Lisp_Object {...}, int 5, Lisp_Object * 0x0082f834) line 3200 + 20
bytes
Ffuncall(int 6, Lisp_Object * 0x0082f834) line 3238 + 19 bytes
Fbyte_code(Lisp_Object {...}, Lisp_Object {...}, Lisp_Object {...}) line 416 + 16 bytes
funcall_lambda(Lisp_Object {...}, int 1, Lisp_Object * 0x0082fa68) line 3599 + 38 bytes
funcall_recording_as(Lisp_Object {...}, int 1, Lisp_Object * 0x0082fa64) line 3200 + 20
bytes
Ffuncall(int 2, Lisp_Object * 0x0082fa64) line 3238 + 19 bytes
Fcall_interactively(Lisp_Object {...}, Lisp_Object {...}, Lisp_Object {...}) line 935 + 22
bytes
Fcommand_execute(Lisp_Object {...}, Lisp_Object {...}, Lisp_Object {...}) line 2584 + 17
bytes
execute_command_event(command_builder * 0x01c9a8c0, Lisp_Object {...}) line 4346 + 25
bytes
Fdispatch_event(Lisp_Object {...}) line 4645 + 71 bytes
Fcommand_loop_1() line 579 + 9 bytes
command_loop_1(Lisp_Object {...}) line 495
condition_case_1(Lisp_Object {...}, Lisp_Object (Lisp_Object)* 0x010350c2
command_loop_1(Lisp_Object), Lisp_Object {...}, Lisp_Object (Lisp_Object, Lisp_Object)*
0x01034b4f cmd_error(Lisp_Object, Lisp_Object), Lisp_Object {...}) line 1653 + 7 bytes
command_loop_3() line 256 + 35 bytes
command_loop_2(Lisp_Object {...}) line 268
internal_catch(Lisp_Object {...}, Lisp_Object (Lisp_Object)* 0x01034cba
command_loop_2(Lisp_Object), Lisp_Object {...}, int * 0x00000000) line 1328 + 7 bytes
initial_command_loop(Lisp_Object {...}) line 305 + 25 bytes
STACK_TRACE_EYE_CATCHER(int 1, char * * 0x01c2bc80, char * * 0x01c30000, int 0) line 1702
+ 9 bytes
main(int 1, char * * 0x01c2bc80, char * * 0x01c30000) line 2119 + 21 bytes
variables:
==========
- from_s_chars 0x021d95b8
+ string 0x70756f72
+ chars 0x021d95bc "* {nntp:news.ese-metz.fr} (Group PenDel
PC)----Top------------------------------------
"