php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #54229 call_user_func_array hangs script execution
Submitted: 2011-03-11 20:07 UTC Modified: 2020-02-09 04:22 UTC
From: dorin dot marcoci at gmail dot com Assigned: cmb (profile)
Status: No Feedback Package: Scripting Engine problem
PHP Version: 5.3.5 OS: Debian 6.0
Private report: No CVE-ID: None
Have you experienced this issue?
Rate the importance of this bug to you:

 [2011-03-11 20:07 UTC] dorin dot marcoci at gmail dot com
Description:
------------
After upgrading to v. 5.3.5 and executing code like in test script php hangs.
Chrome browser says: (net::ERR_EMPTY_RESPONSE): Unknown error.
Hangs occurs when I raise an exception in database trigger.
Raised exception from database appear in logs.
But any error related to call_user_func_array are not presend in the logs.
When SQL statement executes without exeption, there is no hang.
In prior versions 5.2 i didn't meet such hangs.

Test script:
---------------
$this->Cursor = call_user_func_array('ibase_execute', $this->Params);

Expected result:
----------------
Run properly, without engine hangs

Actual result:
--------------
Chrome browser says: (net::ERR_EMPTY_RESPONSE): Unknown error.

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2011-03-11 23:39 UTC] felipe@php.net
-Status: Open +Status: Feedback
 [2011-03-11 23:39 UTC] felipe@php.net
Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves. 

A proper reproducing script starts with <?php and ends with ?>,
is max. 10-20 lines long and does not require any external 
resources such as databases, etc. If the script requires a 
database to demonstrate the issue, please make sure it creates 
all necessary tables, stored procedures etc.

Please avoid embedding huge scripts into the report.


 [2011-03-12 13:00 UTC] dorin dot marcoci at gmail dot com
-Status: Feedback +Status: Open
 [2011-03-12 13:00 UTC] dorin dot marcoci at gmail dot com
Hello, and thanks for quick reaction.

I try to isolate this bug, and to make a reproductible test case, but it seems 
to be very difficult.

So, after more investigating i found some issues:

1. I suppose this bug is more related to script format itself, very very 
strange.

For example:

I run the folowing script:


<?

	error_reporting(E_ALL);
	ini_set('display_errors','On');
	
	require_once 'base.php';

			$S = 
				'insert into TD_RENT
				(
					ID,
					FDATE,
					FTIME,
					HOUSE_ID,
					PERIOD_FROM,
					PERIOD_TILL,
					STATUS_ID,
					PAYMODE_ID,
					AMOUNT,
					PERSONS,
					AGENT_NAME,
					AGENT_PHONE,
					AGENT_MAIL,
					AGENT_COUNTRY,
					NOTE
				)
				values
				(
					next value for GS_UNIVERSAL,
					current_date,
					current_timestamp,
					?, ?, ? - 1, 5, ?, ?, ?, ?, ?, ?, ?, ?
				) 
				returning ID';

	$P = array("100", "2011-03-12", "2011-03-31", "1", "2850.00", "1", "A", 
"asdasd", "asdasd", "asdasd", "WEB");

	$Q = DBQuery($S, $P);
	
?>

If i leave it intact hang appear. If i declare $S in one line, deleting some 
"tab" chars error dissapears.

Next, if I include directly content of base.php to make a test case, leaving $S 
as declared here, error disappears.

Also, if i rename base.php to any other name, for example mybase.php, untouching 
$S, error also dissapear, hwen i turn back, error appears, true mistical.

So, I'm affraid i can't make a reproductible test case in 10-20 lines :(

Maybe it is related to engine/parser, not function call_user_func_array, really 
don't know.

-
D.
 [2020-01-27 12:16 UTC] cmb@php.net
-Status: Open +Status: Feedback -Assigned To: +Assigned To: cmb
 [2020-01-27 12:16 UTC] cmb@php.net
Do you still experience this behavior with any of the actively
supported PHP versions[1]?

[1] <https://www.php.net/supported-versions.php>
 [2020-02-09 04:22 UTC] php-bugs at lists dot php dot net
No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Re-Opened". Thank you.
 
PHP Copyright © 2001-2020 The PHP Group
All rights reserved.
Last updated: Fri Aug 07 13:01:24 2020 UTC