Wed 19 Apr 2006 07:59:58 PM UTC, original submission:
I get a segfault when I invoke the scheme binary built from snapshot 20060414 in FC4. I'm using GCC 4.0.2, which is why I couldn't build from the 7.7.1 package (make failed with "invalid lvalue" errors; see bug #14994). Apparently execution never gets past this function in dump.c:
unsigned long
DEFUN (checksum_area, (start, count, initial_value),
register unsigned long * start
AND register long count
AND unsigned long initial_value)
{
register unsigned long value;
value = initial_value;
while ((--count) >= 0)
value = (value ^ (*start++));
return (value);
}
Output from scheme looks like this:
MIT/GNU Scheme running under GNU/Linux
Type `^C' (control-C) followed by `H' to obtain information about interrupts.
>> A hardware fault has occurred within critical section "garbage collector daemon".
>> [signal 11 (SIGSEGV), code 1]
>> Successful recovery is unlikely.
Choose one of the following actions:
D = dump core
I = terminate immediately
N = terminate normally
R = attempt recovery
Q = terminate normally
Action ->
Aborted
Note: although I chose (D)ump at this point, no dump file was produced.
Originally I tried to use the already-built 7.7.1 scheme binary but likewise got a segfault, but without the message and prompt. Here are the last few lines of GDB output:
Setup_Memory (Our_Heap_Size=285696, Our_Stack_Size=102400,
Our_Constant_Size=714752) at memmag.c:177
177 memmag.c: No such file or directory.
in memmag.c
(gdb)
185 in memmag.c
(gdb)
187 in memmag.c
(gdb)
linux_heap_malloc (requested_length=5554176) at ux.c:640
640 ux.c: No such file or directory.
in ux.c
(gdb)
642 in ux.c
(gdb)
Program received signal SIGSEGV, Segmentation fault.
0x0054d000 in ?? ()
(gdb)
Cannot find bounds of current function
|