Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Oct 2009 13:46:58 -0500
From:      Jaime Bozza <jbozza@mindsites.com>
To:        "freebsd-stable@freebsd.org" <freebsd-stable@freebsd.org>
Subject:   Possible scheduler (SCHED_ULE) bug?
Message-ID:  <CF092998EA82AE4D83AF9C9ECA9A8BDE02EB411A85@ATLAS.msg.local>

next in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
I believe I found a problem with the ULE scheduler - At least the fact that there is a problem, but I'm not sure where to go from here.   The system locks all processes, but doesn't panic, so I have no output to give.  

I was able to duplicate this on three different machines and solved it by switching to the scheduler to 4BSD.

Here's the environment:

FreeBSD 7.2 i386, installed from bootonly ISO, Custom install, minimal, no other changes other than setting timezone, changing root password, and turning on sshd (allowing root and password connection).

Running portsnap (fetch, then extract) to get latest ports tree.

>From ports, make installs of lang/php5 and www/lighttpd, using defaults for all ports installed.

Modified lighttpd.conf for PHP (attached diff), created a short script called uploadfile.php (attached).  File was installed at /usr/local/www/data/uploadfile.php

Start lighttpd (lighttpd_enable="YES" in rc.conf, /usr/local/etc/rc.d/lighttpd start), connect and run script.

As long as I upload a file less than 64K, everything works fine.  If I try to upload something larger than 64K, system no longer responds.   Console prompt at login will allow me to enter username/password, but nothing happens after that.  Console prompt logged in will allow me to type a single line, but if I press enter, nothing after that.

No errors get written anywhere - console, logs, etc.

I'm at a loss of what to do next.  Can anyone give me ideas of what else I can do?








[-- Attachment #2 --]
--- lighttpd.conf.sample        2009-10-23 09:37:50.000000000 -0500
+++ lighttpd.conf       2009-10-23 10:02:00.000000000 -0500
@@ -20,7 +20,7 @@
 #                               "mod_auth",
 #                               "mod_status",
 #                               "mod_setenv",
-#                               "mod_fastcgi",
+                                "mod_fastcgi",
 #                               "mod_proxy",
 #                               "mod_simple_vhost",
 #                               "mod_evhost",
@@ -39,7 +39,7 @@
 server.document-root        = "/usr/local/www/data/"
 
 ## where to send error-messages to
-server.errorlog             = "/var/log/lighttpd.error.log"
+server.errorlog             = "/tmp/lighttpd.error.log"
 
 # files to check for if .../ is requested
 index-file.names            = ( "index.php", "index.html",
@@ -115,7 +115,7 @@
 # server.tag                 = "lighttpd"
 
 #### accesslog module
-accesslog.filename          = "/var/log/lighttpd.access.log"
+accesslog.filename          = "/tmp/lighttpd.access.log"
 
 ## deny access the file-extensions
 #
@@ -324,3 +324,20 @@
 # Enable IPV6 and IPV4 together
 server.use-ipv6 = "enable"
 $SERVER["socket"] == "0.0.0.0:80" { }
+
+  fastcgi.server = ( ".php" => ((
+    "bin-path" => "/usr/local/bin/php-cgi",
+    "socket" => "/tmp/hermes.php.socket", 
+    "min-procs" => 1,
+    "max-procs" => 1,
+    "bin-environment" => (
+      "PHP_FCGI_CHILDREN" => "4",
+      "PHP_FCGI_MAX_REQUESTS" => "50",
+      "PHPRC" => "/data/sites/support/conf/"
+      ),
+    "bin-copy-environment" => (
+      "PATH", "SHELL", "USER", "TZ"
+      ),
+    "broken-scriptfilename" => "enable",
+  )))
+
\
[-- Attachment #3 --]
<?php

$header = <<<EOT
<html><body>
EOT;

$footer = <<<EOT
</body>
</html>
EOT;

if ($_SERVER["REQUEST_METHOD"] != "POST") {
  print_form();
} else {
  $tmpfn = $_FILES["file"]["tmp_name"];
  if (!empty($tmpfn)) {
    system("mv $tmpfn /tmp/uploadtest.txt");
  }
  header("Location:http://www.google.com/");
}


function print_form($msg ="") {
  global $header, $footer;

  print <<<EOT
$header
<form enctype="multipart/form-data" method="post" action="/uploadfile.php">
File to Upload: <input type="file" name="file" value="">
<br><br>
<input type="submit" value="submit">
<br>
$footer

EOT;
}


?>

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CF092998EA82AE4D83AF9C9ECA9A8BDE02EB411A85>