php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #75859 signal handler error promoted from error to fatal error, undocumented
Submitted: 2018-01-23 03:49 UTC Modified: -
Votes:1
Avg. Score:3.0 ± 0.0
Reproduced:1 of 1 (100.0%)
Same Version:0 (0.0%)
Same OS:0 (0.0%)
From: divinity76 at gmail dot com Assigned:
Status: Open Package: PCNTL related
PHP Version: 7.2.1 OS: Debian 9 x64and ubuntu 16.04 x64
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: divinity76 at gmail dot com
New email:
PHP Version: OS:

 

 [2018-01-23 03:49 UTC] divinity76 at gmail dot com
Description:
------------
somewhere between 7.0.21 and 7.2.1 , pcntl_signal failing by trying to install a handler for SIGKILL was promoted from a catchable E_??  to a fatal error, and it's not documented. and imo, it's not an improvement (yes, it's an error and it should be reported, but it shouldn't be a _fatal_ error)

and LawnGnome@freenode #php  said: 
<LawnGnome> (...) It appears to have been due to ZEND_SIGNALS being flipped to on by default in PHP 7.1.0, which changed the codepath that installs the signal handler to one that fatals on error instead of warning. (The reason for that in general was to support asynchronous signal handling.)
<LawnGnome> I'd suggest opening a bug at https://bugs.php.net/ — I don't know if the fix will be to change the behaviour of the signal handler installation or to update the docs, but obviously one or the other needs to happen.

Test script:
---------------
<?php
@pcntl_signal ( SIGKILL, "printf" );
echo "not fatal!";

Expected result:
----------------
not fatal!

Actual result:
--------------
(blank)

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2018-03-01 21:34 UTC] hasan dot paknia at gmail dot com
Just letting you know it's happening also on version 7.1:

# php -version
PHP 7.1.15 (cli) (built: Feb 28 2018 14:06:54) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.1.15, Copyright (c) 1999-2018, by Zend Technologies
    with Xdebug v2.6.0, Copyright (c) 2002-2018, by Derick Rethans

And I'm not able to install SIGSTOP handler:

// pcntl_signal(SIGSTOP, 'handleSignal');
Fatal error: Error installing signal handler for 19 in ...
 
PHP Copyright © 2001-2019 The PHP Group
All rights reserved.
Last updated: Thu Sep 19 02:01:27 2019 UTC