[PHP-DEV] Bug #10299 Updated: CPU and Memory Spike

2001-05-20 Thread jmoore

ID: 10299
Updated by: jmoore
Reported By: [EMAIL PROTECTED]
Old-Status: Critical
Status: Analyzed
Bug Type: Performance problem
Operating system: 
PHP Version: 4.0.4pl1
Assigned To: 
Comments:

We cant reproduce this so not really critical, reutnring to analysed.

- James

Previous Comments:
---

[2001-05-17 09:05:32] [EMAIL PROTECTED]
I'm unable to reproduce a fd leak using require_once() or include_once().
Do you have any script that reproduces this problem?

We can't really replicate your problem in general, but if somehow there's a resource 
leak in your setup, lots of different weird things could end up happening.

---

[2001-05-09 01:08:11] [EMAIL PROTECTED]
What I found out is that using a lot of include_once, require_once + session will 
trigger the CPU and memory spike.  Add database access to the script can speed up the 
frequency of the spike.  And I also found out require_once DO leak memory.  pstat -T 
show that file in use will always increase.  Somehow require_once forgot to close the 
file after use.  lsof can give you a clear picture when you use require_once()

I changed my code using cookie and require() statement now.  And I delete all 
sess_files in /tmp seems to correct the problem.  This is the only change I made to 
eliminate the problem.

I can't reproduce the error now because the code that have problems have been changed 
and I don't have the backup.  But the combination of A lot of include_once, 
require_once, and session will trigger the spike, I am pretty sure because after I 
changed all that, the problem disappear.  Old session file in /tmp also contribute to 
the problem as well. 

BTW, the last time I checked, CVS version 4.06 in late April still have the problem.

---

[2001-05-08 19:26:01] [EMAIL PROTECTED]
Is this fairly reproducible?
If it is, any chance you could build Apache with debug information (--enable-debug in 
configure), attach to an offending process (gdb /path/to/httpd PID), and run a 
backtrace ('bt')?


---

[2001-05-07 12:44:51] [EMAIL PROTECTED]
marking critical for php 4.0.6

---

[2001-04-14 09:00:57] [EMAIL PROTECTED]
I found the problem.  since the script I use have a lot of include and require 
statement.  just a script include a bunch of files and keep reloading the page will 
kill the server in no time.  I attach a sample config file I usually include, just 
make a test.php and include this file like 10 times to simulate a lot of include 
files.  And then, just keep reloading test.php.  You should see the script take a lot 
of CPU time and eventually the httpd eat all the CPU time and the process hang.  From 
command top, one of the httpd process keep eating up CPU time.

The following is the sample config file 

?

/*Root directory */
$config[root_path] = /usr2/home/business/test/www;
$config[w3b_path] = /usr2/home/business/test/www/wwwthreads;
$config[data_path] = /usr2/home/business/test/data;
$config[rdf_path] = /usr2/home/business/test/www/rdf;


/* database */

include $config[root_path]./db.php;

/* global */
$config[sitename] = www.test.net; 
$config[root_url] = http://www.test.net/;;


// Cookie Setting
$config[cookie_path]  = /; # web root directory 
$config[CookieURL] = .test.net;
$config[cookieTTL] = 7200; // in seconds


$config[minpass]= 3;  # Minimum user password length in characters



/* language and locale */
$config[language]   = english;# [english] english, [big5] BIG5 code


$config[locale] = english;# Used for translation of date-related stuff

/* story control */
$config[commentmax] = 4096;
$config[abstractlen]= 4996; #length of abstract show on first page

$config[icon_width] = 100; # Topic icons width
$config[timezone] = HKT;  #Time zone


$config[limitnews]  = 10;   # default number of stories per page
$config[older_story_num]= 10;   # number of older stories to display

$config[anon_users] = 0; # 1 to allow anonymous postings
 # 0 to disable


/* theme control */

$config[def_theme]  = Main; # name of default theme (see themes/ directory for 
list)

