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]

Reply via email to