|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #25942 When non-local OCILogon call fails, PEAR::SOAP enters recursive loop
Submitted: 2003-10-21 19:54 UTC Modified: 2004-09-01 16:45 UTC
From: jpatrin at pnicorp dot com Assigned: arnaud (profile)
Status: Not a bug Package: PEAR related
PHP Version: 4.3.3 OS: Linux
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.
Bug Type:
From: jpatrin at pnicorp dot com
New email:
PHP Version: OS:


 [2003-10-21 19:54 UTC] jpatrin at pnicorp dot com
Using PEAR::SOAP 0.8RC2.

When a SOAP Server class method calls a method (in the case I tested, it is the PEAR::DB::connect method) which calls OCILogon and it fails, the SOAP server enters an infinite loop (after the server function ends) and segfaults the apache child process. The infinite loop seems to be in Base::_serializeValue (logging the values, names, and types shows repetition of the same thing over and over).

If I do an OCILogon IN the server function, the soap server catches the error fine and returns it.

Another possible bug. If I do the OCILogon IN the server function and the length of the name of the server class and the length of the name of the function called add up to more than 29, the same segfault problem happens. For an example, try commenting out the OCILogon code (and commenting the PEAR::DB code) in the abcde function and adding 'y' to the class name.

None of this seems to happen when using mysql.

Reproduce code:
Sample scripts at URL provided.

Expected result:
Error: DB Error: connect failed

Actual result:
Error: curl_exec error 52 Empty reply from server


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2003-10-21 19:57 UTC] jpatrin at pnicorp dot com
I completely forgot to mention that if I set my own error handling function for the duration of the connect that this all works fine. This is shown in the example code given.

(This is very strange to me as I'm using the PEAR DB class, which does its own error handling.)
 [2003-10-27 15:35 UTC] jpatrin at pnicorp dot com
I have just tested it with mysql:// instead of oci8:// and the same thing happens. This looks more and more like a problem with PEAR::SOAP's error handling function.
 [2004-09-01 16:45 UTC]
if you are still experiencing this, can you move this on, as it is a little more likely the maintainer will see it.
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Mar 02 11:01:28 2024 UTC