help-smalltalk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Help-smalltalk] problems with gst-2.0.8 on NetBSD/i386 (1.5W)


From: Greg A. Woods
Subject: [Help-smalltalk] problems with gst-2.0.8 on NetBSD/i386 (1.5W)
Date: Thu, 14 Nov 2002 22:26:37 -0500 (EST)

I just tried building GST on NetBSD/i386 (1.5W, 2001/06/24 sources).

First I ran into a small problem with i18n/i18n.c and ALT_DIGITS at
line#173 (which is not defined on NetBSD).  I hacked it as follows:

#ifdef ALT_DIGITS
  lcTime->altDigitsOOP = vmProxy->stringToOOP (nl_langinfo (ALT_DIGITS));
#else
  lcTime->altDigitsOOP = 0;
#endif


Next I ran into a much bigger problem:

SMALLTALK_KERNEL="`cd ./kernel; pwd`" \
SMALLTALK_IMAGE="`pwd`" \
  ./gst -iQ dummy_file
gst: Bus error
gst: Error occurred while not in byte code interpreter!!
Bus error
gmake[2]: *** [gst.im] Error 138


I rebuilt with '-g' and here's what gdb says:

(gdb) run
Starting program: /var/obj/package/lang/smalltalk/work/smalltalk-2.0.8/./gst 

Program received signal SIGBUS, Bus error.
0x8073eaa in _gst_heap_create (size=268435456) at heap.c:264
264           memcpy (mbase, hdp, sizeof (mtemp));
(gdb) wehre
Undefined command: "wehre".  Try "help".
(gdb) trace
trace command requires an argument
(gdb) where
#0  0x8073eaa in _gst_heap_create (size=268435456) at heap.c:264
#1  0x806e6da in _gst_init_mem () at oop.c:526
#2  0x8050e4d in gst_init_smalltalk () at lib.c:478
#3  0x8050d07 in main (argc=1, argv=0xbfbfce98) at main.c:50
#4  0x8050b39 in ___start ()
(gdb) list
259          If the mapping fails, then close the file descriptor if it was
260          opened by us, and arrange to return a NULL. */
261
262       if ((mbase = heap_sbrk_internal (hdp, sizeof (mtemp))) != NULL)
263         {
264           memcpy (mbase, hdp, sizeof (mtemp));
265           hdp = (struct heap *) (mbase + HEAP_DELTA);
266         }
267       else
268         {
(gdb) print mbase
$1 = 0xffffffff ""
(gdb) print hdp
$2 = (struct heap *) 0xbfbfcdfc
(gdb) print mtemp
$3 = {areasize = 268435456, base = 0xffffffff "", 
  breakval = 0xf <Error reading address 0xf: Invalid argument>, 
  top = 0xffffffff ""}
(gdb) print *hdp
$4 = {areasize = 268435456, base = 0xffffffff "", 
  breakval = 0xf <Error reading address 0xf: Invalid argument>, 
  top = 0xffffffff ""}
(gdb) print &mtemp
$5 = (struct heap *) 0xbfbfcdfc
(gdb) info locals
size = 268435456
mtemp = {areasize = 268435456, base = 0xffffffff "", 
  breakval = 0xf <Error reading address 0xf: Invalid argument>, 
  top = 0xffffffff ""}
hdp = (struct heap *) 0xbfbfcdfc
mbase = 0xffffffff ""
(gdb) 

Oops!  That doesn't look right!

-- 
                                                                Greg A. Woods

+1 416 218-0098;            <address@hidden>;           <address@hidden>
Planix, Inc. <address@hidden>; VE3TCP; Secrets of the Weird <address@hidden>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]