php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #4231 Apache gets a SEGV; possibly related to arrays w/ object references
Submitted: 2000-04-24 22:00 UTC Modified: 2000-08-15 10:19 UTC
From: ewout at denouden dot com Assigned:
Status: Closed Package: Reproducible Crash
PHP Version: 4.0 Release Candidate 1 OS: RedHat Linux 5.1
Private report: No CVE-ID: None
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: ewout at denouden dot com
New email:
PHP Version: OS:

 

 [2000-04-24 22:00 UTC] ewout at denouden dot com
I don't have a 'short' script reproducing the problem at hand. Building a small CMS here and the source is a bit too big to include in this box. [Can send extract on request] What might help is the following.

Somewhere in the main script (www.mysite.tld/index.php) it says:

  $session = new Session ();
  $user = new User ($session->user);

This works; no crashes, and it creates a session and user object using data from a MySQL server. The User subsystem has a cache (a tree build with arrays pointing to the objects). For testing purposes I added the following, which should work: (user IDs are in the database etc etc)

  $a = new User (0);
  $b = new User (1);
  $c = new User (2);

$a still works, but after that ($b, $c) PHP gives up and crashes. See attached GDB dump. If you're interested in the offending script, send me a mail.

Note: I was working on a somewhat older Apache 1.3.9/PHP4.0b3 system and thought that might be the problem. Upgrading to 1.3.12/4.0RC1 gives exactly the same problem.

The Apache is a 1.3.12, clean except for an added mod_roaming. PHP is installed as a DSO module and --with-mysql.
The GDB backtrace:
(gdb) run -X
Starting program: /usr/local/packages/apache/./bin/httpd -X

Program received signal SIGSEGV, Segmentation fault.
zend_hash_clean (ht=0x810e714) at zend_hash.c:552
552                     p = p->pListNext;
(gdb) bt
#0  zend_hash_clean (ht=0x810e714) at zend_hash.c:552
#1  0x401890dc in execute (op_array=0x810b788) at ./zend_execute.c:1640
#2  0x40188f52 in execute (op_array=0x810b520) at ./zend_execute.c:1624
#3  0x40188f52 in execute (op_array=0x810b788) at ./zend_execute.c:1624
#4  0x40188f52 in execute (op_array=0x810b520) at ./zend_execute.c:1624
#5  0x40188f52 in execute (op_array=0x8106964) at ./zend_execute.c:1624
#6  0x401733d7 in php_execute_script (primary_file=0xbffff868) at main.c:1146
#7  0x4019f890 in apache_php_module_main (r=0x80fe84c, fd=19, display_source_mode=0)
    at sapi_apache.c:88
#8  0x401a0154 in send_php (r=0x80fe84c, display_source_mode=0, 
    filename=0x80fed94 "/www/HNO/index.php") at mod_php4.c:491
#9  0x401a0190 in send_parsed_php (r=0x80fe84c) at mod_php4.c:503
#10 0x806bec3 in ap_invoke_handler ()
#11 0x807f3f9 in process_request_internal ()
#12 0x807f818 in ap_internal_redirect ()
#13 0x8060b2d in handle_dir ()
#14 0x806bec3 in ap_invoke_handler ()
#15 0x807f3f9 in process_request_internal ()
#16 0x807f45c in ap_process_request ()
#17 0x8076cfe in child_main ()
#18 0x8076e8c in make_child ()
#19 0x8076fe9 in startup_children ()
#20 0x8077616 in standalone_main ()
#21 0x8077da3 in main ()
#22 0x4007bcb3 in __libc_start_main (main=0x8077a5c <main>, argc=2, argv=0xbffffab4, 
    init=0x804ec60 <_init>, fini=0x80abd7c <_fini>, rtld_fini=0x4000a350 <_dl_fini>, 
    stack_end=0xbffffaac) at ../sysdeps/generic/libc-start.c:78
(gdb) 

Apache log:
[Tue Apr 25 03:42:28 2000]  Script:  '/www/HNO/index.php'
---------------------------------------
zend_execute_API.c(217) : Block 0xBFFFF5C4 status:
Beginning:      Overrun (magic=0x40015000, expected=0x7312F8DC)
      End:      Unknown
---------------------------------------

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2000-07-23 03:18 UTC] joey at cvs dot php dot net
Can you try a more recent version?
 [2000-08-15 10:19 UTC] waldschrott@php.net
Closed due to missing user feedback.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Mon May 20 16:01:35 2024 UTC