On an iMac core duo, if I start up Alphatk, which attempts to load tclAE
immediately, it crashes here:
#0 0x9003db0c in kill
#1 0x9010f30f in raise
#2 0x9010de62 in abort
#3 0x0a06b386 in Tcl_PanicVA
#4 0x0a06b3a1 in Tcl_Panic
#5 0x0a08180b in TclpFree
#6 0x0a0690b7 in TclFreeObj
#7 0x0a08e571 in Tcl_SetVar2Ex
#8 0x9b31c485 in TclaeInitObjectAccessors
#9 0x9b31aa2f in Tclae_Init
#10 0x0a0601d4 in Tcl_LoadObjCmd
#11 0x0a010572 in TclEvalObjvInternal
#12 0x0a010b46 in Tcl_EvalEx
[I'd like to give more precise debugging information, but am having a very
hard time convincing xcode to build tcl and tk without throwing strange
errors]
Logged In: YES
user_id=32170
The crash is caused when tclAE:: namespace doesn't exist and
TclaeInitObjectAccessors tries to create a variable name.
That fails and so:
varPtr = TclLookupVar(interp, part1, part2, flags, "set",
/*createPart1*/ 1, /*createPart2*/ 1, &arrayPtr);
if (varPtr == NULL) {
if (newValuePtr->refCount == 0) {
Tcl_DecrRefCount(newValuePtr);
}
return NULL;
}
varPtr is NULL, and Tcl tries to decr-ref-count the value
that was passed in. This value is a tclae-specific object
type, and seems to have some problem being freed, since it
then crashes.
A workaround is to ensure that tclae:: exists before doing
any of this.
Vince.
Logged In: YES
user_id=121894
How strange that it's only an issue on Intel, but thanks for the diagnosis. I'll
work up a proper fix.