#25942 [NEW]: When non-local OCILogon call fails, PEAR::SOAP enters recursive loop
| From: | jpatrin at pnicorp dot com | Date: | Tue, 21 Oct 2003 23:54:40 +0000 |
| Subject: | #25942 [NEW]: When non-local OCILogon call fails, PEAR::SOAP enters recursive loop | ||
| Groups: | php.pear.dev | ||
| Request: | Send a blank email to pear-dev+get-22880@lists.php.net to get a copy of this message | ||
From: jpatrin at pnicorp dot com
Operating system: Linux
PHP version: 4.3.3
PHP Bug Type: PEAR related
Bug description: When non-local OCILogon call fails, PEAR::SOAP enters recursive loop
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 bug report at http://bugs.php.net/?id=25942&edit=1
--
Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=25942&r=trysnapshot4
Try a CVS snapshot (php5): http://bugs.php.net/fix.php?id=25942&r=trysnapshot5
Fixed in CVS: http://bugs.php.net/fix.php?id=25942&r=fixedcvs
Fixed in release: http://bugs.php.net/fix.php?id=25942&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=25942&r=needtrace
Try newer version: http://bugs.php.net/fix.php?id=25942&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=25942&r=support
Expected behavior: http://bugs.php.net/fix.php?id=25942&r=notwrong
Not enough info: http://bugs.php.net/fix.php?id=25942&r=notenoughinfo
Submitted twice: http://bugs.php.net/fix.php?id=25942&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=25942&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=25942&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=25942&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=25942&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=25942&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=25942&r=float