...

I should add, that messages in error.log are:

        "client stopped connection before rvputs completed"

Regards
Holger
 ____________________________________________________________________
|
| Holger Zeinert   -   Development Manager CAE Division
|____________________________________________________________________
| LMS Deutschland GmbH      -      tel +49 631 4166-180, fax -166
| Luxemburger Str. 7, 67657 Kaiserslautern, GERMANY
| mailto:[EMAIL PROTECTED]     http://www.lmsintl.com




> -----Original Message-----
> From: Zeinert, Holger 
> Sent: Sunday, December 08, 2002 7:33 PM
> To: Craig Huckabee
> Cc: [EMAIL PROTECTED]
> Subject: RE: Apache / mod_dtcl crashing under W2K
> 
> 
> Hi,
> 
> here is a way how I can repeat the crash. First, a page 
> accessing the global variables ENVS, COOKIES, ... is needed:
> 
> page.ttml:
> 
> <?
>     puts "<html><body>"
>     puts "<h1>top</H1>"
>     puts "<br><br>"
> 
>     hgetvars
>     append message "COOKIES:<br>"
>     foreach a [array names COOKIES] {
>         append message "COOKIES($a)=$COOKIES($a)<br>"
>     }
>     foreach a [array names CLIENT_ENVS] {
>         append message "CLIENT_ENVS($a)=$CLIENT_ENVS($a)<br>"
>     }
>     foreach a [array names ENVS] {
>         append message "ENVS($a)=$ENVS($a)<br>"
>     }
>     foreach a {HTTP_COOKIE} {
>         if {[info exist ENVS($a)]} {
>             append message "ENVS($a)=$ENVS($a)<br>"
>         }
>     }
>     foreach a [array names env] {
>         append message "env($a)=$env($a)<br>"
>     }
>     puts "<b>ENVS:</b>"
>     foreach a [array names ENVS] {
>         puts "ENVS($a) = $ENVS($a)<br>"
>     }
>     puts $message
> 
> 
>     puts "</body></html>"
> 
> ?>
> 
> The configuration of apache is "ThreadsPerChild 50". To 
> produce a high load and multiple accesses, I use another tcl 
> script to access this page over and over again:
> 
> test_server_under_load.tcl:
> 
> package require http
> 
> set nr 0
> set ref -1
> 
> set url "http://localhost/top.ttml";
> 
> puts "Using URL: $url \n"
> 
> puts "Starting Tests....\n\n"
> 
> while {1} {
>     incr nr
>     set token [http::geturl $url]
>     # puts [http::data $token]
> 
>     set size [string length [http::data $token]]
>     if {$ref == -1} {set ref $size}
> 
>     puts -nonewline "   $nr request => $size ($ref)       "
> 
>     if {$size != $ref} {
>         puts "##########################"
>         set fp [open [clock seconds].html w]
>         puts $fp [http::data $token]
>         close $fp
>     } else {
>         puts ""
>     }
>     http::cleanup $token
> }
> 
> exit
> 
> 
> The idea of the script is to request a page, store the size 
> in bytes and request the page again and again. Everytime the 
> size of the page differs from the the first call, the page is 
> written into the current directory and a bar 
> "###################" is written to stdout.
> 
> If I run this script using
> 
>       tclsh test_server_under_load.tcl
> 
> in one Windows Command Prompt, everything is fine. As soon as 
> I start it in parallel in one or two other Command Prompts, 
> all logs show the bars ############ with either size 0 or 
> with missing data of ENVS, COOKIES, ...
> After some time, also crashes of apache.exe occur. As soon as 
> I switch the apache configuration back to "ThreadsPerChild 
> 1", no bars ########## and no crashes occur anymore.
> 
> In this test, all is executed locally on my notebook: apache 
> server and tcl script accessing the server.
> 
> Still, this will be difficult to debug, I guess...
> 
> Hope this helps!
> Holger
>  ____________________________________________________________________
> |
> | Holger Zeinert   -   Development Manager CAE Division
> |____________________________________________________________________
> | LMS Deutschland GmbH      -      tel +49 631 4166-180, fax -166
> | Luxemburger Str. 7, 67657 Kaiserslautern, GERMANY
> | mailto:[EMAIL PROTECTED]     http://www.lmsintl.com
> 
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to