/* mail settings */
$config[use_fake_email] = 1; # Displays fake email addresses for users instead of the 
real ones

$config[notifyEmail]= [EMAIL PROTECTED]; #address where you want to 
receive notice


//$config[CensorList]   = 
array('fuck','cunt','fucker','fucking','pussy','cock','c0ck','cum','bitch','shit');
$config[CensorList] = array(/fuck/s,/fuck/s,/fuck/s,

[PHP-DEV] Bug #10299 Updated: CPU and Memory Spike

2001-05-17 Thread zeev

ID: 10299
Updated by: zeev
Reported By: [EMAIL PROTECTED]
Status: Critical
Bug Type: Performance problem
Operating system: 
PHP Version: 4.0.4pl1
Assigned To: 
Comments:

I'm unable to reproduce a fd leak using require_once() or include_once().
Do you have any script that reproduces this problem?

We can't really replicate your problem in general, but if somehow there's a resource 
leak in your setup, lots of different weird things could end up happening.

Previous Comments:
---

[2001-05-09 01:08:11] [EMAIL PROTECTED]
What I found out is that using a lot of include_once, require_once + session will 
trigger the CPU and memory spike.  Add database access to the script can speed up the 
frequency of the spike.  And I also found out require_once DO leak memory.  pstat -T 
show that file in use will always increase.  Somehow require_once forgot to close the 
file after use.  lsof can give you a clear picture when you use require_once()

I changed my code using cookie and require() statement now.  And I delete all 
sess_files in /tmp seems to correct the problem.  This is the only change I made to 
eliminate the problem.

I can't reproduce the error now because the code that have problems have been changed 
and I don't have the backup.  But the combination of A lot of include_once, 
require_once, and session will trigger the spike, I am pretty sure because after I 
changed all that, the problem disappear.  Old session file in /tmp also contribute to 
the problem as well. 

BTW, the last time I checked, CVS version 4.06 in late April still have the problem.

---

[2001-05-08 19:26:01] [EMAIL PROTECTED]
Is this fairly reproducible?
If it is, any chance you could build Apache with debug information (--enable-debug in 
configure), attach to an offending process (gdb /path/to/httpd PID), and run a 
backtrace ('bt')?


---

[2001-05-07 12:44:51] [EMAIL PROTECTED]
marking critical for php 4.0.6

---

[2001-04-14 09:00:57] [EMAIL PROTECTED]
I found the problem.  since the script I use have a lot of include and require 
statement.  just a script include a bunch of files and keep reloading the page will 
kill the server in no time.  I attach a sample config file I usually include, just 
make a test.php and include this file like 10 times to simulate a lot of include 
files.  And then, just keep reloading test.php.  You should see the script take a lot 
of CPU time and eventually the httpd eat all the CPU time and the process hang.  From 
command top, one of the httpd process keep eating up CPU time.

The following is the sample config file 

?

/*Root directory */
$config[root_path] = /usr2/home/business/test/www;
$config[w3b_path] = /usr2/home/business/test/www/wwwthreads;
$config[data_path] = /usr2/home/business/test/data;
$config[rdf_path] = /usr2/home/business/test/www/rdf;


/* database */

include $config[root_path]./db.php;

/* global */
$config[sitename] = www.test.net; 
$config[root_url] = http://www.test.net/;;


// Cookie Setting
$config[cookie_path]  = /; # web root directory 
$config[CookieURL] = .test.net;
$config[cookieTTL] = 7200; // in seconds


$config[minpass]= 3;  # Minimum user password length in characters



/* language and locale */
$config[language]   = english;# [english] english, [big5] BIG5 code


$config[locale] = english;# Used for translation of date-related stuff

/* story control */
$config[commentmax] = 4096;
$config[abstractlen]= 4996; #length of abstract show on first page

$config[icon_width] = 100; # Topic icons width
$config[timezone] = HKT;  #Time zone


$config[limitnews]  = 10;   # default number of stories per page
$config[older_story_num]= 10;   # number of older stories to display

$config[anon_users] = 0; # 1 to allow anonymous postings
 # 0 to disable


/* theme control */

$config[def_theme]  = Main; # name of default theme (see themes/ directory for 
list)

