#20022 [Sus->Fbk]: OCI8 Recursive call!

From: Date: Thu, 08 Sep 2005 15:07:09 +0000
Subject: #20022 [Sus->Fbk]: OCI8 Recursive call!
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-84737@lists.php.net to get a copy of this message
ID: 20022 Updated by: sniper@php.net Reported By: jesper at sivertsen dot org -Status: Suspended +Status: Feedback Bug Type: OCI8 related Operating System: * (ZTS) PHP Version: 4.3.0-dev Previous Comments: ------------------------------------------------------------------------ [2004-06-18 12:32:20] tony2001@php.net >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] thies@php.net 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++ ;) ------------------------------------------------------------------------ [2002-10-28 08:39:42] 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. ------------------------------------------------------------------------ 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

« previous php.bugs (#84737) next »