Forum OpenACS Q&A: Re: nsd crash after "ns_returnredirect"

Collapse
Posted by Alex Andryushkin on
Hi,

It's 4.5.0
No warnings at all ... just "signal 11"

Thanks

Collapse
Posted by Alex Andryushkin on
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