The problem seems to be 8.6 specific whereas the module works with Tcl 8.5 without the mutex protecting the call to Tcl_EvalObjEx. Thus it looks like 8.6 doesn't like to work with threads when the environment embedding Tcl is multithreaded.

I get segfaults with random backtraces stemming from Tcl_EvalObjEx which suggests threads are spoiling unprotected data all around in several Tcl functions. NRE functions always appear in the bt output, but this is the engine for Tcl 8.6 so it's natural to find them.

If anyone with a closer understanding of the Tcl core (Harald?, Arnulf?) has suggestions I would appreciate if they could express an opinion, I think I'm going to bring up the issue anyway on TCLCORE, just wanted to be prepared at the best to explain what's going on


 -- Massimo

On 19-07-2014 0:22, Massimo Manghi wrote:

The only problem remaining with this very simple module is with the
execution of a script by calling Tcl_EvalObjEx which must be protected by a mutex. If I remove the mutex (and I want to because scripts run in
independent interpreters and should be able to run without
serialization) the server responds with an HTTP 104 code (connection
reset by peer) after a random number of requests (<100). I don't
understand why and I will try to figure it out in the next future

 -- Massimo

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to