/* mail settings */
$config[use_fake_email] = 1; # Displays fake email addresses for users instead of the 
real ones

$config[notifyEmail]= [EMAIL PROTECTED]; #address where you want to 
receive notice


//$config[CensorList]   = 
array('fuck','cunt','fucker','fucking','pussy','cock','c0ck','cum','bitch','shit');
$config[CensorList] = array(/fuck/s,/fuck/s,/fuck/s,
/[a-z]*fuck[a-z]*/is,
/[a-z]*cunt[a-z]*/is,
/[a-z]*pussy[a-z]*/is,
/[a-z]*cock[a-z]*/is,
/[a-z]*c0ck[a-z]*/is,

[PHP-DEV] Bug #10299 Updated: CPU and Memory Spike

2001-05-08 Thread zeev

ID: 10299
Updated by: zeev
Reported By: [EMAIL PROTECTED]
Status: Critical
Bug Type: Performance problem
Operating system: 
PHP Version: 4.0.4pl1
Assigned To: 
Comments:

Is this fairly reproducible?
If it is, any chance you could build Apache with debug information (--enable-debug in 
configure), attach to an offending process (gdb /path/to/httpd PID), and run a 
backtrace ('bt')?


Previous Comments:
---

[2001-05-07 12:44:51] [EMAIL PROTECTED]
marking critical for php 4.0.6

---

[2001-04-14 09:00:57] [EMAIL PROTECTED]
I found the problem.  since the script I use have a lot of include and require 
statement.  just a script include a bunch of files and keep reloading the page will 
kill the server in no time.  I attach a sample config file I usually include, just 
make a test.php and include this file like 10 times to simulate a lot of include 
files.  And then, just keep reloading test.php.  You should see the script take a lot 
of CPU time and eventually the httpd eat all the CPU time and the process hang.  From 
command top, one of the httpd process keep eating up CPU time.

The following is the sample config file 

?

/*Root directory */
$config[root_path] = /usr2/home/business/test/www;
$config[w3b_path] = /usr2/home/business/test/www/wwwthreads;
$config[data_path] = /usr2/home/business/test/data;
$config[rdf_path] = /usr2/home/business/test/www/rdf;


/* database */

include $config[root_path]./db.php;

/* global */
$config[sitename] = www.test.net; 
$config[root_url] = http://www.test.net/;;


// Cookie Setting
$config[cookie_path]  = /; # web root directory 
$config[CookieURL] = .test.net;
$config[cookieTTL] = 7200; // in seconds


$config[minpass]= 3;  # Minimum user password length in characters



/* language and locale */
$config[language]   = english;# [english] english, [big5] BIG5 code


$config[locale] = english;# Used for translation of date-related stuff

/* story control */
$config[commentmax] = 4096;
$config[abstractlen]= 4996; #length of abstract show on first page

$config[icon_width] = 100; # Topic icons width
$config[timezone] = HKT;  #Time zone


$config[limitnews]  = 10;   # default number of stories per page
$config[older_story_num]= 10;   # number of older stories to display

$config[anon_users] = 0; # 1 to allow anonymous postings
 # 0 to disable


/* theme control */

$config[def_theme]  = Main; # name of default theme (see themes/ directory for 
list)

/* mail settings */
$config[use_fake_email] = 1; # Displays fake email addresses for users instead of the 
real ones

$config[notifyEmail]= [EMAIL PROTECTED]; #address where you want to 
receive notice


//$config[CensorList]   = 
array('fuck','cunt','fucker','fucking','pussy','cock','c0ck','cum','bitch','shit');
$config[CensorList] = array(/fuck/s,/fuck/s,/fuck/s,
/[a-z]*fuck[a-z]*/is,
/[a-z]*cunt[a-z]*/is,
/[a-z]*pussy[a-z]*/is,
/[a-z]*cock[a-z]*/is,
/[a-z]*c0ck[a-z]*/is,
/[a-z]*shit[a-z]*/is,
/[a-z]*bitch[a-z]*/is,
/[a-z]*diu[a-z]*/is
);
# See also specific LOCALE definitions

