#28224 [Opn->WFx]: ghost processes <defunct> appearing after correct oracle login - logout

From: Date: Sun, 10 Oct 2004 07:17:00 +0000
Subject: #28224 [Opn->WFx]: ghost processes <defunct> appearing after correct oracle login - logout
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-67352@lists.php.net to get a copy of this message
 ID:               28224
 Updated by:       tony2001@php.net
 Reported By:      michel02 at hotmail dot com
-Status:           Open
+Status:           Wont fix
 Bug Type:         Oracle related
 Operating System: Sun Solaris 2.7
 PHP Version:      4.3.6
 New Comment:

ora module is outdated and is not maintained anymore.
Use OCI8 module instead. 


Previous Comments:
------------------------------------------------------------------------

[2004-04-30 00:14:28] michel02 at hotmail dot com

Description:
------------
When connecting/disconnecting to oracle with each (successfull)
ora_logon session after decent logoff an additional ghost process
called <defunct> will appear. After serving several pages these
processes will appear in huge numbers. Only after Apache shutdown these
processes are dissapearing.

PHP is compiled with:

LD_LIBRARY_PATH=/usr/local/lib:/usr/local/ssl/lib

./configure --prefix=/usr/local/php-4_3_6
--with-apxs2=/export/home/local/apache_2_0_48/bin/apxs --with-
oracle=/export/home/oracle/product/7.3.4 --with-openssl=/usr/local/ssl
--enable-ftp --enable-sigchild

OS: Sun Solaris 2.7
ORACLE version = 7.3.4
PHP version = 4.3.6
Apache version 2.0.48

When using PHP3 these ghost processes are not appearing is not the
case. Is there a solution? Maybe it is a bug of php4?

Reproduce code:
---------------
<?php
// ORACLE Login
function Login() {
    $oracle_conn = ora_logon('oracle_username', 'oracle_passwd');
    if(!$oracle_conn) { Error("Can't connect to database."); }
    ora_commitoff($oracle_conn);
    $oracle_curs = ora_open($oracle_conn);
}

// ORACLE Logout
function Logout() {
    if ($oracle_conn) ora_logoff($oracle_conn);
    if ($oracle_curs) ora_close($oracle_curs);
}
Login();
Logout();
?>

Expected result:
----------------
a normal login and logout to oracle, no additional ghost processes
appear in the ps -ef|grep defunct list.

Actual result:
--------------
each time code is run a new <defunct> ghost process is started: ps
-ef|grep def
    root   419   406  0                   0:00 <defunct>
  oracle 27661 27579  0                   0:00 <defunct>
  oracle 27595 27579  0                   0:00 <defunct>
  oracle 27663 27579  0                   0:00 <defunct>
  oracle 27659 27579  0                   0:00 <defunct>
    root 27672   718  0 00:09:04 pts/1    0:00 grep def
  oracle 27670 27579  0                   0:00 <defunct>
  oracle 27662 27579  0                   0:00 <defunct>
  oracle 27669 27579  0                   0:00 <defunct>
  oracle 27660 27579  0                   0:00 <defunct>
  oracle 27584 27579  0                   0:00 <defunct>
  oracle 27668 27579  0                   0:00 <defunct>
  oracle 27585 27579  0                   0:00 <defunct>
etc., etc..


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=28224&edit=1


Thread (2 messages)

« previous php.bugs (#67352) next »