ID: 25275 User updated by: rehsack at liwing dot de Reported By: rehsack at liwing dot de -Status: Feedback +Status: Open Bug Type: Reproducible crash Operating System: FreeBSD 5.1 i386 PHP Version: 4.3.3 New Comment:
egrep -v "^;" </usr/local/etc/php.ini | egrep -v '^$': [PHP] engine = On short_open_tag = On asp_tags = Off precision = 12 y2k_compliance = On output_buffering = 4096 output_handler = unserialize_callback_func= zlib.output_compression = Off implicit_flush = Off allow_call_time_pass_reference = Off safe_mode = Off safe_mode_include_dir = safe_mode_exec_dir = safe_mode_allowed_env_vars = PHP_ safe_mode_protected_env_vars = LD_LIBRARY_PATH disable_functions = highlight.string = #CC0000 highlight.comment = #FF9900 highlight.keyword = #006600 highlight.bg = #FFFFFF highlight.default = #0000CC highlight.html = #000000 expose_php = On max_execution_time = 3000 ; Maximum execution time of each script, in seconds memory_limit = 48M ; Maximum amount of memory a script may consume (8MB) error_reporting = E_ALL display_errors = On display_startup_errors = Off log_errors = Off track_errors = On warn_plus_overloading = On variables_order = "EGPCS" register_globals = Off register_argc_argv = Off post_max_size = 8M gpc_order = "GPC" magic_quotes_gpc = Off magic_quotes_runtime = Off magic_quotes_sybase = Off auto_prepend_file = auto_append_file = default_mimetype = "text/html" include_path = ".:/usr/local/lib/php:/usr/local/share/pear" doc_root = user_dir = extension_dir = /usr/local/lib/php/extensions/no-debug-non-zts-20020429/ enable_dl = On file_uploads = On upload_max_filesize = 2M allow_url_fopen = On [Syslog] define_syslog_variables = Off [mail function] SMTP = localhost sendmail_from = [EMAIL PROTECTED] [Java] [SQL] sql.safe_mode = Off [ODBC] odbc.allow_persistent = On odbc.check_persistent = On odbc.max_persistent = -1 odbc.max_links = -1 odbc.defaultlrl = 4096 odbc.defaultbinmode = 1 [MySQL] mysql.allow_persistent = On mysql.max_persistent = -1 mysql.max_links = -1 mysql.default_port = mysql.default_socket = mysql.default_host = mysql.default_user = mysql.default_password = [mSQL] msql.allow_persistent = On msql.max_persistent = -1 msql.max_links = -1 [PostgresSQL] pgsql.allow_persistent = On pgsql.auto_reset_persistent = Off pgsql.max_persistent = -1 pgsql.max_links = -1 [Sybase] sybase.allow_persistent = On sybase.max_persistent = -1 sybase.max_links = -1 sybase.min_error_severity = 10 sybase.min_message_severity = 10 sybase.compatability_mode = Off [Sybase-CT] sybct.allow_persistent = On sybct.max_persistent = -1 sybct.max_links = -1 sybct.min_server_severity = 10 sybct.min_client_severity = 10 [bcmath] bcmath.scale = 0 [browscap] [Informix] ifx.default_host = ifx.default_user = ifx.default_password = ifx.allow_persistent = On ifx.max_persistent = -1 ifx.max_links = -1 ifx.textasvarchar = 0 ifx.byteasvarchar = 0 ifx.charasvarchar = 0 ifx.blobinfile = 0 ifx.nullformat = 0 [Session] session.save_handler = files session.save_path = /tmp session.use_cookies = 1 session.name = PHPSESSID session.auto_start = 0 session.cookie_lifetime = 0 session.cookie_path = / session.cookie_domain = session.serialize_handler = php session.gc_probability = 1 session.gc_maxlifetime = 1440 session.referer_check = session.entropy_length = 0 session.entropy_file = session.cache_limiter = nocache session.cache_expire = 180 session.use_trans_sid = 1 url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" [MSSQL] mssql.allow_persistent = On mssql.max_persistent = -1 mssql.max_links = -1 mssql.min_error_severity = 10 mssql.min_message_severity = 10 mssql.compatability_mode = Off [Assertion] [Ingres II] ingres.allow_persistent = On ingres.max_persistent = -1 ingres.max_links = -1 ingres.default_database = ingres.default_user = ingres.default_password = [Verisign Payflow Pro] pfpro.defaulthost = "test-payflow.verisign.com" pfpro.defaultport = 443 pfpro.defaulttimeout = 30 [Sockets] sockets.use_system_read = On [com] [Printer] [mbstring] [FrontBase] [Zend] Previous Comments: ------------------------------------------------------------------------ [2003-08-28 06:33:06] [EMAIL PROTECTED] That script does not crash for me. What was the configure line you used to configure PHP? ------------------------------------------------------------------------ [2003-08-28 06:32:15] [EMAIL PROTECTED] <?php class FDefaultContentAccess { function InitFDefaultContentAccess() { $this->Flags |= 1; } } class FDirectContentAccess { function InitFDirectContentAccess() { $this->Flags |= 2; $this->Flags &= ~3; } } class FFilePhysicalAccess { var $Flags; function FFilePhysicalAccess( ) { aggregate( $this, "FDirectContentAccess" ); $this->InitFDirectContentAccess(); aggregate( $this, "FDefaultContentAccess" ); $this->InitFDefaultContentAccess(); } function CleanUp() { fwrite( STDERR, "before deaggregate\n"); deaggregate( $this ); fwrite( STDERR, "after deaggregate\n"); } } // end of class FFilePhysicalAccess $inst = new FFilePhysicalAccess(); $inst->CleanUp(); ?> ------------------------------------------------------------------------ [2003-08-27 11:35:16] rehsack at liwing dot de Description: ------------ When I excecute a test-skript on my workstation, php crashs. The crash is since php-4.3.3, prior releases or release candidates didn't. The information from gdb are: $ gdb --args php test/documenttest.php GNU gdb 5.2.1 (FreeBSD) Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-undermydesk-freebsd"... (gdb) run Starting program: /usr/local/bin/php test/documenttest.php Program received signal SIGBUS, Bus error. 0x08146eb5 in _efree (ptr=0x8a8828c) at /usr/ports/lang/php4/work/php-4.3.3/Zend/zend_alloc.c:259 259 REMOVE_POINTER_FROM_LIST(p); (gdb) The program is running. Exit anyway? (y or n) y [EMAIL PROTECTED] $ gdb --args php test/documenttest.php GNU gdb 5.2.1 (FreeBSD) Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-undermydesk-freebsd"... (gdb) run Starting program: /usr/local/bin/php test/documenttest.php Program received signal SIGBUS, Bus error. 0x08146eb5 in _efree (ptr=0x8a8828c) at /usr/ports/lang/php4/work/php-4.3.3/Zend/zend_alloc.c:259 259 REMOVE_POINTER_FROM_LIST(p); (gdb) bt #0 0x08146eb5 in _efree (ptr=0x8a8828c) at /usr/ports/lang/php4/work/php-4.3.3/Zend/zend_alloc.c:259 #1 0x081545d1 in _zval_dtor (zvalue=0x8a88280) at /usr/ports/lang/php4/work/php-4.3.3/Zend/zend_variables.c:61 #2 0x0814e03f in _zval_ptr_dtor (zval_ptr=0x8a88280) at /usr/ports/lang/php4/work/php-4.3.3/Zend/zend_execute_API.c:291 #3 0x0816188b in execute (op_array=0x837ac0c) at /usr/ports/lang/php4/work/php-4.3.3/Zend/zend_execute_locks.h:26 #4 0x081636b4 in execute (op_array=0x8261600) at /usr/ports/lang/php4/work/php-4.3.3/Zend/zend_execute.c:1660 #5 0x081636b4 in execute (op_array=0x863ef0c) at /usr/ports/lang/php4/work/php-4.3.3/Zend/zend_execute.c:1660 #6 0x081636b4 in execute (op_array=0x8397f8c) at /usr/ports/lang/php4/work/php-4.3.3/Zend/zend_execute.c:1660 #7 0x081636b4 in execute (op_array=0x864530c) at /usr/ports/lang/php4/work/php-4.3.3/Zend/zend_execute.c:1660 #8 0x081636b4 in execute (op_array=0x83b448c) at /usr/ports/lang/php4/work/php-4.3.3/Zend/zend_execute.c:1660 #9 0x081636b4 in execute (op_array=0x83a3e8c) at /usr/ports/lang/php4/work/php-4.3.3/Zend/zend_execute.c:1660 #10 0x081636b4 in execute (op_array=0x8982d8c) at /usr/ports/lang/php4/work/php-4.3.3/Zend/zend_execute.c:1660 #11 0x081636b4 in execute (op_array=0x827610c) at /usr/ports/lang/php4/work/php-4.3.3/Zend/zend_execute.c:1660 #12 0x081636b4 in execute (op_array=0x8276d8c) at /usr/ports/lang/php4/work/php-4.3.3/Zend/zend_execute.c:1660 #13 0x081636b4 in execute (op_array=0x8990300) at /usr/ports/lang/php4/work/php-4.3.3/Zend/zend_execute.c:1660 #14 0x081636b4 in execute (op_array=0x8964a0c) at /usr/ports/lang/php4/work/php-4.3.3/Zend/zend_execute.c:1660 #15 0x081651e7 in execute (op_array=0x8945c0c) at /usr/ports/lang/php4/work/php-4.3.3/Zend/zend_execute.c:2181 #16 0x081651e7 in execute (op_array=0x824598c) at /usr/ports/lang/php4/work/php-4.3.3/Zend/zend_execute.c:2181 #17 0x081651e7 in execute (op_array=0x824578c) at /usr/ports/lang/php4/work/php-4.3.3/Zend/zend_execute.c:2181 #18 0x081651e7 in execute (op_array=0x8232e8c) at /usr/ports/lang/php4/work/php-4.3.3/Zend/zend_execute.c:2181 #19 0x08155feb in zend_execute_scripts (type=8, retval=0x0, file_count=3) at /usr/ports/lang/php4/work/php-4.3.3/Zend/zend.c:885 #20 0x0812b0be in php_execute_script (primary_file=0xbfbff904) at /usr/ports/lang/php4/work/php-4.3.3/main/main.c:1723 #21 0x0816a568 in main (argc=2, argv=0xbfbff964) at /usr/ports/lang/php4/work/php-4.3.3/sapi/cli/php_cli.c:818 #22 0x0806c200 in _start () (gdb) display *p 1: *p = {pNext = 0xd0d0d0d0, pLast = 0xd0d0d0d0, size = 1355862224, cached = 1} (gdb) up #1 0x081545d1 in _zval_dtor (zvalue=0x8a88280) at /usr/ports/lang/php4/work/php-4.3.3/Zend/zend_variables.c:61 61 FREE_HASHTABLE(zvalue->value.obj.properties); (gdb) display zvalue->value 2: zvalue->value = {lval = -791621424, dval = -1.993854408381186e+81, str = { val = 0xd0d0d0d0 <Error reading address 0xd0d0d0d0: Bad address>, len = -791621424}, ht = 0xd0d0d0d0, obj = {ce = 0xd0d0d0d0, properties = 0xd0d0d0d0}} (gdb) up #2 0x0814e03f in _zval_ptr_dtor (zval_ptr=0x8a88280) at /usr/ports/lang/php4/work/php-4.3.3/Zend/zend_execute_API.c:291 291 zval_dtor(*zval_ptr); (gdb) display *zval_ptr 3: *zval_ptr = (zval *) 0xd0d0d0d0 (gdb) up #3 0x0816188b in execute (op_array=0x837ac0c) at /usr/ports/lang/php4/work/php-4.3.3/Zend/zend_execute_locks.h:26 26 zval_ptr_dtor(&EG(garbage)[--EG(garbage_ptr)]); (gdb) quit Reproduce code: --------------- Code is to long, but I can send a php.core file. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=25275&edit=1