$config[CensorMode]   = 3;  # 0: no filtering
# 1: exact match
# 2: match word beginnings
# 3: match string anywhere in words
$config[CensorReplace]   =  [CENSORED] ;

/* allowable HTML tags. Used by check_html()
   Happily lifted (with mods) from phpslash */
$config[AllowableHTML] = array(p=1,   # 2 means accept all qualifiers: foo bar
  b=1,# 1 means accept the tag only: foo
  i=1,
  a=2,
  em=1,
  br=1,
  strong=1,
  blockquote=1,
  img=2,
  tt=1,
  hr=1,
  li=1,
  ol=1,
  div=1,
  ul=1);

$config[AllowableHTMLtag] = 
b,i,a,em,br,strong,blockquote,tt,hr,li,ol,div,ul;


/* poll settings */

$config[maxOptions] = 12;   # maximal number of options allowed
$config[BarScale]   = 1;# scale of result bar (in multiples of 100 pixels)

$config[warnCheaters]   = 1;# 1 - a notice issued on vote second try
# 0 - silently ignores the vote

$config[maxOptions] = 10;


/* 

[PHP-DEV] Bug #10299 Updated: CPU and Memory Spike

2001-05-08 Thread goten

ID: 10299
User Update by: [EMAIL PROTECTED]
Status: Critical
Bug Type: Performance problem
Operating system: FreeBSD 4.2 Stable
PHP Version: 4.0.4pl1
Description: CPU and Memory Spike

What I found out is that using a lot of include_once, require_once + session will 
trigger the CPU and memory spike.  Add database access to the script can speed up the 
frequency of the spike.  And I also found out require_once DO leak memory.  pstat -T 
show that file in use will always increase.  Somehow require_once forgot to close the 
file after use.  lsof can give you a clear picture when you use require_once()

I changed my code using cookie and require() statement now.  And I delete all 
sess_files in /tmp seems to correct the problem.  This is the only change I made to 
eliminate the problem.

I can't reproduce the error now because the code that have problems have been changed 
and I don't have the backup.  But the combination of A lot of include_once, 
require_once, and session will trigger the spike, I am pretty sure because after I 
changed all that, the problem disappear.  Old session file in /tmp also contribute to 
the problem as well. 

BTW, the last time I checked, CVS version 4.06 in late April still have the problem.

Previous Comments:
---

[2001-05-08 19:26:01] [EMAIL PROTECTED]
Is this fairly reproducible?
If it is, any chance you could build Apache with debug information (--enable-debug in 
configure), attach to an offending process (gdb /path/to/httpd PID), and run a 
backtrace ('bt')?


---

[2001-05-07 12:44:51] [EMAIL PROTECTED]
marking critical for php 4.0.6

---

[2001-04-14 09:00:57] [EMAIL PROTECTED]
I found the problem.  since the script I use have a lot of include and require 
statement.  just a script include a bunch of files and keep reloading the page will 
kill the server in no time.  I attach a sample config file I usually include, just 
make a test.php and include this file like 10 times to simulate a lot of include 
files.  And then, just keep reloading test.php.  You should see the script take a lot 
of CPU time and eventually the httpd eat all the CPU time and the process hang.  From 
command top, one of the httpd process keep eating up CPU time.

The following is the sample config file 

?

/*Root directory */
$config[root_path] = /usr2/home/business/test/www;
$config[w3b_path] = /usr2/home/business/test/www/wwwthreads;
$config[data_path] = /usr2/home/business/test/data;
$config[rdf_path] = /usr2/home/business/test/www/rdf;


/* database */

include $config[root_path]./db.php;

/* global */
$config[sitename] = www.test.net; 
$config[root_url] = http://www.test.net/;;


