From nobody@hyperreal.org Thu Jul 17 02:59:37 1997 Received: (from nobody@localhost) by hyperreal.org (8.8.5/8.8.5) id CAA05373; Thu, 17 Jul 1997 02:59:37 -0700 (PDT) Message-Id: <199707170959.CAA05373@hyperreal.org> Date: Thu, 17 Jul 1997 02:59:37 -0700 (PDT) From: Mathieu Guillaume Reply-To: mat@isdnet.net To: apbugs@hyperreal.org Subject: Some URLs make the httpd process eat all CPU X-Send-Pr-Version: 3.2 >Number: 889 >Category: os-bsdi >Synopsis: Some URLs make the httpd process eat all CPU >Confidential: no >Severity: serious >Priority: medium >Responsible: apache >State: closed >Class: sw-bug >Submitter-Id: apache >Arrival-Date: Sun Jul 20 22:10:01 1997 >Originator: mat@isdnet.net >Organization: >Release: 1.2.0-1 >Environment: OS: BSDI 2.1 patchlevel 27 Compiler: gcc 2.7.2 >Description: When some of my users request specifics URLs, the httpd process dealing with the request grows fast until it uses 100% CPU. The request never finishes, the page is not served, and the server cannot answer other requests (because of the CPU). This only happens on a few URLs, but it's enough to make the server almost unusable. Examples of such URLS are: http://wwwperso.hol.fr/~toumouss/bigbear/pics/geocitiz.jpg http://wwwperso.hol.fr/~xgerbeau/jardin/up_level.gif If I rename the file, the problem disappears. If I copy the file, remove the original and rename the copy to the original, the problem remains. So this is not a problem with my disk/filesystem (I can cat the file). I don't have a rewrite rule that could possibly apply to those names. The server has been running without any problem with the same config for the past two months. >How-To-Repeat: I don't know how to repeat this problem. On my server, there's no problem, but when accessing the same path on another server, everything is OK. >Fix: The temporary fix I use is to have a watchdog kill httpd processes that grow too much, but that's not a viable solution >Audit-Trail: State-Changed-From-To: open-analyzed State-Changed-By: marc State-Changed-When: Sun Jul 20 22:51:00 PDT 1997 State-Changed-Why: What you say doesn't entirely make sense; one process eating 100% CPU should not stop other processes from serving requests due to the fact that Unix is an operating system, unlike Windows. Can you reproduce the problem 100% of the time? Try cutting your config files to the minimum possible. If you have mod_rewrite compiled into your server, try temporarily removing it and recompiling. Try compiling with a minimum of modules. Try running a ktrace on the runaway process (eg. ktrace -p 666, then ktrace -C to stop it, then kdump to dump the output) to see what it is doing. State-Changed-From-To: analyzed-closed State-Changed-By: marc State-Changed-When: Mon Jul 21 06:58:11 PDT 1997 State-Changed-Why: User reports another module was causing the problems. From: Marc Slemko To: apbugs@apache.org Subject: Re: os-bsdi/889: Some URLs make the httpd process eat all CPU (fwd) Date: Mon, 21 Jul 1997 07:59:44 -0600 (MDT) ---------- Forwarded message ---------- Date: Mon, 21 Jul 1997 11:18:01 +0200 (MET DST) From: Mathieu Guillaume Reply-To: mat@isdnet.net To: Marc Slemko Cc: apache-bugdb@apache.org, marc@apache.org Subject: Re: os-bsdi/889: Some URLs make the httpd process eat all CPU Ok, I've found the problem, you can close this ticket. The problem was the counter module (webcounter 1.1). It seems it couldn't update the database for the newest pages, probably an internal limit as to the number of references it can keep. I've disabled it until I find a solution. PS: A process eating 100% CPU does not stop other processes from serving pages, but it sure slows them down a lot. >Unformatted: >Last-Modified: Mon Jul 21 06:58:11 PDT 1997