gnue / NEWT0

NewtonScript
http://gnue.github.io/NEWT0
34 stars 13 forks source link

`./configure --prefix=/usr/local && make all && make test` fails with segfault on Mac OS X 10.7.3 Lion #1

Closed morgant closed 12 years ago

morgant commented 12 years ago

On a MacBook Air (1.867GHz Intel Core 2 Duo; 2GB RAM) running Mac OS X 10.7.3 Lion with Xcode 4.3.1 (with latest version of Command Line Tools installed), I get a segmentation fault in newt when I run ./configure --prefix=/usr/local && make all && make test. The backtrace is as follows:

(gdb) run -C sample test_all.newt
Starting program: /Users/linetrace/Projects/NEWT0/build/newt -C sample test_all.newt
Reading symbols for shared libraries ++........................ done

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000100930
NewtObjData [inlined] () at /Users/linetrace/Projects/NEWT0/src/newt_core/NewtObj.c:524
524     void *  data;
(gdb) backtrace
#0  NewtObjData [inlined] () at /Users/linetrace/Projects/NEWT0/src/newt_core/NewtObj.c:524
#1  NewtRefToData [inlined] () at /Users/linetrace/Projects/NEWT0/src/newt_core/NewtObj.c:940
#2  0x0000000100012ec3 in NewtBSearchSymTable (r=1050928, name=0x1000203f8 "_proto", hash=0, st=0, 
    indexP=0x7fff5fbff9a4) at NewtObj.c:149
#3  0x0000000100015be8 in NewtLookupSymbol (r=1050929, name=0x1000203f8 "_proto", hash=0, st=0) at NewtObj.c:212
#4  0x000000010000a0a0 in NewtInitSYM [inlined] () at /Users/linetrace/Projects/NEWT0/src/newt_core/NewtEnv.c:121
#5  0x000000010000a0a0 in NewtInitEnv [inlined] () at /Users/linetrace/Projects/NEWT0/src/newt_core/NewtEnv.c:385
#6  0x000000010000a0a0 in NewtInit (argc=1606417024, argv=0x7fff5fbffa80, n=4) at NewtEnv.c:149
#7  0x0000000100001b4f in newt_chdir [inlined] () at /Users/linetrace/Projects/NEWT0/src/main.c:209
#8  0x0000000100001b4f in newt_interpret_file [inlined] () at /Users/linetrace/Projects/NEWT0/src/main.c:210
#9  0x0000000100001b4f in main (argc=4, argv=0x7fff5fbffae0) at main.c:149

If I open newt_all.xcodeproj, update it, and run that it'll build successfully, but I must admit I haven't used Xcode in years and haven't done serious development in it since it was ProjectBuilder a decade ago, so can't seem to find the current way to run the install/release build process. I've got a basic understanding of gdb, but am not familiar enough with the newt source & architecture to get very far at this time. I'm happy to help any way I can.

gnue commented 12 years ago

NEWT/0 is not support 64 bit addressing. Please try ./configure CC='gcc -m32'

morgant commented 12 years ago

That makes sense. Thanks, that worked perfectly!