At 2:11 PM -0500 5/2/02, Chris Wagner  imposed structure on a stream 
of electrons, yielding:
>Just wondering what you are using.
>
>I had been running Macjordomo for some time with a couple of lists, but when
>I went to setup two additional lists, I get a problem with the app crashing.
>
>I increased the allocation to the app and it seems to work fine with SIMS,
>except that the app keeps crashing. I read the docs from the author of
>Macjordomo and he commented that "Type 12" errors can be caused by lack of
>memory to the app. I allocated 40MB to the app and I guess figured that
>would be enough.
>
>I also was presented with detailed information on Type 12 errors and it
>seems that this type are due to erroneous calling of "traps".

68k traps are special cpu instruction codes that cause execution to 
jump to other places in memory. On a Mac, the "A-traps" (opcodes of 
the form 0xA*** in hex) are used to implement a large set of 
operating system calls. There are also 'F-Traps' (hex 0xF*** opcodes) 
which implement calls to the floating-point unit. One cool feature of 
A-traps under MacOS is that an application can 'patch' a trap so that 
system calls actually run application code when called from within 
the application. This is not so cool when it is done without immense 
care.

A 'bad A-trap' error results from the cpu encountering an opcode that 
is an A-trap but which isn't mapped to a system call. This can happen 
for a number of reasons, including OS version incompatibilities, but 
it is most frequently caused by execution running off into memory 
space that doesn't really contain executable code. It can at times be 
a challenge in MacOS to catch code loading failures that can result 
in the cpu trying to execute random data as code. For many apps, 
tight memory is the only condtion where these sorts of bugs express 
themselves, so in fact you an get a situation where insufficient 
application memory 'causes' bad trap errors. In fact the problem is 
something subtly wrong in how the application (or maybe the compiler 
used to create it or maybe in the OS itself) is dealing with 
low-memory situations and the potential for things to go wrong.


-- 
Bill Cole
[EMAIL PROTECTED]


#############################################################
This message is sent to you because you are subscribed to
  the mailing list <[EMAIL PROTECTED]>.
To unsubscribe, E-mail to: <[EMAIL PROTECTED]>
To switch to the DIGEST mode, E-mail to <[EMAIL PROTECTED]>
To switch to the INDEX mode, E-mail to <[EMAIL PROTECTED]>
Send administrative queries to  <[EMAIL PROTECTED]>

Reply via email to