ID:               35304
 User updated by:  matteo at beccati dot com
 Reported By:      matteo at beccati dot com
-Status:           Feedback
+Status:           Open
 Bug Type:         PDO related
 Operating System: Debian GNU/Linux testing/etch
 PHP Version:      5CVS-2005-11-20 (snap)
 New Comment:

good-ol:~/compile/php5-200511220530# sapi/cli/php -m
Segmentation fault

This is what main/internal_functions.c contains (initial and ending
comments were stripped):

/* $Id: internal_functions.c.in,v 1.30 2005/08/03 14:08:29 sniper Exp $
*/

#include "php.h"
#include "php_main.h"
#include "zend_modules.h"
#include "zend_compile.h"
#include <stdarg.h>
#include <stdlib.h>
#include <stdio.h>

#include "ext/libxml/php_libxml.h"
#include "ext/pcre/php_pcre.h"
#include "ext/ctype/php_ctype.h"
#include "ext/date/php_date.h"
#include "ext/dom/php_dom.h"
#include "ext/iconv/php_iconv.h"
#include "ext/pdo/php_pdo.h"
#include "ext/pdo_sqlite/php_pdo_sqlite.h"
#include "ext/posix/php_posix.h"
#include "ext/session/php_session.h"
#include "ext/simplexml/php_simplexml.h"
#include "ext/spl/php_spl.h"
#include "ext/standard/php_standard.h"
#include "ext/tokenizer/php_tokenizer.h"
#include "ext/xml/php_xml.h"


zend_module_entry *php_builtin_extensions[] = {
        phpext_xml_ptr,
        phpext_tokenizer_ptr,
        phpext_standard_ptr,
        phpext_spl_ptr,
        phpext_simplexml_ptr,
        phpext_session_ptr,
        phpext_posix_ptr,
        phpext_pdo_sqlite_ptr,
        phpext_pdo_ptr,
        phpext_iconv_ptr,
        phpext_dom_ptr,
        phpext_date_ptr,
        phpext_ctype_ptr,
        phpext_pcre_ptr,
        phpext_libxml_ptr,

};

#define EXTCOUNT
(sizeof(php_builtin_extensions)/sizeof(zend_module_entry *))


int php_register_internal_extensions(TSRMLS_D)
{
        return php_register_extensions(php_builtin_extensions, EXTCOUNT
TSRMLS_CC);
}


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

[2005-11-22 16:14:03] [EMAIL PROTECTED]

The initial trace sounds like a problem with the order in which the
extensions are loaded.
What does your main/internal_functions_cli.c file contain?

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

[2005-11-22 16:06:26] [EMAIL PROTECTED]

I still cannot replicate the problem, what does php -m show?

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

[2005-11-22 12:12:58] matteo at beccati dot com

good-ol:~/compile/php5-200511220530# gcc -v
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v
--enable-languages=c,c++,java,f95,objc,ada,treelang --prefix=/usr
--enable-shared --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --enable-nls
--program-suffix=-4.0 --enable-__cxa_atexit
--enable-libstdcxx-allocator=mt --enable-clocale=gnu
--enable-libstdcxx-debug --enable-java-gc=boehm --enable-java-awt=gtk
--enable-gtk-cairo
--with-java-home=/usr/lib/jvm/java-1.4.2-gcj-4.0-1.4.2.0/jre
--enable-mpfr --disable-werror --enable-checking=release
i486-linux-gnu
Thread model: posix
gcc version 4.0.2 (Debian 4.0.2-2)


I've replicated the issue on another machine:
roast:~/compile/php5-200511220930# gcc -v
Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.5/specs
Configured with: ../src/configure -v
--enable-languages=c,c++,java,f77,pascal,objc,ada,treelang
--prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info
--with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared
--enable-__cxa_atexit --with-system-zlib --enable-nls
--without-included-gettext --enable-clocale=gnu --enable-debug
--enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc
i486-linux
Thread model: posix
gcc version 3.3.5 (Debian 1:3.3.5-13)

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

[2005-11-22 10:47:03] [EMAIL PROTECTED]

Since neither me or Ilia can even reproduce this, you need to give us
more information:

1) What compiler are you using?
2) Can you reproduce this on some other machine?


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

[2005-11-22 09:41:11] matteo at beccati dot com

Still segfaulting. This is the valgrind output:

good-ol:~/compile/php5-200511220530# valgrind sapi/cli/php
==12191== Memcheck, a memory error detector for x86-linux.
==12191== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et
al.
==12191== Using valgrind-2.4.0, a program supervision framework for
x86-linux.
==12191== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et
al.
==12191== For more details, rerun with: -v
==12191==
==12191== Conditional jump or move depends on uninitialised value(s)
==12191==    at 0x1B8ECB13: (within /lib/ld-2.3.5.so)
==12191==    by 0x1B8E631C: (within /lib/ld-2.3.5.so)
==12191==    by 0x1B8F2BDD: (within /lib/ld-2.3.5.so)
==12191==    by 0x1B8E7675: (within /lib/ld-2.3.5.so)
==12191==    by 0x1B8E47C6: (within /lib/ld-2.3.5.so)
==12191==
==12191== Conditional jump or move depends on uninitialised value(s)
==12191==    at 0x1B8EC7D3: (within /lib/ld-2.3.5.so)
==12191==    by 0x1B8E631C: (within /lib/ld-2.3.5.so)
==12191==    by 0x1B8F2BDD: (within /lib/ld-2.3.5.so)
==12191==    by 0x1B8E7675: (within /lib/ld-2.3.5.so)
==12191==    by 0x1B8E47C6: (within /lib/ld-2.3.5.so)
==12191==
==12191== Conditional jump or move depends on uninitialised value(s)
==12191==    at 0x1B8EC6B6: (within /lib/ld-2.3.5.so)
==12191==    by 0x1B8E6376: (within /lib/ld-2.3.5.so)
==12191==    by 0x1B8F2BDD: (within /lib/ld-2.3.5.so)
==12191==    by 0x1B8E7675: (within /lib/ld-2.3.5.so)
==12191==    by 0x1B8E47C6: (within /lib/ld-2.3.5.so)
==12191==
==12191== Conditional jump or move depends on uninitialised value(s)
==12191==    at 0x1B8EC6C2: (within /lib/ld-2.3.5.so)
==12191==    by 0x1B8E6376: (within /lib/ld-2.3.5.so)
==12191==    by 0x1B8F2BDD: (within /lib/ld-2.3.5.so)
==12191==    by 0x1B8E7675: (within /lib/ld-2.3.5.so)
==12191==    by 0x1B8E47C6: (within /lib/ld-2.3.5.so)
==12191==
==12191== Conditional jump or move depends on uninitialised value(s)
==12191==    at 0x1B8EC7D3: (within /lib/ld-2.3.5.so)
==12191==    by 0x1B8E6376: (within /lib/ld-2.3.5.so)
==12191==    by 0x1B8F2BDD: (within /lib/ld-2.3.5.so)
==12191==    by 0x1B8E7675: (within /lib/ld-2.3.5.so)
==12191==    by 0x1B8E47C6: (within /lib/ld-2.3.5.so)
==12191==
==12191== Invalid read of size 4
==12191==    at 0x8200BA3: _zend_hash_add_or_update (zend_hash.c:213)
==12191==    by 0x80CE8E3: php_pdo_register_driver (pdo.c:170)
==12191==    by 0x80D8FF2: zm_startup_pdo_sqlite (pdo_sqlite.c:80)
==12191==    by 0x81FCDEA: zend_startup_module_ex (zend_API.c:1320)
==12191==    by 0x820210A: zend_hash_apply (zend_hash.c:664)
==12191==    by 0x81FCF79: zend_startup_modules (zend_API.c:1367)
==12191==    by 0x81BA459: php_module_startup (main.c:1533)
==12191==    by 0x82675A0: main (php_cli.c:655)
==12191==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==12191==
==12191== Process terminating with default action of signal 11
(SIGSEGV)
==12191==  Access not within mapped region at address 0x0
==12191==    at 0x8200BA3: _zend_hash_add_or_update (zend_hash.c:213)
==12191==    by 0x80CE8E3: php_pdo_register_driver (pdo.c:170)
==12191==    by 0x80D8FF2: zm_startup_pdo_sqlite (pdo_sqlite.c:80)
==12191==    by 0x81FCDEA: zend_startup_module_ex (zend_API.c:1320)
==12191==    by 0x820210A: zend_hash_apply (zend_hash.c:664)
==12191==    by 0x81FCF79: zend_startup_modules (zend_API.c:1367)
==12191==    by 0x81BA459: php_module_startup (main.c:1533)
==12191==    by 0x82675A0: main (php_cli.c:655)
==12191==
==12191== ERROR SUMMARY: 26 errors from 6 contexts (suppressed: 0 from
0)
==12191== malloc/free: in use at exit: 372210 bytes in 5550 blocks.
==12191== malloc/free: 5768 allocs, 218 frees, 409794 bytes allocated.
==12191== For counts of detected errors, rerun with: -v
==12191== searching for pointers to 5550 not-freed blocks.
==12191== checked 1145848 bytes.
==12191==
==12191== LEAK SUMMARY:
==12191==    definitely lost: 0 bytes in 0 blocks.
==12191==      possibly lost: 0 bytes in 0 blocks.
==12191==    still reachable: 372210 bytes in 5550 blocks.
==12191==         suppressed: 0 bytes in 0 blocks.
==12191== Reachable blocks (those to which a pointer was found) are not
shown.
==12191== To see them, rerun with: --show-reachable=yes
Segmentation fault

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

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

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

Reply via email to