From:             [EMAIL PROTECTED]
Operating system: Solaris-2.6
PHP version:      4.0.6
PHP Bug Type:     Reproducible crash
Bug description:  segfault in ociparse()

Using gcc-2.95.3
Configure line:
"./configure" \
"--enable-debug" \
"--enable-libgcc" \
"--with-apxs=/usr/local/apache/bin/apxs" \
"--without-mysql" \
"--enable-magic-quotes" \
"--enable-track-vars" \
"--enable-memory-limit" \
"--with-expat-dir=/usr/local" \
"--with-sablot=shared,/usr/local" \
"--with-oci8=shared,/oracle/product/817" \
"--with-curl=shared" \
"--with-zlib-dir=/local" \
"--with-dom=shared" \
"--enable-shmop"

oci8 and domxml modules currently loaded. Tried altering load order but no
difference.

Test script:

<?php
$db = ocilogon("massive","massive", "PLAT");
var_dump($db);

$sql = "SELECT SYSDATE FROM DUAL";
$stmt = ociparse($db, $sql);
var_dump($stmt);
?>


Ouput:
bash-2.05$ php -qe test.php
resource(3) of type (oci8 connection)
resource(4) of type (oci8 statement)
Segmentation Fault (core dumped)


GDB output when stepping thru:
0x24f64 in _start ()
(gdb)

Program received signal SIGSEGV, Segmentation fault.
Cannot access memory at address 0xef22b2c4.


and a backtrace from a core:
Program terminated with signal 11, Segmentation Fault.
Reading symbols from /usr/lib/libpam.so.1...done.
Reading symbols from /usr/lib/libdl.so.1...done.
Reading symbols from /usr/local/lib/libexpat.so.0...done.
Reading symbols from /usr/local/lib/libsablot.so.0...done.
Reading symbols from /usr/local/lib/libz.so...done.
Reading symbols from /usr/lib/libresolv.so.2...done.
Reading symbols from /usr/lib/libm.so.1...done.
Reading symbols from /usr/lib/libnsl.so.1...done.
Reading symbols from /usr/lib/libsocket.so.1...done.
Reading symbols from /usr/lib/libc.so.1...done.
Reading symbols from /usr/lib/libmp.so.2...done.
Reading symbols from /usr/platform/sun4u/lib/libc_psr.so.1...done.
Reading symbols from /usr/lib/nss_files.so.1...done.
#0  0xef22b2c4 in ?? ()
(gdb) bt
#0  0xef22b2c4 in ?? ()
#1  0xef4888ac in exit ()


However the script runs as you'll see from the output. the $stmt resource
gets printed. I suspect there's a problem in one of the oracle shutdown
functions but I don't know my way around c/gdb well enough
-- 
Edit bug report at: http://bugs.php.net/?id=13297&edit=1


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to