Ticket #171 (closed defect: wontfix)

Opened 2 years ago

Last modified 1 year ago

Apache Segfault

Reported by: nuxer Assigned to: bart
Priority: no-response Milestone: 0.9.6
Component: eAccelerator Version: 0.9.5
Keywords: Cc:

Description

With 0.9.5-rc1 (svn of 2006-Sep-08) on php 5.0.4 : shm_only mode.

extension="eaccelerator.so"
eaccelerator.shm_size="32"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="0"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="300"
eaccelerator.shm_prune_period="60"
eaccelerator.shm_only="1"
eaccelerator.compress="0"
eaccelerator.compress_level="9"

eacceleraor seems to work fine but from time to time, it makes all apache processes segfault for several minutes.

Here are some backtraces of the core dumps :

#0  0x4045cf16 in _efree ()
   from /usr/lib/apache/1.3/libphp5.so
(gdb) bt
#0  0x4045cf16 in _efree () from /usr/lib/apache/1.3/libphp5.so
#1  0x40c0ff41 in eaccelerator_clean_request () at /usr/local/src/eaccelerator-0.9.5/eaccelerator.c:1809
#2  0x40c10d24 in zm_deactivate_eaccelerator (type=1, module_number=24) at /usr/local/src/eaccelerator-0.9.5/eaccelerator.c:2210
#3  0x40473f76 in module_registry_cleanup () from /usr/lib/apache/1.3/libphp5.so
#4  0x40476ab8 in zend_hash_apply () from /usr/lib/apache/1.3/libphp5.so
#5  0x40470255 in zend_deactivate_modules () from /usr/lib/apache/1.3/libphp5.so
#6  0x4043a716 in php_request_shutdown () from /usr/lib/apache/1.3/libphp5.so
#7  0x40498cbc in apache_php_module_main () from /usr/lib/apache/1.3/libphp5.so
#8  0x40499690 in apache_php_module_main () from /usr/lib/apache/1.3/libphp5.so
#9  0x40499823 in apache_php_module_main () from /usr/lib/apache/1.3/libphp5.so
#10 0x080553c3 in ap_invoke_handler ()
#11 0x08068475 in ap_some_auth_required ()
#12 0x4063702e in mod_gzip_redir1_handler () from /usr/lib/apache/1.3/mod_gzip.so
#13 0x4063584e in mod_gzip_do_command () from /usr/lib/apache/1.3/mod_gzip.so
#14 0x080553c3 in ap_invoke_handler ()
#15 0x08068475 in ap_some_auth_required ()
#16 0x08068624 in ap_process_request ()
#17 0x08060bd2 in ap_child_terminate ()
#18 0x08060de7 in ap_child_terminate ()
#19 0x080610c7 in ap_child_terminate ()
#20 0x08061a48 in ap_child_terminate ()
#21 0x08061ff8 in main ()
#0  0x40496785 in zend_init_opcodes_handlers
    () from /usr/lib/apache/1.3/libphp5.so
(gdb) bt
#0  0x40496785 in zend_init_opcodes_handlers () from /usr/lib/apache/1.3/libphp5.so
#1  0x4048ed58 in zend_assign_to_variable_reference () from /usr/lib/apache/1.3/libphp5.so
#2  0x40490f38 in zend_fetch_obj_r_handler () from /usr/lib/apache/1.3/libphp5.so
#3  0x4048f649 in execute () from /usr/lib/apache/1.3/libphp5.so
#4  0x40467660 in zend_call_function () from /usr/lib/apache/1.3/libphp5.so
#5  0x4046703e in call_user_function_ex () from /usr/lib/apache/1.3/libphp5.so
#6  0x40419ca7 in zif_var_export () from /usr/lib/apache/1.3/libphp5.so
#7  0x4041a2d2 in php_var_serialize () from /usr/lib/apache/1.3/libphp5.so
#8  0x4041a393 in zif_serialize () from /usr/lib/apache/1.3/libphp5.so
#9  0x40492916 in zend_do_fcall_common_helper () from /usr/lib/apache/1.3/libphp5.so
#10 0x4048f649 in execute () from /usr/lib/apache/1.3/libphp5.so
#11 0x4049270d in zend_do_fcall_common_helper () from /usr/lib/apache/1.3/libphp5.so
#12 0x4048f649 in execute () from /usr/lib/apache/1.3/libphp5.so
#13 0x4049270d in zend_do_fcall_common_helper () from /usr/lib/apache/1.3/libphp5.so
#14 0x4048f649 in execute () from /usr/lib/apache/1.3/libphp5.so
#15 0x4049270d in zend_do_fcall_common_helper () from /usr/lib/apache/1.3/libphp5.so
#16 0x4048f649 in execute () from /usr/lib/apache/1.3/libphp5.so
#17 0x40470a99 in zend_execute_scripts () from /usr/lib/apache/1.3/libphp5.so
#18 0x4043b03d in php_execute_script () from /usr/lib/apache/1.3/libphp5.so
#19 0x40498ce9 in apache_php_module_main () from /usr/lib/apache/1.3/libphp5.so
#20 0x40499690 in apache_php_module_main () from /usr/lib/apache/1.3/libphp5.so
#21 0x40499823 in apache_php_module_main () from /usr/lib/apache/1.3/libphp5.so
#22 0x080553c3 in ap_invoke_handler ()
#23 0x08068475 in ap_some_auth_required ()
#24 0x4063702e in mod_gzip_redir1_handler () from /usr/lib/apache/1.3/mod_gzip.so
#25 0x4063584e in mod_gzip_do_command () from /usr/lib/apache/1.3/mod_gzip.so
#26 0x080553c3 in ap_invoke_handler ()
#27 0x08068475 in ap_some_auth_required ()
#28 0x08068624 in ap_process_request ()
#29 0x08060bd2 in ap_child_terminate ()
#30 0x08060de7 in ap_child_terminate ()
#31 0x080610c7 in ap_child_terminate ()
#32 0x08061a48 in ap_child_terminate ()
#33 0x08061ff8 in main ()

Change History

09/15/06 17:47:49 changed by bart

  • status changed from new to closed.
  • resolution set to fixed.

I think I nailed this bug. I've been searching for this one for months because there are a lot of similar bugeports on Sf.net It should be fixed in revision [272], that in the 0.9.5 branch and in trunk which will be 0.9.6

10/23/06 16:44:32 changed by m_adli

  • status changed from closed to reopened.
  • resolution deleted.

Hi bart,

I was so happy when I saw your post regarding the fix about a month ago.

BUT unfortunately the problem still exists. (revision 272 and even the latest release version 9.0.5) I have been testing it on our several busy servers and the problem happens almost every day. I can provide more info about the servers if required.

Thank you very much,

M. Adli

11/08/06 13:15:00 changed by bart

  • milestone changed from 0.9.5 to 0.9.6.

11/08/06 15:48:05 changed by bart

  • owner changed from somebody to bart.
  • priority changed from major to critical.
  • status changed from reopened to new.

Could you create a backtrace from this problem with debug symbols? I think I found an other case where eA memory and zend memory are mixed and freed wrongly.

02/13/07 16:26:49 changed by bart

  • priority changed from critical to no-response.

02/21/07 12:42:23 changed by bart

  • status changed from new to closed.
  • resolution set to wontfix.

No response to this report. Without extra information there is nothing we can do at the moment.