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: 2011-03-12 13:00 UTC
From: dorin dot marcoci at gmail dot com Assigned:
Status: Open 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.
 
PHP Copyright © 2001-2019 The PHP Group
All rights reserved.
Last updated: Mon Dec 09 04:01:25 2019 UTC