OSX Tiger/G4 Bus error

Nick Forde nickf at system-7.freeserve.co.uk
Fri Aug 26 02:03:42 PDT 2005


Using GCC 4.0 on OS X Tiger/G4 I'm getting bus errors when  
bootstrapping.
I haven't tracked this down yet but append below some debugger output
in case anyone else can help.

(gdb) run big.image
Starting program: /Users/nickf/Home/prj/slate/main/vm big.image
Reading symbols for shared libraries . done
Bootstrapping libraries... (this may take a while. Save the image  
when done).
Slate: Growing heap to 4821488 bytes.
Loading 'src/mobius/syntax/quote.slate'
Loading 'src/mobius/syntax/cascade.slate'
Loading 'src/lib/macro.slate'
Loading 'src/lib/numericMixin.slate'
Loading 'src/lib/tuple.slate'

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x49c5c318
0x00005c94 in PSRoleTable_hashEntryForInsertingName_  
(roles=0x20ec8b4, name=1237697304) at vm.c:2348
2348      hash = ((ObjectPointer_pointer(name)) -> header).idHash &  
(tableSize - 1);

(gdb) where
#0  0x00005c94 in PSRoleTable_hashEntryForInsertingName_  
(roles=0x20ec8b4, name=1237697304) at vm.c:2348
#1  0x00007aa8 in PSRoleTable_growBy_excluding_ (roles=0x22ea08c,  
n=36610204, method=0x0) at vm.c:2415
#2  0x00007da4 in PSObject_addRoleNamed_at_dispatching_  
(obj=0x22da888, name=33637572, position=1, method=0x23b19a0) at vm.c: 
2890
#3  0x00008f28 in ObjectPointer_asMethod_on_arity_ (method=37427552,  
selector=33637572, args=0x1, n=2) at vm.c:3068
#4  0x0000b2ac in _primitive0 (interpreter=0x2090d44,  
arguments=0x49c5c318, argumentsSize=23968, optionals=0x5c54) at vm.c: 
3863
#5  0x000097c4 in PSInterpreter_send_to_through_arity_withOptionals_  
(i=0x2090d44, selector=33643540, args=0x22e80e8,  
dispatchers=0x22e80e8, n=3, opts=0x0) at vm.c:3406
#6  0x0000a780 in PSInterpreter_interpret (i=0x2090d44) at vm.c:1118
#7  0x00002de0 in slateMain (argc=2, argv=0xbffff4d4) at ../boot.c:196
#8  0x000020bc in _start (argc=2, argv=0xbffff4d4, envp=0xbffff4e0)  
at /SourceCache/Csu/Csu-57/crt.c:272
#9  0x00001f5c in start ()

The crash source is at vm.c:2409:

     roleName = ((roles -> roles)[index]).name;

where roleName is garbage and later dereferenced.

Any suggestions? I'm using the main sources and have tried both the
alpha and a generated vm.c.

Regards,

Nick.


On 16 Aug 2005, at 16:10, Brian Rice wrote:

> Hi, Nick!
>
> I've been trying GCC 4.0 again on OS X Tiger/G5, and without that  
> option it seems to work fine now. I'll check again and see what is  
> actually breaking if I can.
>
> I've also seen reports that GCC 4 can break assumptions about  
> argument evaluation order, but I've not been able to reproduce a  
> bug under it yet - when I do, I'll be looking for this kind of bug,  
> and it's probably a good idea if others do, too.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: /archives/slate/attachments/20050826/831bf0c2/attachment.htm


More information about the Slate mailing list