// Cookie Setting
$config[cookie_path]  = /; # web root directory 
$config[CookieURL] = .test.net;
$config[cookieTTL] = 7200; // in seconds


$config[minpass]= 3;  # Minimum user password length in characters



/* language and locale */
$config[language]   = english;# [english] english, [big5] BIG5 code


$config[locale] = english;# Used for translation of date-related stuff

/* story control */
$config[commentmax] = 4096;
$config[abstractlen]= 4996; #length of abstract show on first page

$config[icon_width] = 100; # Topic icons width
$config[timezone] = HKT;  #Time zone


$config[limitnews]  = 10;   # default number of stories per page
$config[older_story_num]= 10;   # number of older stories to display

$config[anon_users] = 0; # 1 to allow anonymous postings
 # 0 to disable


/* theme control */

$config[def_theme]  = Main; # name of default theme (see themes/ directory for 
list)

/* mail settings */
$config[use_fake_email] = 1; # Displays fake email addresses for users instead of the 
real ones

$config[notifyEmail]= [EMAIL PROTECTED]; #address where you want to 
receive notice


//$config[CensorList]   = 
array('fuck','cunt','fucker','fucking','pussy','cock','c0ck','cum','bitch','shit');
$config[CensorList] = array(/fuck/s,/fuck/s,/fuck/s,
/[a-z]*fuck[a-z]*/is,
/[a-z]*cunt[a-z]*/is,
/[a-z]*pussy[a-z]*/is,
/[a-z]*cock[a-z]*/is,
/[a-z]*c0ck[a-z]*/is,
/[a-z]*shit[a-z]*/is,
/[a-z]*bitch[a-z]*/is,
/[a-z]*diu[a-z]*/is
);
# See also specific LOCALE definitions

$config[CensorMode]   = 3;  # 0: no filtering
# 1: exact match
# 2: match word beginnings

Re: [PHP-DEV] Bug #10299 Updated: CPU and Memory Spike

2001-05-08 Thread Cameron

i dont suppose this is a session garbage collection??


Cameron

[EMAIL PROTECTED] wrote:

 ID: 10299
 User Update by: [EMAIL PROTECTED]
 Status: Critical
 Bug Type: Performance problem
 Operating system: FreeBSD 4.2 Stable
 PHP Version: 4.0.4pl1
 Description: CPU and Memory Spike

 What I found out is that using a lot of include_once, require_once + session will 
trigger the CPU and memory spike.  Add database access to the script can speed up the 
frequency of the spike.  And I also found out require_once DO leak memory.  pstat -T 
show that file in use will always increase.  Somehow require_once forgot to close the 
file after use.  lsof can give you a clear picture when you use require_once()

 I changed my code using cookie and require() statement now.  And I delete all 
sess_files in /tmp seems to correct the problem.  This is the only change I made to 
eliminate the problem.

 I can't reproduce the error now because the code that have problems have been 
changed and I don't have the backup.  But the combination of A lot of include_once, 
require_once, and session will trigger the spike, I am pretty sure because after I 
changed all that, the problem disappear.  Old session file in /tmp also contribute to 
the problem as well.

 BTW, the last time I checked, CVS version 4.06 in late April still have the problem.

 Previous Comments:
 ---

 [2001-05-08 19:26:01] [EMAIL PROTECTED]
 Is this fairly reproducible?
 If it is, any chance you could build Apache with debug information (--enable-debug 
in configure), attach to an offending process (gdb /path/to/httpd PID), and run a 
backtrace ('bt')?

 ---

 [2001-05-07 12:44:51] [EMAIL PROTECTED]
 marking critical for php 4.0.6

 ---

 [2001-04-14 09:00:57] [EMAIL PROTECTED]
 I found the problem.  since the script I use have a lot of include and require 
