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
Have you experienced this issue?
Rate the importance of this bug to you:

 [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

Add a Patch

Pull Requests

Add a Pull Request

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-2021 The PHP Group
All rights reserved.
Last updated: Mon Jan 25 01:01:23 2021 UTC