php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #20022 OCI8 Recursive call!
Submitted: 2002-10-22 03:31 UTC Modified: 2007-07-04 11:25 UTC
Votes:10
Avg. Score:4.7 ± 0.6
Reproduced:8 of 8 (100.0%)
Same Version:5 (62.5%)
Same OS:2 (25.0%)
From: jesper at sivertsen dot org Assigned:
Status: No Feedback Package: OCI8 related
PHP Version: 4.3.0-dev OS: * (ZTS)
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 you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: jesper at sivertsen dot org
New email:
PHP Version: OS:

 

 [2002-10-22 03:31 UTC] jesper at sivertsen dot org
I have installed PHP as sapi on IIS.
I have Oracle 9.2.0.1.0 Enterprise edition.
I have removed all old PHP stuff, and reinstalled 4.2.3 from scratch.

When i try to run this script:

<?
echo "<li>Before OCILogon</li>";
$db = "ORCL";
$user = "system";
$pass = "***";
$con  = OCIPLogon("$user","$pass","$db");
echo "<li>After OCILogon</li>";
?>

I get this:

<li>Before OCILogon</li><br />
<b>Warning</b>:  OCI8 Recursive call!
 in <b>D:\Dokumenter\drift\oracle\session.php</b> on line <b>6</b><br />
PHP has encountered an Access Violation at 0165553E

Is 9i ( 9.2.0.1.0 ) supported ?


Best reagrds
Jesper


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-10-28 06:45 UTC] jesper at sivertsen dot org
Same problem in latest CVS:

Both 4.2.4-dev and 4.3.0-dev

Jesper
 [2002-10-28 07:47 UTC] thies@php.net
oracle9 is fully supported. 
 
does the same happen if you use php from the command line? 
 
BTW: what webserver are you using? 
 
 [2002-10-28 08:17 UTC] jesper at sivertsen dot org
Works OK from commandline !
 [2002-10-28 08:39 UTC] thies@php.net
as i don't use windows myself there's nothing i can do to 
help you. maybe try to find someone on php-db who has this 
setup working. 
 
 [2002-12-23 07:59 UTC] vivanov at tmsoft-ltd dot kiev dot ua
I have same problem with "OCI8 Recursive call".
This error happens when
PHP works as !ISAPI module! (not CGI) under IIS.

I just analyzed source and think I found where bug is.

In case of ISAPI module 
functions of this extension (and OCI8 calls) can be called _simultaneously_ (not recursive but parallel) from different threads. 
conclusion: following manner of using flag 'in_call' is erroneous:
---- ext/oci8.c -----
#define CALL_OCI(call) \
{ \
	if (OCI(in_call)) { \
		php_error(E_WARNING, "OCI8 Recursive call!\n"); \
		exit(-1); \
	} else { \
		OCI(in_call)=1; \
		call; \
		OCI(in_call)=0; \
	} \
}
#define CALL_OCI_RETURN(retcode,call) \
// ... similar code

I propose two alternatives:
1) remove away this checks
2) use some synchonization mechanizm instead

>as i don't use windows myself there's 
>nothing i can do to....
If need, I can provide help
-- 
P.S.
sorry about poor english... 
My native lang. is C/C++ ;)
 [2003-01-02 05:44 UTC] thies@php.net
OCI(in_call) is a thread-local variable. so it's only global the the current thread.


 [2004-06-18 12:28 UTC] FISHeR at smtp dot ru
PHP has encountered an Access Violation at {NUMBER}

Is 9i ( 9.2.0.1.0 ) supported ?

Windows 2000 / IIS 5.0 / isapi
 [2004-06-18 12:32 UTC] tony2001@php.net
>Is 9i ( 9.2.0.1.0 ) supported ?
yes

>PHP has encountered an Access Violation at {NUMBER}
any reproduce script ?
 [2005-09-16 01:00 UTC] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
 [2007-07-04 02:29 UTC] mjsee7707 at paran dot com
SERVER = IIS + php5.0.4 + oracle9.2

*********** php source ******************************************
$con_string = "(DESCRIPTION=(ADDRESS_LIST=(ADDRESS = (PROTOCOL= TCP)(HOST=localhost)(PORT=1521)))(CONNECT_DATA = (SERVICE_NAME=ORA9I)))"; 
$db_mw = ocilogon("test","test", $con_string); 


error ************************************

Warning : ocilogon() [function.ocilogon] : OCI8 Recursive call! 
Warning : PHP Shutdown : OCI8 Recursive call! 

Someday Suddenly appear error.
I don't know why error.
help me~~~
 [2007-07-04 11:25 UTC] tony2001@php.net
php5.0.4? Upgrade it ASAP!

 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Mon Dec 30 18:01:27 2024 UTC