ID:               20022
 Comment by:       mjsee7707 at paran dot com
 Reported By:      jesper at sivertsen dot org
 Status:           No Feedback
 Bug Type:         OCI8 related
 Operating System: * (ZTS)
 PHP Version:      4.3.0-dev
 New Comment:

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~~~


Previous Comments:
------------------------------------------------------------------------

[2005-09-16 01:00:02] 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".

------------------------------------------------------------------------

[2004-06-18 12:32:20] [EMAIL PROTECTED]

>Is 9i ( 9.2.0.1.0 ) supported ?
yes

>PHP has encountered an Access Violation at {NUMBER}
any reproduce script ?

------------------------------------------------------------------------

[2004-06-18 12:28:32] 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

------------------------------------------------------------------------

[2003-01-02 05:44:19] [EMAIL PROTECTED]

OCI(in_call) is a thread-local variable. so it's only global the the
current thread.



------------------------------------------------------------------------

[2002-12-23 07:59:47] 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++ ;)

------------------------------------------------------------------------

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/20022

-- 
Edit this bug report at http://bugs.php.net/?id=20022&edit=1

Reply via email to