ID: 23040 Updated by: [EMAIL PROTECTED] Reported By: tim at danan dot com -Status: Closed +Status: Bogus -Bug Type: Reproducible crash +Bug Type: Apache related Operating System: Redhat 8 PHP Version: 4.3.1 New Comment:
Not bug in PHP -> bogus. Previous Comments: ------------------------------------------------------------------------ [2003-04-05 07:29:45] tim at danan dot com I'm marking this one as closed. It appears that the problem was in apache, not php. It looks like a couple of recent glibc rpm updates were the source of the problem. After rebuilding apache and php I haven't seen a seg faults in over 16 hours. Perviously I was seeing 5-10 per hour. Thank you to those of you who took the time to help me with this problem. ------------------------------------------------------------------------ [2003-04-04 08:38:14] tim at danan dot com AHA! I just checked the script (and all of it's includes). There is only one putenv call in the entire forum system. Perhaps these code snippets can provide some insight (I'm going to see if I can crash the server with a short script containing these functions). //included from a conf file $SERVER_TZ = "America/New_York"; // the potential offending code function set_tz($timezone) { if( $timezone ) @putenv("TZ=".$timezone); } // one of the fields in users is time_zone. All users are currently set to "America/New_York" function get_user_by_id($id) { qobj("SELECT * FROM fud2_users WHERE id=".$id, $this); if( empty($this->id) ) return; return $this->id; } // within this init function the set_tz function is called function init_user() { $s = new fud_session; $u = new fud_user; $s->cookie_get_session(); if ( $s->user_id && $s->user_id<2000000000 ) { if ( !$u->get_user_by_id($s->user_id) ) { $u=NULL; $s->delete_session(); } /* else NOP */ } else $u = NULL; if ( empty($u) && empty($s->id) ) $s->save_session(); $rv[0] = $s; if( !empty($u) ) { set_tz($u->time_zone); define('d_thread_view', (($GLOBALS['TREE_THREADS_ENABLE']=='N'||$u->default_view=='msg'||$u->default_view=='tree_msg')?'msg':'tree')); define('t_thread_view', (($GLOBALS['TREE_THREADS_ENABLE']=='N'||$u->default_view=='msg'||$u->default_view=='msg_tree')?'thread':'threadt')); q("UPDATE fud2_users SET last_visit=".__request_timestamp__." WHERE id=".$u->id); $rv[1] = $u; }else { set_tz($GLOBALS["SERVER_TZ"]); define('d_thread_view', (($GLOBALS['TREE_THREADS_ENABLE']=='N'||$GLOBALS['DEFAULT_THREAD_VIEW']=='msg'||$GLOBALS['DEFAULT_THREAD_VIEW']=='tree_msg')?'msg':'tree')); define('t_thread_view', (($GLOBALS['TREE_THREADS_ENABLE']=='N'||$GLOBALS['DEFAULT_THREAD_VIEW']=='msg'||$GLOBALS['DEFAULT_THREAD_VIEW']=='msg_tree')?'thread':'threadt')); $rv[1] = NULL; if( !empty($GLOBALS["rid"]) && empty($GLOBALS["HTTP_COOKIE_VARS"]["frm_referer_id"]) ) set_referer_cookie($GLOBALS["rid"]); } define('s', $s->ses_id); define('_rsid', 'rid='.$u->id.'&S='.s); define('_rsidl', 'rid='.$u->id.'&S='.s); define('_hs', '<input type="hidden" name="S" value="'.s.'">'); define('_uid', (($u->email_conf == 'Y')?$u->id:0)); return $rv; } ------------------------------------------------------------------------ [2003-04-04 08:13:21] tim at danan dot com I tried the cvs snapshot and I'm still seeing the seg faults. Is it possible that Apache is the problem here and not PHP? In other words, is the putenv setting with an enviroment variable for PHP or all of httpd? ------------------------------------------------------------------------ [2003-04-03 19:38:16] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php4-STABLE-latest.tar.gz For Windows: http://snaps.php.net/win32/php4-win32-STABLE-latest.zip There have been couple of dozen fixes that might have also fixed this. So please give the snapshot a go. ------------------------------------------------------------------------ [2003-04-03 16:49:02] [EMAIL PROTECTED] It looks like putenv() is the last thing called from PHP land before the crash, so that's a start. J ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/23040 -- Edit this bug report at http://bugs.php.net/?id=23040&edit=1