You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rivet-dev@tcl.apache.org by Cyrille VIVION <cv...@degetel.com> on 2005/11/02 19:47:22 UTC

Re: help- having problems with apache and rivet50 under windows

Hello all -

I encounter the same problem as following :

Windows 2000 ; Rivet 0.5 ; Apache 1.3.33 ; ActiveTCL 8.4.11
--> with this configuration the stdout problem does not appear but I have
some troubles with concurrent connection (multithreading related).

I've download and compiled the TCL sources 8.4.11 (and even 8.4.9) with the
multithreading activated.
--> In this case I face the same problem, the stdout as disappeared :

can not find channel named "stdout"
    while executing
"puts -nonewline """
    (in namespace eval "::request" script line 2)
    invoked from within
"namespace eval request {
puts -nonewline ""
...

By compiling again the sources without the multithread support, it works
with the same limitations as with ActiveTCL (no concurrent conection). As
French say : Fromage ou Dessert.

A work around would be to have one interpreter by connection, is it possible
?

I invested weeks of work to port some legacy Vignette TCL code to Rivet.
It's incredible to be blocked on this kind of simple problem. Do you have
some ideas? You are my only hope.

Cyrille

Re: help- having problems with apache and rivet50 under windows

Posted by "David N. Welton" <da...@dedasys.com>.
Cyrille VIVION wrote:
> In the httpd.conf file of Apache there is the following parameter:
> ThreadsPerChild 50. With this value when two users connect on my site
> simultaneously, I face Apache crashes (if running Rivet with ActiveTCL or a
> non thread-enabled TCL version). A workaround is to set this parameter to 1.
> But that means that the server no longer manages more than one request at a
> time, in a performance point of view that's unacceptable.

Ah, ok , I see.

> I found another project using TCL that give me the idea of compiling TCL
> sources with threads enabled. According to the author, ActiveTCL isn't
> thread enabled so I thought that it could be the reason of my Apache
> crashes. What is your opinion on this point ? Here is the page, I've just
> talked about: http://hammerora.sourceforge.net/installation.htm (§
> Installation from source)

Yes, having a threads mismatch could cause problems.

If you are able to compile sources, I would *highly* recommend and
appreciate it if you tried with the Rivet source code in subversion:

svn checkout http://svn.apache.org/repos/asf/tcl/rivet/trunk rivet

should get you the very latest.  I'm working on preparing a new release,
so perhaps (fingers crossed) the problems aren't there in the latest code.

-- 
David N. Welton
- http://www.dedasys.com/davidw/

Linux, Open Source Consulting
- http://www.dedasys.com/



---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org


RE: help- having problems with apache and rivet50 under windows

Posted by Cyrille VIVION <cv...@degetel.com>.
In the httpd.conf file of Apache there is the following parameter:
ThreadsPerChild 50. With this value when two users connect on my site
simultaneously, I face Apache crashes (if running Rivet with ActiveTCL or a
non thread-enabled TCL version). A workaround is to set this parameter to 1.
But that means that the server no longer manages more than one request at a
time, in a performance point of view that's unacceptable.

I found another project using TCL that give me the idea of compiling TCL
sources with threads enabled. According to the author, ActiveTCL isn't
thread enabled so I thought that it could be the reason of my Apache
crashes. What is your opinion on this point ? Here is the page, I've just
talked about: http://hammerora.sourceforge.net/installation.htm (§
Installation from source)

Cyrille

-----Message d'origine-----
De : David N. Welton [mailto:davidw@dedasys.com]
Envoyé : mercredi 2 novembre 2005 22:18
À : Cyrille VIVION
Cc : rivet-dev@tcl.apache.org
Objet : Re: help- having problems with apache and rivet50 under windows


Cyrille VIVION wrote:
>
> Windows 2000 ; Rivet 0.5 ; Apache 1.3.33 ; ActiveTCL 8.4.11
> --> with this configuration the stdout problem does not appear but I have
> some troubles with concurrent connection (multithreading related).

Urhm... concurrent connections to Apache?

> I've download and compiled the TCL sources 8.4.11 (and even 8.4.9) with
the
> multithreading activated.
> --> In this case I face the same problem, the stdout as disappeared :
>
> can not find channel named "stdout"
>     while executing
> "puts -nonewline """
>     (in namespace eval "::request" script line 2)
>     invoked from within
> "namespace eval request {
> puts -nonewline ""
> ...

> By compiling again the sources without the multithread support, it works
> with the same limitations as with ActiveTCL (no concurrent conection). As
> French say : Fromage ou Dessert.

I am not clear on this.  Tcl can handle lots of concurrent connections
using its built in select loop.  So can Apache, at least on Unix...  I'm
not sure about the architecture of Apache 1.3 on windows though... does
it only use threads?

> A work around would be to have one interpreter by connection, is it
possible
> ?

On Unix, Apache 1.3 has child processes that each have a select loop to
accept connections.  Each child process only has one Tcl interpreter
(well, plus any extras needed for Virtual Hosts).

> I invested weeks of work to port some legacy Vignette TCL code to Rivet.
> It's incredible to be blocked on this kind of simple problem. Do you have
> some ideas? You are my only hope.

Use Linux or some BSD system?:-)  Joking aside, we'll do our best to get
you up and running.

--
David N. Welton
- http://www.dedasys.com/davidw/

Linux, Open Source Consulting
- http://www.dedasys.com/


---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org


Re: help- having problems with apache and rivet50 under windows

Posted by "David N. Welton" <da...@dedasys.com>.
Cyrille VIVION wrote:
> 
> Windows 2000 ; Rivet 0.5 ; Apache 1.3.33 ; ActiveTCL 8.4.11
> --> with this configuration the stdout problem does not appear but I have
> some troubles with concurrent connection (multithreading related).

Urhm... concurrent connections to Apache?

> I've download and compiled the TCL sources 8.4.11 (and even 8.4.9) with the
> multithreading activated.
> --> In this case I face the same problem, the stdout as disappeared :
> 
> can not find channel named "stdout"
>     while executing
> "puts -nonewline """
>     (in namespace eval "::request" script line 2)
>     invoked from within
> "namespace eval request {
> puts -nonewline ""
> ...

> By compiling again the sources without the multithread support, it works
> with the same limitations as with ActiveTCL (no concurrent conection). As
> French say : Fromage ou Dessert.

I am not clear on this.  Tcl can handle lots of concurrent connections
using its built in select loop.  So can Apache, at least on Unix...  I'm
not sure about the architecture of Apache 1.3 on windows though... does
it only use threads?

> A work around would be to have one interpreter by connection, is it possible
> ?

On Unix, Apache 1.3 has child processes that each have a select loop to
accept connections.  Each child process only has one Tcl interpreter
(well, plus any extras needed for Virtual Hosts).

> I invested weeks of work to port some legacy Vignette TCL code to Rivet.
> It's incredible to be blocked on this kind of simple problem. Do you have
> some ideas? You are my only hope.

Use Linux or some BSD system?:-)  Joking aside, we'll do our best to get
you up and running.

-- 
David N. Welton
- http://www.dedasys.com/davidw/

Linux, Open Source Consulting
- http://www.dedasys.com/


---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org