statement.  just a script include a bunch of files and keep reloading the page will 
kill the server in no time.  I attach a sample config file I usually include, just 
make a test.php and include this file like 10 times to simulate a lot of include 
files.  And then, just keep reloading test.php.  You should see the script take a lot 
of CPU time and eventually the httpd eat all the CPU time and the process hang.  From 
command top, one of the httpd process keep eating up CPU time.

 The following is the sample config file

 ?

 /*Root directory */
 $config[root_path] = /usr2/home/business/test/www;
 $config[w3b_path] = /usr2/home/business/test/www/wwwthreads;
 $config[data_path] = /usr2/home/business/test/data;
 $config[rdf_path] = /usr2/home/business/test/www/rdf;

 /* database */

 include $config[root_path]./db.php;

 /* global */
 $config[sitename] = www.test.net;
 $config[root_url] = http://www.test.net/;;

 // Cookie Setting
 $config[cookie_path]  = /; # web root directory
 $config[CookieURL] = .test.net;
 $config[cookieTTL] = 7200; // in seconds

 $config[minpass]= 3;  # Minimum user password length in characters

 /* language and locale */
 $config[language]   = english;# [english] english, [big5] BIG5 code

 $config[locale] = english;# Used for translation of date-related stuff

 /* story control */
 $config[commentmax] = 4096;
 $config[abstractlen]= 4996; #length of abstract show on first page

 $config[icon_width] = 100; # Topic icons width
 $config[timezone] = HKT;  #Time zone

 $config[limitnews]  = 10;   # default number of stories per page
 $config[older_story_num]= 10;   # number of older stories to display

 $config[anon_users] = 0; # 1 to allow anonymous postings
  # 0 to disable

 /* theme control */

 $config[def_theme]  = Main; # name of default theme (see themes/ directory for 
list)

 /* mail settings */
 $config[use_fake_email] = 1; # Displays fake email addresses for users instead of 
the real ones

 $config[notifyEmail]= [EMAIL PROTECTED]; #address where you want to 
receive notice

 //$config[CensorList]   = 
array('fuck','cunt','fucker','fucking','pussy','cock','c0ck','cum','bitch','shit');
 $config[CensorList] = array(/fuck/s,/fuck/s,/fuck/s,
 /[a-z]*fuck[a-z]*/is,
 /[a-z]*cunt[a-z]*/is,
 /[a-z]*pussy[a-z]*/is,
 /[a-z]*cock[a-z]*/is,
 /[a-z]*c0ck[a-z]*/is,
 /[a-z]*shit[a-z]*/is,
 /[a-z]*bitch[a-z]*/is,
 /[a-z]*diu[a-z]*/is
 );
 # See also specific LOCALE definitions

 $config[CensorMode]   = 3;  # 0: no filtering
 # 1: exact match
   

Re: [PHP-DEV] Bug #10299 Updated: CPU and Memory Spike

2001-05-08 Thread Goten

I am not quite sure, but you can give a try.  Use require_once() include 
like 10 dummy config file, reload the script a couple times, and use lsof 
to check if your config files are still open.

Derek


At 03:04 PM 5/9/2001 +1000, Cameron wrote:
i dont suppose this is a session garbage collection??


Cameron

