#26558 [Fbk->Opn]: High load of OCI-Calls crash on multiprocessor machine with Apache2

From: Date: Wed, 10 Dec 2003 10:56:15 +0000
Subject: #26558 [Fbk->Opn]: High load of OCI-Calls crash on multiprocessor machine with Apache2
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-51889@lists.php.net to get a copy of this message
ID: 26558 User updated by: k_becker at kat dot de Reported By: k_becker at kat dot de -Status: Feedback +Status: Open -Bug Type: Apache2 related +Bug Type: OCI8 related Operating System: Windows 2000 Adv. Server PHP Version: 4.3.4 New Comment: I tried the "MaxThreadsPerChild=1" from Bug#19517. No crashes, but Apache "... ran out of threads". Then set MaxRequestsPerChild 100000, ThreadsPerChild 100 and tried using the explicit Oracle address string from TNSnames.ora. This seems to work. Then tried php4-win32-STABLE-latest.zip of 2003-dec-10: Same result. I now have: Apache/1.3.28 (Win32) PHP/4.3.5-dev, OCI8 Revision: 1.183.2.7 on Windows 2000 adv. server build 2195 with MaxRequestsPerChild 100000, ThreadsPerChild 100. Temporary solution seems to be using the TNS address string in OCILogon("user", "pass", "(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))(CONNECT_DATA=(SID=xxx))") So, problem seems to be in the Oracle/Oci8 name resolving in concurrent OCILogon()'s from multiple Apache/PHP-threads. Previous Comments: ------------------------------------------------------------------------ [2003-12-09 06:09:35] sniper@php.net 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 Also, does this happen with anything else than oci8 ? ------------------------------------------------------------------------ [2003-12-09 04:38:27] k_becker at kat dot de Description: ------------ Platform: 4-CPU machine, Apache 2.0.39..48, PHP 4.3.x, Win 2000 Adv. server engl., OCI8, Oracle 8.1.7EE When issuing multiple Oracle-requests at once, the Apache client thread dies with protection fault (C0000005) without any further message from PHP, Oracle or Apache. Same code runs okay on one-CPU machine with same platform. Changing Apache to 1.3.28 helped. Could be a problem within the PHP for Apache2 parallelization on more than one CPU. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=26558&edit=1

« previous php.bugs (#51889) next »