#29652 [Com]: number of FD to ocius.msg is growing

From: Date: Thu, 16 Sep 2004 16:48:58 +0000
Subject: #29652 [Com]: number of FD to ocius.msg is growing
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-66306@lists.php.net to get a copy of this message
ID: 29652 Comment by: rvs at angara dot ru Reported By: yannick at agl dot fr Status: Feedback Bug Type: OCI8 related Operating System: Linux Redhat 7.3 PHP Version: 4.3.7 New Comment: Well the backtrace is quite simple: GNU gdb 6.2.1 This GDB was configured as "sparc-sun-solaris2.9"... Core was generated by `./php ./x.php'. Program terminated with signal 11, Segmentation fault. [SKIPPED READING SYMBOLS] (gdb) bt #0 0x002c4b74 in shutdown_memory_manager () #1 0x0027d3d0 in php_module_shutdown () #2 0x0033525c in main () Previous Comments: ------------------------------------------------------------------------ [2004-09-16 14:42:22] tony2001@php.net Please, generate a gdb backtrace, it works fine for me. ------------------------------------------------------------------------ [2004-09-16 14:35:01] rvs at angara dot ru Yes it works perfectly for FDs but introduces segfault at php shutdown, when I use the code: for ($i=0; $i < 200; $i++) { $c1 = @ociplogon($valid_user, $valid_password, $db); } Note that the credentials are valid here. It seems that the ENV handle is freed more than once somewhere :-) ------------------------------------------------------------------------ [2004-09-16 14:16:51] tony2001@php.net Well, yes, of course Solaris & Linux clients are different, but initial report states that this issue was reproduced under Linux. I updated the patch (revers the old one before applying this), you can get at the same URL. Btw, this version of the patch should fix another issue: it reports memleaks for me with ocilogon() and invalid password/login. Try it out and tell me if it works under Solaris. ------------------------------------------------------------------------ [2004-09-16 11:47:03] rvs at angara dot ru P.S. I think you can't reproduce this under Linux because of the Oracle Client software design for Linux may be quite different from Solaris' one. ------------------------------------------------------------------------ [2004-09-16 11:42:04] rvs at angara dot ru Tried your patch, it resolves the problem partially. In fact, only one bad case remains: C'. using ocilogon()/ociplogon() with invalid credentials. I mean if you use ocinlogon() with invalid credentials, all works because the ENV handle is freed for exclusive session explictly by your patch. So I suppose you should free ENV handle explicitly in the case of a failed connection/invalid logon also. Then all will work fine, hope :-) How about these patches for 4.3.x? Sergei ------------------------------------------------------------------------ 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/29652 -- Edit this bug report at http://bugs.php.net/?id=29652&edit=1

« previous php.bugs (#66306) next »