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] johan...@php.net

#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

Reply via email to