#25942 [Asn->Bgs]: When non-local OCILogon call fails, PEAR::SOAP enters recursive loop

From: Date: Wed, 01 Sep 2004 14:45:31 +0000
Subject: #25942 [Asn->Bgs]: When non-local OCILogon call fails, PEAR::SOAP enters recursive loop
References: 1  Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-33167@lists.php.net to get a copy of this message
ID: 25942 Updated by: alan_k@php.net Reported By: jpatrin at pnicorp dot com -Status: Assigned +Status: Bogus Bug Type: PEAR related Operating System: Linux PHP Version: 4.3.3 Assigned To: arnaud New Comment: if you are still experiencing this, can you move this on pear.php.net, as it is a little more likely the maintainer will see it. Previous Comments: ------------------------------------------------------------------------ [2003-10-27 15:35:57] 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. ------------------------------------------------------------------------ [2003-10-21 19:57:21] 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-21 19:54:39] jpatrin at pnicorp dot com Description: ------------ 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. http://www.reversefold.com/~papercrane/pearSoapError.tgz Expected result: ---------------- Error: DB Error: connect failed Actual result: -------------- Error: curl_exec error 52 Empty reply from server ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=25942&edit=1

« previous php.pear.dev (#33167) next »