[EMAIL PROTECTED] wrote:

  ID: 10299
  User Update by: [EMAIL PROTECTED]
  Status: Critical
  Bug Type: Performance problem
  Operating system: FreeBSD 4.2 Stable
  PHP Version: 4.0.4pl1
  Description: CPU and Memory Spike
 
  What I found out is that using a lot of include_once, require_once + 
 session will trigger the CPU and memory spike.  Add database access to 
 the script can speed up the frequency of the spike.  And I also found out 
 require_once DO leak memory.  pstat -T show that file in use will always 
 increase.  Somehow require_once forgot to close the file after use.  lsof 
 can give you a clear picture when you use require_once()
 
  I changed my code using cookie and require() statement now.  And I 
 delete all sess_files in /tmp seems to correct the problem.  This is the 
 only change I made to eliminate the problem.
 
  I can't reproduce the error now because the code that have problems 
 have been changed and I don't have the backup.  But the combination of A 
 lot of include_once, require_once, and session will trigger the spike, I 
 am pretty sure because after I changed all that, the problem 
 disappear.  Old session file in /tmp also contribute to the problem as well.
 
  BTW, the last time I checked, CVS version 4.06 in late April still have 
 the problem.
 
  Previous Comments:
  ---
 
  [2001-05-08 19:26:01] [EMAIL PROTECTED]
  Is this fairly reproducible?
  If it is, any chance you could build Apache with debug information 
 (--enable-debug in configure), attach to an offending process (gdb 
 /path/to/httpd PID), and run a backtrace ('bt')?
 
  ---
 
  [2001-05-07 12:44:51] [EMAIL PROTECTED]
  marking critical for php 4.0.6
 
  ---
 
  [2001-04-14 09:00:57] [EMAIL PROTECTED]
  I found the problem.  since the script I use have a lot of include and 
 require statement.  just a script include a bunch of files and keep 
 reloading the page will kill the server in no time.  I attach a sample 
 config file I usually include, just make a test.php and include this file 
 like 10 times to simulate a lot of include files.  And then, just keep 
 reloading test.php.  You should see the script take a lot of CPU time and 
 eventually the httpd eat all the CPU time and the process hang.  From 
 command top, one of the httpd process keep eating up CPU time.
 
  The following is the sample config file
 
  ?
 
  /*Root directory */
  $config[root_path] = /usr2/home/business/test/www;
  $config[w3b_path] = /usr2/home/business/test/www/wwwthreads;
  $config[data_path] = /usr2/home/business/test/data;
  $config[rdf_path] = /usr2/home/business/test/www/rdf;
 
  /* database */
 
  include $config[root_path]./db.php;
 
  /* global */
  $config[sitename] = www.test.net;
  $config[root_url] = http://www.test.net/;;
 
  // Cookie Setting
  $config[cookie_path]  = /; # web root directory
  $config[CookieURL] = .test.net;
  $config[cookieTTL] = 7200; // in seconds
 
  $config[minpass]= 3;  # Minimum user password length in characters
 
  /* language and locale */
  $config[language]   = english;# [english] english, [big5] 
 BIG5 code
 
  $config[locale] = english;# Used for translation of 
 date-related stuff
 
  /* story control */
  $config[commentmax] = 4096;
  $config[abstractlen]= 4996; #length of abstract show on first page
 
  $config[icon_width] = 100; # Topic icons width
  $config[timezone] = HKT;  #Time zone
 
  $config[limitnews]  = 10;   # default number of stories per page
  $config[older_story_num]= 10;   # number of older stories to 
 display
 
  $config[anon_users] = 0; # 1 to allow anonymous postings
   # 0 to disable
 
  /* theme control */
 
  $config[def_theme]  = Main; # name of default theme (see themes/ 
 directory for list)
 
  /* mail settings */
  $config[use_fake_email] = 1; # Displays fake email addresses for users 
 instead of the real ones
 
  $config[notifyEmail]= [EMAIL PROTECTED]; #address where 
 you want to receive notice
 
  //$config[CensorList]   = 
 array('fuck','cunt','fucker','fucking','pussy','cock','c0ck','cum','bitch','shit');
  $config[CensorList] = array(/fuck/s,/fuck/s,/fuck/s,
  /[a-z]*fuck[a-z]*/is,
  /[a-z]*cunt[a-z]*/is,
  /[a-z]*pussy[a-z]*/is,
  /[a-z]*cock[a-z]*/is,

[PHP-DEV] Bug #10299 Updated: CPU and Memory Spike

2001-05-07 Thread derick

ID: 10299
Updated by: derick
Reported By: [EMAIL PROTECTED]
Old-Status: Open
Status: Critical
Bug Type: Performance problem
Operating system: 
PHP Version: 4.0.4pl1
Assigned To: 
Comments:

marking critical for php 4.0.6

Previous Comments:
---

[2001-04-14 09:00:57] [EMAIL PROTECTED]
I found the problem.  since the script I use have a lot of include and require 
statement.  just a script include a bunch of files and keep reloading the page will 
kill the server in no time.  I attach a sample config file I usually include, just 
make a test.php and include this file like 10 times to simulate a lot of include 
files.  And then, just keep reloading test.php.  You should see the script take a lot 
of CPU time and eventually the httpd eat all the CPU time and the process hang.  From 
command top, one of the httpd process keep eating up CPU time.

The following is the sample config file 

?

/*Root directory */
$config[root_path] = /usr2/home/business/test/www;
$config[w3b_path] = /usr2/home/business/test/www/wwwthreads;
$config[data_path] = /usr2/home/business/test/data;
$config[rdf_path] = /usr2/home/business/test/www/rdf;


/* database */

include $config[root_path]./db.php;

/* global */
$config[sitename] = www.test.net; 
$config[root_url] = http://www.test.net/;;


// Cookie Setting
$config[cookie_path]  = /; # web root directory 
$config[CookieURL] = .test.net;
$config[cookieTTL] = 7200; // in seconds


$config[minpass]= 3;  # Minimum user password length in characters



/* language and locale */
$config[language]   = english;# [english] english, [big5] BIG5 code


$config[locale] = english;# Used for translation of date-related stuff

/* story control */
$config[commentmax] = 4096;
$config[abstractlen]= 4996; #length of abstract show on first page

$config[icon_width] = 100; # Topic icons width
$config[timezone] = HKT;  #Time zone


$config[limitnews]  = 10;   # default number of stories per page
$config[older_story_num]= 10;   # number of older stories to display

$config[anon_users] = 0; # 1 to allow anonymous postings
 # 0 to disable


/* theme control */

$config[def_theme]  = Main; # name of default theme (see themes/ directory for 
list)

