php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #56966 Apache Child process crashes
Submitted: 2006-04-20 11:52 UTC Modified: 2017-01-10 08:31 UTC
From: swenkruiper at hotmail dot com Assigned:
Status: Suspended Package: BLENC (PECL)
PHP Version: 5.1.2 OS: Windows XP SP2
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.
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: swenkruiper at hotmail dot com
New email:
PHP Version: OS:

 

 [2006-04-20 11:52 UTC] swenkruiper at hotmail dot com
Description:
------------
I encountered a problem where my Apache Child process would crash and be restarted. The crash happend for me when include and / or require (also the _once versions of these 2) were called to files which didn't exist. This should have resulted in a warning or a fatal error but instead the error was only appended in the Apache error log and the Apache child process crashed.

After some searching i found out one of the php extensions was the culprit.

I disabled all the extensions and tested the extensions in batches. Eventually only one extension was enabled (the php_blenc.dll extension which came with pecl-5.1.2-Win32.zip). The moment i disabled this extension everything worked the way it should. But if it was enabled the problem was back.

Which version of Apache you use (Apache 1.3/2.0/2.2) doesn't matter. All of them have the same result.

I'm using both the pecl 5.1.2 and php 5.1.2 binary releases from the www.php.net website

Reproduce code:
---------------
<?php
echo 'test'; //lets generate some output to see whether the client browser receives any page

include('non-existant_file.php');
?>

Expected result:
----------------
The client browser will not receive the page because the Apache child process would have restarted discarding all existing requests.

Actual result:
--------------
Apache error log

[Thu Apr 20 17:43:03 2006] [notice] mod_security/1.9.3 configured
[Thu Apr 20 17:43:04 2006] [notice] Apache/2.2.0 (Win32) PHP/5.1.2 configured -- resuming normal operations
[Thu Apr 20 17:43:04 2006] [notice] Server built: Dec 11 2005 20:34:33
[Thu Apr 20 17:43:04 2006] [notice] Parent: Created child process 1048
[Thu Apr 20 17:43:05 2006] [notice] mod_security/1.9.3 configured
[Thu Apr 20 17:43:06 2006] [notice] Child 1048: Child process is running
[Thu Apr 20 17:43:06 2006] [notice] Child 1048: Acquired the start mutex.
[Thu Apr 20 17:43:06 2006] [notice] Child 1048: Starting 25 worker threads.
[Thu Apr 20 17:43:06 2006] [notice] Child 1048: Starting thread to listen on port 4716.
[Thu Apr 20 17:44:37 2006] [error] [client 192.168.0.240] PHP Warning:  include(non-existant_file.php) [<a href='http://www.php.net/manual/en/function.include.php'>function.include.php</a>]: failed to open stream: No such file or directory in H:\\webserver\\htdocs\\default\\blenc_bug.php on line 2
[Thu Apr 20 17:44:38 2006] [notice] Parent: child process exited with status 3221225477 -- Restarting.
[Thu Apr 20 17:44:39 2006] [notice] Apache/2.2.0 (Win32) PHP/5.1.2 configured -- resuming normal operations
[Thu Apr 20 17:44:39 2006] [notice] Server built: Dec 11 2005 20:34:33
[Thu Apr 20 17:44:39 2006] [notice] Parent: Created child process 4956
[Thu Apr 20 17:44:40 2006] [notice] mod_security/1.9.3 configured
[Thu Apr 20 17:44:41 2006] [notice] Child 4956: Child process is running
[Thu Apr 20 17:44:41 2006] [notice] Child 4956: Acquired the start mutex.
[Thu Apr 20 17:44:41 2006] [notice] Child 4956: Starting 25 worker threads.
[Thu Apr 20 17:44:41 2006] [notice] Child 4956: Starting thread to listen on port 4716.


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2008-03-26 07:46 UTC] php at stock-consulting dot com
The source code reveals that that blenc_compile() doesn't check for existance of the file prior to the compile attempt. Depending on the type (include or require), it should in that case thow an error or a warning, like the original compile_file() function of PHP.
 [2012-03-31 02:04 UTC] yohgaki@php.net
I think BLENC is obsolete now.
 [2012-03-31 02:04 UTC] yohgaki@php.net
-Status: Open +Status: Wont fix
 [2016-03-23 13:00 UTC] cmb@php.net
-Status: Wont fix +Status: Re-Opened
 [2016-03-23 13:00 UTC] cmb@php.net
Apparently, the development of BLENC has been resumed in the
meantime.
 [2017-01-10 08:31 UTC] kalle@php.net
-Status: Re-Opened +Status: Suspended
 [2017-01-10 08:31 UTC] kalle@php.net
I'm suspending the reports for BLENC as it doesn't seem to have stalled (looking at both repositories I could find on git.php.net and github) and it does not seem compatible with any currently supported version of PHP either. Please unsuspend in case someone takes over this extension
 
PHP Copyright © 2001-2021 The PHP Group
All rights reserved.
Last updated: Sun Nov 28 06:03:16 2021 UTC