php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #28224 ghost processes <defunct> appearing after correct oracle login - logout
Submitted: 2004-04-30 00:14 UTC Modified: 2004-10-10 09:16 UTC
Votes:6
Avg. Score:3.2 ± 1.7
Reproduced:2 of 2 (100.0%)
Same Version:1 (50.0%)
Same OS:1 (50.0%)
From: michel02 at hotmail dot com Assigned:
Status: Wont fix Package: Oracle related
PHP Version: 4.3.6 OS: Sun Solaris 2.7
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If this is not your bug, you can add a comment by following this link.
If this is your bug, but you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: michel02 at hotmail dot com
New email:
PHP Version: OS:

 

 [2004-04-30 00:14 UTC] 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..

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2004-10-10 09:16 UTC] tony2001@php.net
ora module is outdated and is not maintained anymore.
Use OCI8 module instead. 
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Apr 20 14:01:29 2024 UTC