Edit report at https://bugs.php.net/bug.php?id=60886&edit=1
ID: 60886
Comment by: sefer at hotmail dot com
Reported by: sefer at hotmail dot com
Summary: Random segmentation faults in autoload (PHP 5.3.9)
Status: Feedback
Type: Bug
Package: Reproducible crash
Operating System: Ubuntu Linux
PHP Version: 5.3.9
Block user comment: N
Private report: N
New Comment:
Hi
I will try to provide the autoload module (if I receive permission to).
I seem to be getting other stack traces that lead me to suspect the multibyte
module.
The [mbstring] section in our php.ini file doesn't contain any definitions, so
defaults apply.
I hope this provides another clue.
#0 _zend_mm_free_int (heap=0x30bd6f0, p=0x37b8fe0) at /home/sababa/t/php-
5.3.9/Zend/zend_alloc.c:2028
2028 if (ZEND_MM_IS_FREE_BLOCK(next_block)) {
#0 _zend_mm_free_int (heap=0x30bd6f0, p=0x37b8fe0) at /home/sababa/t/php-
5.3.9/Zend/zend_alloc.c:2028
#1 0x00007f030e3a92d7 in zend_multibyte_read_script (buf=0x7f0318495000
<Address 0x7f0318495000 out of bounds>, n=1445, tsrm_ls=0x2dc6800)
at Zend/zend_language_scanner.l:709
#2 0x00007f030e3a9410 in open_file_for_scanning (file_handle=0x7f02f87f7c40,
tsrm_ls=0x2dc6800) at Zend/zend_language_scanner.l:279
#3 0x00007f030e3a97f8 in compile_file (file_handle=0x7f02f87f7c40, type=8,
tsrm_ls=0x2dc6800) at Zend/zend_language_scanner.l:352
#4 0x00007f030e219366 in phar_compile_file (file_handle=0x7f02f87f7c40,
type=8,
tsrm_ls=0x2dc6800)
at /home/sababa/t/php-5.3.9/ext/phar/phar.c:3393
#5 0x00007f030e3dd266 in zend_execute_scripts (type=8, tsrm_ls=0x2dc6800,
retval=0x0, file_count=3)
at /home/sababa/t/php-5.3.9/Zend/zend.c:1228
#6 0x00007f030e380273 in php_execute_script (primary_file=0x7f02f87f7c40,
tsrm_ls=0x2dc6800) at /home/sababa/t/php-5.3.9/main/main.c:2308
#7 0x00007f030e476fb2 in php_handler (r=0x467ee10) at /home/sababa/t/php-
5.3.9/sapi/apache2handler/sapi_apache2.c:669
#8 0x0000000000438c48 in ap_run_handler (r=0x467ee10) at config.c:158
#9 0x000000000043908c in ap_invoke_handler (r=0x467ee10) at config.c:376
#10 0x000000000044565c in ap_internal_redirect (new_uri=<value optimized out>,
r=<value optimized out>) at http_request.c:554
#11 0x00007f030edf40fd in handler_redirect (r=0x4677970) at mod_rewrite.c:4838
#12 0x0000000000438c48 in ap_run_handler (r=0x4677970) at config.c:158
#13 0x000000000043908c in ap_invoke_handler (r=0x4677970) at config.c:376
#14 0x0000000000445fb0 in ap_process_request (r=0x4677970) at http_request.c:282
#15 0x0000000000443120 in ap_process_http_connection (c=0x4671278) at
http_core.c:190
#16 0x000000000043f568 in ap_run_process_connection (c=0x4671278) at
connection.c:43
#17 0x000000000044bb11 in process_socket (thd=0x18a33f0, dummy=<value optimized
out>) at worker.c:544
#18 worker_thread (thd=0x18a33f0, dummy=<value optimized out>) at worker.c:894
#19 0x00007f031731fd8c in start_thread (arg=0x7f02f87f8700) at
pthread_create.c:304
#20 0x00007f0316e6704d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#21 0x0000000000000000 in ?? ()
Previous Comments:
------------------------------------------------------------------------
[2012-01-27 09:40:43] [email protected]
Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves.
A proper reproducing script starts with <?php and ends with ?>,
is max. 10-20 lines long and does not require any external
resources such as databases, etc. If the script requires a
database to demonstrate the issue, please make sure it creates
all necessary tables, stored procedures etc.
Please avoid embedding huge scripts into the report.
I can't reproduce this out of the box. We're going to need to know at least
what's
in your autoload function to progress here, and preferably a self-contained
example.
------------------------------------------------------------------------
[2012-01-25 16:06:31] sefer at hotmail dot com
Description:
------------
Hi,
I have been experiencing sporadic segmentation faults in our PHP 5.3.8/9
(running as a module under Apache 2.2.21 in Ubuntu Linux ). We upgraded to PHP
5.3.9 but the random segmentation problems remain.
>From the core dump I see that this is happening in our autoload function.
Here's how we register the autoload call:
spl_autoload_register(array("AutoLoadCache", "autoload"));
class AutoLoadCache
{
static public function autoload($class_name)
{
...
}
}
This is how we built our PHP instance:
./configure --prefix=/opt/php-5.3.9 --with-apxs2=/opt/httpd/bin/apxs --enable-
zip --enable-zend-multibyte --enable-sysvshm --enable-sysvsem --enable-sysvmsg -
-with-openssl --with-zlib --enable-calendar --with-zlib --enable-ftp --enable-
intl --enable-intl --with-pgsql=/opt/postgresql --with-readline
--enable-sockets
--enable-sqlite-utf8 --enable-soap --with-mcrypt=/opt/libmcrypt --enable-
mbstring --with-curl --with-gd --enable-gd-native-ttf --with-freetype-dir --
with-gmp --with-gettext --with-jpeg-dir --with-png-dir
This is the stack trace:
Program terminated with signal 11, Segmentation fault.
#0 _zend_mm_alloc_int (heap=0x252ca10, size=112) at /home/rolley/t/php-
5.3.9/Zend/zend_alloc.c:1835
1835 heap->cache[index] = best_fit->prev_free_block;
(gdb) bt
#0 _zend_mm_alloc_int (heap=0x252ca10, size=112) at /home/rolley/t/php-
5.3.9/Zend/zend_alloc.c:1835
#1 0x00007f030e3e94ec in _zend_hash_add_or_update (ht=0x23b8e18, arKey=<value
optimized out>, nKeyLength=41, pData=0x7f03006d5fb8,
nDataSize=<value optimized out>, pDest=0x7f03006d5fc0, flag=1) at
/home/rolley/t/php-5.3.9/Zend/zend_hash.c:250
#2 0x00007f030e45baf5 in zend_symtable_update (result=0x4451880, container_ptr=
<value optimized out>, dim=0x23db538,
dim_is_tmp_var=<value optimized out>, type=1, tsrm_ls=0x252a410) at
/home/rolley/t/php-5.3.9/Zend/zend_hash.h:346
#3 zend_fetch_dimension_address_inner (result=0x4451880, container_ptr=<value
optimized out>, dim=0x23db538,
dim_is_tmp_var=<value optimized out>, type=1, tsrm_ls=0x252a410) at
/home/rolley/t/php-5.3.9/Zend/zend_execute.c:833
#4 zend_fetch_dimension_address (result=0x4451880, container_ptr=<value
optimized out>, dim=0x23db538,
dim_is_tmp_var=<value optimized out>, type=1, tsrm_ls=0x252a410) at
/home/rolley/t/php-5.3.9/Zend/zend_execute.c:903
#5 0x00007f030e465956 in ZEND_ASSIGN_DIM_SPEC_CV_CV_HANDLER
(execute_data=0x44514a0, tsrm_ls=0x252a410)
at /home/rolley/t/php-5.3.9/Zend/zend_vm_execute.h:29572
#6 0x00007f030e404377 in execute (op_array=0x23d4ad8, tsrm_ls=0x252a410) at
/home/rolley/t/php-5.3.9/Zend/zend_vm_execute.h:107
#7 0x00007f030e3cdf6f in zend_call_function (fci=0x7f03006d62c0, fci_cache=
<value optimized out>, tsrm_ls=0x252a410)
at /home/rolley/t/php-5.3.9/Zend/zend_execute_API.c:969
#8 0x00007f030e3f4c61 in zend_call_method (object_pp=0x0, obj_ce=<value
optimized out>, fn_proxy=0x23b9d68,
function_name=0x23cb488 "autoloadcache::autoload", function_name_len=<value
optimized out>, retval_ptr_ptr=0x7f03006d6408,
param_count=1, arg1=0x23d4930, arg2=0x0, tsrm_ls=0x252a410) at
/home/rolley/t/php-5.3.9/Zend/zend_interfaces.c:97
#9 0x00007f030e28e07c in zif_spl_autoload_call (ht=<value optimized out>,
return_value=<value optimized out>,
return_value_ptr=<value optimized out>, this_ptr=<value optimized out>,
return_value_used=<value optimized out>, tsrm_ls=0x252a410)
at /home/rolley/t/php-5.3.9/ext/spl/php_spl.c:405
#10 0x00007f030e3ce051 in zend_call_function (fci=0x7f03006d6610, fci_cache=
<value optimized out>, tsrm_ls=0x252a410)
at /home/rolley/t/php-5.3.9/Zend/zend_execute_API.c:991
#11 0x00007f030e3ce9db in zend_lookup_class_ex (name=0x23ba1e8
"DatabaseFactory", name_length=15, use_autoload=1, ce=0x7f03006d6728,
tsrm_ls=0x252a410) at /home/rolley/t/php-5.3.9/Zend/zend_execute_API.c:1126
#12 0x00007f030e3cf158 in zend_fetch_class (class_name=0x23ba1e8
"DatabaseFactory", class_name_len=15, fetch_type=0, tsrm_ls=0x252a410)
at /home/rolley/t/php-5.3.9/Zend/zend_execute_API.c:1568
#13 0x00007f030e42ed4b in ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_CONST_HANDLER
(execute_data=0x4450c78, tsrm_ls=0x252a410)
at /home/rolley/t/php-5.3.9/Zend/zend_vm_execute.h:2689
#14 0x00007f030e404377 in execute (op_array=0x23c3d88, tsrm_ls=0x252a410) at
/home/rolley/t/php-5.3.9/Zend/zend_vm_execute.h:107
#15 0x00007f030e3dd2f5 in zend_execute_scripts (type=8, tsrm_ls=0x252a410,
retval=0x0, file_count=3)
at /home/rolley/t/php-5.3.9/Zend/zend.c:1236
---Type <return> to continue, or q <return> to quit---
#16 0x00007f030e380273 in php_execute_script (primary_file=0x7f03006d8c40,
tsrm_ls=0x252a410) at /home/rolley/t/php-5.3.9/main/main.c:2308
#17 0x00007f030e476fb2 in php_handler (r=0x46f7510) at /home/rolley/t/php-
5.3.9/sapi/apache2handler/sapi_apache2.c:669
#18 0x0000000000438c48 in ap_run_handler (r=0x46f7510) at config.c:158
#19 0x000000000043908c in ap_invoke_handler (r=0x46f7510) at config.c:376
#20 0x000000000044565c in ap_internal_redirect (new_uri=<value optimized out>,
r=<value optimized out>) at http_request.c:554
#21 0x00007f030edf40fd in handler_redirect (r=0x45e81a0) at mod_rewrite.c:4838
#22 0x0000000000438c48 in ap_run_handler (r=0x45e81a0) at config.c:158
#23 0x000000000043908c in ap_invoke_handler (r=0x45e81a0) at config.c:376
#24 0x0000000000445fb0 in ap_process_request (r=0x45e81a0) at http_request.c:282
#25 0x0000000000443120 in ap_process_http_connection (c=0x2656368) at
http_core.c:190
#26 0x000000000043f568 in ap_run_process_connection (c=0x2656368) at
connection.c:43
#27 0x000000000044bb11 in process_socket (thd=0x18a32a0, dummy=<value optimized
out>) at worker.c:544
#28 worker_thread (thd=0x18a32a0, dummy=<value optimized out>) at worker.c:894
#29 0x00007f031731fd8c in start_thread (arg=0x7f03006d9700) at
pthread_create.c:304
#30 0x00007f0316e6704d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#31 0x0000000000000000 in ?? ()
I'd appreciate any insight as to what might be causing this, whether it's some
missing configuration on our end of some problem in PHP.
Thanks,
Sefer.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=60886&edit=1