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] [EMAIL PROTECTED]

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] [EMAIL PROTECTED]

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

Reply via email to