/* mail settings */
$config[use_fake_email] = 1; # Displays fake email addresses for users instead of the 
real ones

$config[notifyEmail]= [EMAIL PROTECTED]; #address where you want to 
receive notice


//$config[CensorList]   = 
array('fuck','cunt','fucker','fucking','pussy','cock','c0ck','cum','bitch','shit');
$config[CensorList] = array(/fuck/s,/fuck/s,/fuck/s,
/[a-z]*fuck[a-z]*/is,
/[a-z]*cunt[a-z]*/is,
/[a-z]*pussy[a-z]*/is,
/[a-z]*cock[a-z]*/is,
/[a-z]*c0ck[a-z]*/is,
/[a-z]*shit[a-z]*/is,
/[a-z]*bitch[a-z]*/is,
/[a-z]*diu[a-z]*/is
);
# See also specific LOCALE definitions

$config[CensorMode]   = 3;  # 0: no filtering
# 1: exact match
# 2: match word beginnings
# 3: match string anywhere in words
$config[CensorReplace]   =  [CENSORED] ;

/* allowable HTML tags. Used by check_html()
   Happily lifted (with mods) from phpslash */
$config[AllowableHTML] = array(p=1,   # 2 means accept all qualifiers: foo bar
  b=1,# 1 means accept the tag only: foo
  i=1,
  a=2,
  em=1,
  br=1,
  strong=1,
  blockquote=1,
  img=2,
  tt=1,
  hr=1,
  li=1,
  ol=1,
  div=1,
  ul=1);

$config[AllowableHTMLtag] = 
b,i,a,em,br,strong,blockquote,tt,hr,li,ol,div,ul;


/* poll settings */

$config[maxOptions] = 12;   # maximal number of options allowed
$config[BarScale]   = 1;# scale of result bar (in multiples of 100 pixels)

$config[warnCheaters]   = 1;# 1 - a notice issued on vote second try
# 0 - silently ignores the vote

$config[maxOptions] = 10;


/* story stuff */

$reasons = array('As is',   # Normal
'Offtopic', # Bad Responses
'Flamebait',
'Troll',
'Redundant',
'Insightful',   # Good Responses
'Interesting',
'Informative',