Jeff Hobbs wrote:
> I'm interested in understanding why this is, and where it happens.
>
> I'm somewhat suspicious that I can find Tcl_CreateInterp but no
> Tcl_DeleteInterp in the rivet C sources (but there is a
> Tcl_Finalize). I suspect that Rivet may not be fundamentally
> safe in its lifecycle handling of interpreters, and/or not
> completely thread safe (although I thought David used threaded
> Tcl on unix). It may be something even more fundamental in a
> mismatch between the threaded Windows Tcl build and whatever
> configuration the Windows Apache is using by default.
I didn't realize I needed to delete the interpreter before running
Finalize. I thought that would take care of nuking everything Tcl
related. That's in the child exit stuff though, so I wouldn't think
that would be causing the problems people are seeing.
It seems like it's starting up ok, then tries to run a page, at which
point it throws an error, tries to run handle_error, and dies because it
can't run that code either.
Just out of curiosity, Charles, if you wanted to try an experiment, you
could change the installed version of the handle_error proc, found in
the init.tcl file, to something along these lines:
proc handle_error {} {
global errorInfo
global errorOutbuf
puts stderr "ERRORINFO: $errorInfo"
puts stderr "OUTPUT BUFFER:"
puts stderr $errorOutbuf
}
and then run things... that ought to print something out to the log file
or stderr, if we are lucky.
--
David N. Welton
- http://www.dedasys.com/davidw/
Linux, Open Source Consulting
- http://www.dedasys.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]