php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #59062 APC module makes Apache process to crash (SIGBUS)
Submitted: 2010-02-03 17:35 UTC Modified: 2016-08-31 15:27 UTC
Votes:1
Avg. Score:5.0 ± 0.0
Reproduced:1 of 1 (100.0%)
Same Version:0 (0.0%)
Same OS:0 (0.0%)
From: djo at pasteur dot fr Assigned: cmb (profile)
Status: Wont fix Package: APC (PECL)
PHP Version: Irrelevant OS: Solaris 10 U7 (Sparc)
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: djo at pasteur dot fr
New email:
PHP Version: OS:

 

 [2010-02-03 17:35 UTC] djo at pasteur dot fr
Description:
------------
APC module versions 3.1.2 and 3.1.3p1 when activated makes 
httpd process to crash with a SIGBUS 
signal.

OS : Solaris 10 Update 7 (Generic_142900-03) on SPARC-
Enterprise-T5120
Apache : httpd 2.2.14
PHP : 5.2.12 (I can provide configure command if needed)
Modules activated : iconv.so, mbstring.so, mcrypt.so, 
ftp.so, gettext.so, ldap.so
Compiler : GCC for Sun Systems 
(http://cooltools.sunsource.net/gcc/)

When activated in php.ini httpd processes start dying with 
SIGBUS signal, here is a backtrace : 

libc.so.1`kill+0x4
libc.so.1`__sighndlr+0xc
libc.so.1`call_user_handler+0x3b8
libc.so.1`sigacthandler+0x4c
mod_php5.so`zend_assign_to_variable+0x6b0
mod_php5.so`ZEND_ASSIGN_SPEC_CV_CONST_HANDLER+0x1c
mod_php5.so`execute+0x190
mod_php5.so`ZEND_INCLUDE_OR_EVAL_SPEC_TMP_HANDLER+0x310
mod_php5.so`execute+0x190
mod_php5.so`ZEND_INCLUDE_OR_EVAL_SPEC_TMP_HANDLER+0x310
mod_php5.so`execute+0x190
mod_php5.so`ZEND_INCLUDE_OR_EVAL_SPEC_TMP_HANDLER+0x310
mod_php5.so`execute+0x190
mod_php5.so`zend_execute_scripts+0x118
mod_php5.so`php_execute_script+0x340
mod_php5.so`php_handler+0x538
httpd`ap_run_handler+0x50
httpd`ap_invoke_handler+0xe8
httpd`ap_process_request+0x58
httpd`ap_process_http_connection+0x64

What I can't understand is that there is no "apc" code in 
the backtraces. Seems to be an integration 
issu between apc and php/zend.

APC 3.0.19 works fine in the same configuration.

The problem is reproducible (all I have to do is to activate 
apc.so)

PS : There is no 5.2.12 in the "php version" dropdown list 
in the bug report form.


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2010-03-02 10:17 UTC] strube at physik3 dot gwdg dot de
The following may have the same reason (address misalignment) as the bug you mention:
After having used APC-3.0.19 for a long time with PHP-5.2.x (x <= 13), I now tried APC-3.1.3p1. Running make test, the tests apc_bin_001 and apc_bin_002 failed, crashing with an address alignment error. This is a Sun SPARC machine, and SPARC (unlike x86) processors do not tolerate addresses (pointers) whose integer values are not a multiple of sizeof(variable_pointed_to). This seems not be taken into account in the memory allocation of apc_bin.c.
*** dbx-output for apc_bin_001 core file:
(dbx) where
=>[1] apc_unswizzle_bd(0x5a5ed0, 0x416db8b6, 0x22437b01, 0x5a5ed8, 0x416db8, 0x0), at 0xfe9a7a7c
  [2] apc_bin_load(0x1, 0x3, 0xfe9bc6f4, 0xffbfef7c, 0xffbfef84, 0x5a5ed0), at 0xfe9a8730
  [3] zif_apc_bin_load(0x2, 0x5a5998, 0x400, 0x3e3e8, 0x3aefbc, 0x59bb04), at 0xfe97e3a8
  [4] zend_do_fcall_common_helper_SPEC(0xffbff1f0, 0x53e938, 0x0, 0x8400, 0x0, 0x550838), at 0x3e19d4
  [5] execute(0x3e9b8c, 0x0, 0x0, 0x5960d8, 0x5a5628, 0xffbff1f0), at 0x3e0ea8
  [6] zend_execute_scripts(0x8, 0x0, 0x3, 0x8000, 0x0, 0x5960d8), at 0x3a0028
  [7] php_execute_script(0x0, 0x59b240, 0x0, 0xffbff860, 0x5a4c90, 0x8000), at 0x310c3c
  [8] main(0x7b20, 0x0, 0x596568, 0x7, 0x59b240, 0x8000), at 0x485aa0
*** dbx-output for apc_bin_002 core file:
(dbx) where
=>[1] apc_copy_op_array(0x5aabfb, 0xfc80a064, 0xffbfed70, 0x0, 0xff00, 0xff0000), at 0xfe986934
  [2] apc_bin_dump(0x690498, 0x0, 0x0, 0xfe9a6954, 0x5aab58, 0xfe9bdfe4), at 0xfe9a8238
  [3] zif_apc_bin_dump(0x2, 0x5a7218, 0x400, 0x3e80c, 0x3aefbc, 0x59bb2c), at 0xfe97df84
  [4] zend_do_fcall_common_helper_SPEC(0xffbff1b8, 0x53e938, 0x0, 0x8400, 0x0, 0x550838), at 0x3e19d4
  [5] execute(0x3e9b8c, 0x0, 0x0, 0x5960d8, 0x5a5910, 0xffbff1b8), at 0x3e0ea8
  [6] zend_execute_scripts(0x8, 0x0, 0x3, 0x8000, 0x0, 0x5960d8), at 0x3a0028
  [7] php_execute_script(0x0, 0x59b248, 0x0, 0xffbff828, 0x5a4cd8, 0x8000), at 0x310c3c
  [8] main(0x7b20, 0x0, 0x596568, 0x9, 0x59b248, 0x8000), at 0x485aa0
 [2014-10-17 10:31 UTC] hugo at domibay dot es
This Error does still occur on CentOS release 6.5 (Final) with php 5.4 and apc 3.1.15

Name        : php                          Relocations: (not relocatable)
Version     : 5.4.28                            Vendor: Remi Collet

Name        : php-pecl-apc                 Relocations: (not relocatable)
Version     : 3.1.15                            Vendor: Remi Collet

[Tue Oct 14 12:37:27 2014] [notice] child pid 7036 exit signal Bus error (7)
[Thu Oct 16 11:21:26 2014] [notice] child pid 22864 exit signal Bus error (7)
 [2016-08-31 15:27 UTC] cmb@php.net
-Status: Open +Status: Wont fix -Assigned To: +Assigned To: cmb
 [2016-08-31 15:27 UTC] cmb@php.net
According to <https://bugs.php.net/69618>, APC support has been
discontinued in favor of OPcache, APCu, the session upload
progress API and WinCache. Therefore this issue won't get fixed.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Dec 12 20:01:27 2024 UTC