ID:               31533
 Updated by:       [EMAIL PROTECTED]
 Reported By:      martin dot pala at oskar dot cz
-Status:           Open
+Status:           Feedback
 Bug Type:         OCI8 related
 Operating System: Solaris + Linux
 PHP Version:      5.0.x
 Assigned To:      tony2001
 New Comment:

Give feedback when you have feedback. (Something else than 'we can
test..'. And next PHP 5 version is most likely 5.1 and there will not
be 5.0.5..



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

[2005-06-20 12:11:15] martin dot pala at oskar dot cz

Thanks for hint :)

Unfortunately, the servers are in production already and we can't use
development snapshot anymore ... we will wait for php-5.0.5 and test it
then.

Thanks,
Martin

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

[2005-06-15 23:44:14] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php5-STABLE-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5.0-win32-latest.zip



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

[2005-04-06 16:17:56] martin dot pala at oskar dot cz

... i forgot to underline the fact that it is related to persistent
connections only (as it is possible to see it from older comments ;)

"Classical" connections are not affected by this issue.

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

[2005-04-06 16:06:36] martin dot pala at oskar dot cz

... finaly we've found the problem :)

We were using the same tnsname to create two connections (to two
different schemes on the same DB) - the second initialization damaged
the oci session context (the physical connection is only one and is
shared).

Maybe php oci module should not allow to rewrite the existing oci
session context ...


Possible workaround is:

- either use different tnsname (alias) for each connection - it will
create several physical connections (one per tnsname)

- or consolidate the connections (don't use multiple connections to the
same tnsname)

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

[2005-04-06 10:36:46] martin dot pala at oskar dot cz

We have moved our application to linux (Redhat EL3), it is more stable
then on solaris, however the problem persist.

Current configuration is PHP-5.0.4 + Apache-2.0.46 + OCI instant client
10.1.0.3.

We now see the same crashes in OCI as on solaris. It happens when the
child wants to gracefuly exit in _oci_close_session:

--8<--
(gdb) bt
#0  0x015898f0 in kpufhndl0 () from
/usr/lib/oracle/10.1.0.3/client/lib/libclntsh.so.10.1
#0  0x015898f0 in kpufhndl0 () from
/usr/lib/oracle/10.1.0.3/client/lib/libclntsh.so.10.1
#1  0x015898a8 in kpufhndl () from
/usr/lib/oracle/10.1.0.3/client/lib/libclntsh.so.10.1
#2  0x015fa043 in OCIHandleFree () from
/usr/lib/oracle/10.1.0.3/client/lib/libclntsh.so.10.1
#3  0x0111c83a in _oci_close_session (session=0x1f78510) at
/usr/src/redhat/BUILD/php-5.0.4/ext/oci8/oci8.c:3007
#4  0x011f54ff in list_entry_destructor (ptr=0xb6a0bc24) at
/usr/src/redhat/BUILD/php-5.0.4/Zend/zend_list.c:178
#5  0x011f4248 in zend_hash_apply_deleter (ht=0xb69fe404,
p=0xb69fe434)
    at /usr/src/redhat/BUILD/php-5.0.4/Zend/zend_hash.c:574
#6  0x011f42ec in zend_hash_graceful_reverse_destroy (ht=0x1407754) at
/usr/src/redhat/BUILD/php-5.0.4/Zend/zend_hash.c:640
#7  0x011e3fd6 in shutdown_executor () at
/usr/src/redhat/BUILD/php-5.0.4/Zend/zend_execute_API.c:283
#8  0x011edaf4 in zend_deactivate () at
/usr/src/redhat/BUILD/php-5.0.4/Zend/zend.c:817
#9  0x011b8b66 in php_request_shutdown (dummy=0x0) at
/usr/src/redhat/BUILD/php-5.0.4/main/main.c:1216
#10 0x01216fc7 in php_handler (r=0xb72eb030) at
/usr/src/redhat/BUILD/php-5.0.4/sapi/apache2handler/sapi_apache2.c:590
#11 0x080685c5 in ap_run_handler ()
#12 0x08068bdf in ap_invoke_handler ()
#13 0x08065266 in ap_process_request ()
#14 0x080608bc in _start ()
#15 0xb72eb030 in ?? ()
#16 0x00000004 in ?? ()
#17 0xb72eb030 in ?? ()
#18 0x080722dc in ap_run_pre_connection ()
#19 0x08072195 in ap_run_process_connection ()
#20 0x08066ae1 in ap_graceful_stop_signalled ()
#21 0x08066c34 in ap_graceful_stop_signalled ()
#22 0x08066ed9 in ap_graceful_stop_signalled ()
#23 0x08067570 in ap_mpm_run ()
#24 0x0806da4f in main ()
--8<--

It seems that the session context was damaged:
--8<--
(gdb) frame 3
#3  0x0111c83a in _oci_close_session (session=0x1f78510) at
/usr/src/redhat/BUILD/php-5.0.4/ext/oci8/oci8.c:3007
3007                    );
(gdb) print session
$14 = (oci_session *) 0x1f78510
(gdb) print *session
$15 = {num = 11990016, persistent = 0 '\0', is_open = 0 '\0', exclusive
= 0 '\0', thread = 0 '\0', sessions_list = 0x0,
  server = 0x1a6eac6, pSession = 0x1882cae, pEnv = 0x1d40c08, charsetId
= 51142}
(gdb) print *session->server
$16 = {num = -2081649835, persistent = 2106149100, is_open =
-864712248,
  dbname = 0x8b08458b <Address 0x8b08458b out of bounds>, pServer =
0x4d8b0c55}
--8<--

=> it seems that the problem affects all systems, the session context
gets somehow corrupted.

Martin

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

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

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

Reply via email to