Ok, looks like that no one has a quick answer so I had to make time and play with the gdb and source code a little. Here is my findings:
file nsd/adpeval.c, function NsAdpLogError(NsInterp *itPtr), around line 824
At some point, framePtr which is
framePtr = itPtr->adp.framePtr;
turns out to be zero, which obviously causes SIGSEGV in the code couple lines later
Ns_DStringPrintf(&ds, "\n at line %d of ",
framePtr->line + interp->errorLine);
Why framePtr is zero - I have no idea, would be great to hear from nsd developers.
However, this quickie fixes the *crash* part
if (!framePtr) {
Ns_Log(Fatal, "AAA - zero framePtr");
return;
}
Please comment
~ Alex.
PS this is 4.5.0, not 4.0.10