Edit report at http://bugs.php.net/bug.php?id=51659&edit=1
ID: 51659
Comment by: hempalex at gmail dot com
Reported by: uni_advisor at mail dot ru
Summary: received signal SIGSEGV php_cli.c:1373
Status: Open
Type: Bug
Package: InterBase related
Operating System: FreeBSD 7.3
PHP Version: Irrelevant
Block user comment: N
Private report: N
New Comment:
Firebird-2.1.3.18185-0 on FreeBSD 8.2 AMD64
Test code
<?php
$ib = ibase_connect('localhost:/db/test.fdb', 'USER', 'PASSWORD',
'WIN1251',
0, 3 );
print_r($ib);
?>
running:
# php test.php
Resource id #4
Segmentation fault (core dumped)
GDB backtrace from php.core
#0 0x0000000801f6a5b0 in ?? ()
#1 0x00000008013c2e74 in __cxa_finalize () from /lib/libc.so.7
#2 0x000000080136d097 in exit () from /lib/libc.so.7
#3 0x00000000006fc506 in main (argc=2, argv=0x7fffffffead8)
at /usr/ports/lang/php5/work/php-5.3.6/sapi/cli/php_cli.c:1395
Previous Comments:
------------------------------------------------------------------------
[2010-04-27 07:28:47] uni_advisor at mail dot ru
>set USE_ZEND_ALLOC=0
> valgrind --leak-check=full --show-reachable=yes
/usr/local/php-test/bin/php ./test1.php
==73138== Memcheck, a memory error detector
==73138== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et
al.
==73138== Using Valgrind-3.5.0 and LibVEX; rerun with -h for copyright
info
==73138== Command: /usr/local/php-test/bin/php ./test1.php
==73138==
1001----
1002----
1003----
Happy end
==73138== Jump to the invalid address stated on the next line
==73138== at 0x1A89590: ???
==73138== by 0x13D7593: __cxa_finalize (in /lib/libc.so.7)
==73138== by 0x1387AC6: exit (in /lib/libc.so.7)
==73138== by 0x6C64F5: main (php_cli.c:1394)
==73138== Address 0x1a89590 is not stack'd, malloc'd or (recently)
free'd
==73138==
==73138==
==73138== Process terminating with default action of signal 11
(SIGSEGV): dumping core
==73138== Access not within mapped region at address 0x1A89590
==73138== at 0x1A89590: ???
==73138== by 0x13D7593: __cxa_finalize (in /lib/libc.so.7)
==73138== by 0x1387AC6: exit (in /lib/libc.so.7)
==73138== by 0x6C64F5: main (php_cli.c:1394)
==73138== If you believe this happened as a result of a stack
==73138== overflow in your program's main thread (unlikely but
==73138== possible), you can try to increase the size of the
==73138== main thread stack using the --main-stacksize= flag.
==73138== The main thread stack size used in this run was 16777216.
==73138==
==73138== HEAP SUMMARY:
==73138== in use at exit: 7,042 bytes in 8 blocks
==73138== total heap usage: 8,338 allocs, 8,330 frees, 2,622,338 bytes
allocated
==73138==
==73138== 56 bytes in 1 blocks are still reachable in loss record 1 of
8
==73138== at 0x24A67B: malloc (in
/usr/local/lib/valgrind/vgpreload_memcheck-amd64-freebsd.so)
==73138== by 0x13CD771: ??? (in /lib/libc.so.7)
==73138== by 0x13CDD81: _nsyylex (in /lib/libc.so.7)
==73138== by 0x13CD01F: _nsyyparse (in /lib/libc.so.7)
==73138== by 0x13D2B76: nsdispatch (in /lib/libc.so.7)
==73138== by 0x139D8D3: getpwuid_r (in /lib/libc.so.7)
==73138== by 0x139D5C0: ??? (in /lib/libc.so.7)
==73138== by 0x1A8CD85: ???
==73138== by 0x1C69541: ???
==73138== by 0x1C6AF7E: ???
==73138== by 0x1C73B46: ???
==73138== by 0x1A9A389: ???
==73138==
==73138== 400 bytes in 1 blocks are still reachable in loss record 2 of
8
==73138== at 0x24A67B: malloc (in
/usr/local/lib/valgrind/vgpreload_memcheck-amd64-freebsd.so)
==73138== by 0x13CCC67: ??? (in /lib/libc.so.7)
==73138== by 0x13CD28A: _nsyyparse (in /lib/libc.so.7)
==73138== by 0x13D2B76: nsdispatch (in /lib/libc.so.7)
==73138== by 0x139D8D3: getpwuid_r (in /lib/libc.so.7)
==73138== by 0x139D5C0: ??? (in /lib/libc.so.7)
==73138== by 0x1A8CD85: ???
==73138== by 0x1C69541: ???
==73138== by 0x1C6AF7E: ???
==73138== by 0x1C73B46: ???
==73138== by 0x1A9A389: ???
==73138== by 0x1945220: ???
==73138==
==73138== 872 bytes in 1 blocks are still reachable in loss record 3 of
8
==73138== at 0x24A67B: malloc (in
/usr/local/lib/valgrind/vgpreload_memcheck-amd64-freebsd.so)
==73138== by 0x13BE873: __res_vinit (in /lib/libc.so.7)
==73138== by 0x13D208D: gethostbyname_r (in /lib/libc.so.7)
==73138== by 0x13D20EB: gethostbyname (in /lib/libc.so.7)
==73138== by 0x1C68CB3: ???
==73138== by 0x1C69401: ???
==73138== by 0x1C6966B: ???
==73138== by 0x1C6AF7E: ???
==73138== by 0x1C73B46: ???
==73138== by 0x1A9A389: ???
==73138== by 0x1945220: ???
==73138== by 0x1945897: ???
==73138==
==73138== 1,024 bytes in 1 blocks are still reachable in loss record 4
of 8
==73138== at 0x24A67B: malloc (in
/usr/local/lib/valgrind/vgpreload_memcheck-amd64-freebsd.so)
==73138== by 0x139D673: ??? (in /lib/libc.so.7)
==73138== by 0x1A8CD85: ???
==73138== by 0x1C69541: ???
==73138== by 0x1C6AF7E: ???
==73138== by 0x1C73B46: ???
==73138== by 0x1A9A389: ???
==73138== by 0x1945220: ???
==73138== by 0x1945897: ???
==73138== by 0x1945B9A: ???
==73138== by 0x609A98: zend_do_fcall_common_helper_SPEC
(zend_vm_execute.h:313)
==73138== by 0x60F6EE: ZEND_DO_FCALL_SPEC_CONST_HANDLER
(zend_vm_execute.h:1603)
==73138==
==73138== 1,024 bytes in 1 blocks are still reachable in loss record 5
of 8
==73138== at 0x24A67B: malloc (in
/usr/local/lib/valgrind/vgpreload_memcheck-amd64-freebsd.so)
==73138== by 0x13C3A7C: ??? (in /lib/libc.so.7)
==73138== by 0x1C68DBA: ???
==73138== by 0x1C69401: ???
==73138== by 0x1C6966B: ???
==73138== by 0x1C6AF7E: ???
==73138== by 0x1C73B46: ???
==73138== by 0x1A9A389: ???
==73138== by 0x1945220: ???
==73138== by 0x1945897: ???
==73138== by 0x1945B9A: ???
==73138== by 0x609A98: zend_do_fcall_common_helper_SPEC
(zend_vm_execute.h:313)
==73138==
==73138== 1,026 bytes in 1 blocks are still reachable in loss record 6
of 8
==73138== at 0x24A67B: malloc (in
/usr/local/lib/valgrind/vgpreload_memcheck-amd64-freebsd.so)
==73138== by 0x13CD784: ??? (in /lib/libc.so.7)
==73138== by 0x13CDD81: _nsyylex (in /lib/libc.so.7)
==73138== by 0x13CD01F: _nsyyparse (in /lib/libc.so.7)
==73138== by 0x13D2B76: nsdispatch (in /lib/libc.so.7)
==73138== by 0x139D8D3: getpwuid_r (in /lib/libc.so.7)
==73138== by 0x139D5C0: ??? (in /lib/libc.so.7)
==73138== by 0x1A8CD85: ???
==73138== by 0x1C69541: ???
==73138== by 0x1C6AF7E: ???
==73138== by 0x1C73B46: ???
==73138== by 0x1A9A389: ???
==73138==
==73138== 1,040 bytes in 1 blocks are still reachable in loss record 7
of 8
==73138== at 0x24A67B: malloc (in
/usr/local/lib/valgrind/vgpreload_memcheck-amd64-freebsd.so)
==73138== by 0x13D7622: ??? (in /lib/libc.so.7)
==73138== by 0x13D77B1: __cxa_atexit (in /lib/libc.so.7)
==73138== by 0x1A91968: ???
==73138== by 0x1A91992: ???
==73138== by 0x1CA1A46: ???
==73138== by 0x1FFFFFFFF: ???
==73138== by 0xFF00070FFFFFFFFF: ???
==73138== by 0xFF000C1000000006: ???
==73138== by 0xFF000BF800000006: ???
==73138== by 0x6: ???
==73138==
==73138== 1,600 bytes in 1 blocks are still reachable in loss record 8
of 8
==73138== at 0x24A67B: malloc (in
/usr/local/lib/valgrind/vgpreload_memcheck-amd64-freebsd.so)
==73138== by 0x13CCCEF: ??? (in /lib/libc.so.7)
==73138== by 0x13CD28A: _nsyyparse (in /lib/libc.so.7)
==73138== by 0x13D2B76: nsdispatch (in /lib/libc.so.7)
==73138== by 0x139D8D3: getpwuid_r (in /lib/libc.so.7)
==73138== by 0x139D5C0: ??? (in /lib/libc.so.7)
==73138== by 0x1A8CD85: ???
==73138== by 0x1C69541: ???
==73138== by 0x1C6AF7E: ???
==73138== by 0x1C73B46: ???
==73138== by 0x1A9A389: ???
==73138== by 0x1945220: ???
==73138==
==73138== LEAK SUMMARY:
==73138== definitely lost: 0 bytes in 0 blocks
==73138== indirectly lost: 0 bytes in 0 blocks
==73138== possibly lost: 0 bytes in 0 blocks
==73138== still reachable: 7,042 bytes in 8 blocks
==73138== suppressed: 0 bytes in 0 blocks
==73138==
==73138== For counts of detected and suppressed errors, rerun with: -v
==73138== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 30 from
3)
Segmentation fault
------------------------------------------------------------------------
[2010-04-27 01:22:01] [email protected]
#3 0x0000000000607cdc in main (argc=3, argv=0x7fffffffeb10)
at /usr/ports/lang/php5/work/php-5.2.12/sapi/cli/php_cli.c:1373
This position doesn't make much sense. I don't have interbase at hand to
test but maybe valgrind helps. Could you please install valgrind and
run
USE_ZEND_ALLOC=0 valgrind /path/to/bin/php /path/to/script.php
And paste the result?
------------------------------------------------------------------------
[2010-04-26 23:21:15] uni_advisor at mail dot ru
Try compile latest snapshot php5.3-201004261830
cd php5.3-201004261830
./configure --prefix=/usr/local/php-test --disable-all --enable-debug
make
make install
cd ext/interbase
./configure --with-phpconfig=/usr/local/php-test/bin/php-config
--with-interbase=/usr/local/firebird
make
make install
Fiebird info:
Firebird/InterBase Support => dynamic
Compile-time Client Library Version => Firebird API version 21
Run-time Client Library Version => FB-V6.3.3.18185 Firebird 2.1
gdb /usr/local/php-test/bin/php
set args -q test1.php
(gdb) run
Starting program: /usr/local/php-test/bin/php -q test1.php
1001----
1002----
1003----
Program received signal SIGSEGV, Segmentation fault.
0x000000080114c590 in ?? ()
(gdb) where
#0 0x000000080114c590 in ?? ()
#1 0x0000000800cc6594 in __cxa_finalize () from /lib/libc.so.7
#2 0x0000000800c76ac7 in exit () from /lib/libc.so.7
#3 0x00000000006c64f6 in main (argc=3, argv=0x7fffffffeb08)
at /usr/home/serg/src/php5.3-201004261830/sapi/cli/php_cli.c:1394
All manipulation before and after portsnap port update.
------------------------------------------------------------------------
[2010-04-25 11:35:41] uni_advisor at mail dot ru
Description:
------------
I am build Firebird-2.1.3.18185-0, install to /usr/local/firebird.
Create link /usr/interbase.
<?php
$host = 'localhost:employee';
$username = 'SYSDBA';
$password = 'masterkey';
$dbh = ibase_connect($host, $username, $password) or die("a1");
$stmt = 'SELECT first 3 * FROM customer';
$sth = ibase_query($dbh, $stmt) or die("a2");
while ($row = ibase_fetch_row($sth)) {
echo $row[0], "\n";
}
ibase_free_result($sth);
ibase_close($dbh);
?>
Output:
1001
1002
1003
IBase functions works, but Segmentation fault at the end.
gdb php core
bt
#0 0x0000000801649590 in ?? ()
#1 0x000000080120e594 in __cxa_finalize () from /lib/libc.so.7
#2 0x00000008011beac7 in exit () from /lib/libc.so.7
#3 0x0000000000607cdc in main (argc=3, argv=0x7fffffffeb10)
at /usr/ports/lang/php5/work/php-5.2.12/sapi/cli/php_cli.c:1373
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/bug.php?id=51659&edit=1