Jitter - Segmentation fault on startup

Ian Piumarta piumarta at prof.inria.fr
Sat Jan 31 22:48:47 UTC 1998


Boris,

> jitter always fails on startup:
> error(s="opcode address is not an integer object")   ->
> 1) initOpcode should not get the error

You should take a very close look at sqMachDep.h and make sure that the
symbols JUMP_ALIGN_STRICT and JUMP_ALIGN_BYTE are defined correctly for
your CPU (in sqConfig.h).  JUMP_ALIGN_BYTE should be defined if
instructions can be arbitrarily aligned (e.g. Pentium).
JUMP_ALIGN_STRICT should be defined if the CPU does _not_ ignore the
lowest bit(s) in jump destination addresses (e.g. PPC and Alpha, but not
Sparc -- I don't know about MIPS without looking it up in the manual
[which is at work, unlike me ;) ]).

When you figure out the correct values, please send them to me.  Thanks!

> 2) printCallStack should not get SIGSEGV anyway...

The opcode table is initialised _before_ the initial context is loaded
(if I remember correctly), so any attempt to print a backtrace at that
stage of the game is doomed to failure.

Regards,

Ian





More information about the Squeak-dev mailing list