PHP :: Bug #63171 :: Script hangs after max_execution_time

Bug #63171 Script hangs after max_execution_time
Submitted: 2012-09-27 11:36 UTC Modified: -
Votes:1
Avg. Score:3.0 ± 0.0
Reproduced:0 of 0 (0.0%)
From: remi@php.net Assigned:
Status: Closed Package: ODBC related
PHP Version: 5.4.7 OS: GNU/Linux
Private report: No CVE-ID: None

 [2012-09-27 11:36 UTC] remi@php.net

Description:
------------
As unixODBC functions are not async-signal-safe, nor safe to be longjmp'ed out, If a timeout occurs during an odbc calls, with a lock set, the PHP script will hangs.

I have a patch proposal, will submit a pull request.

Test script:
---------------
<?php
ini_set('max_execution_time', '1');
$db = odbc_connect('MySQL-test', 'root', '');
if (!$db) {
    print "failed to connect\n";
} else {
    while(true) {
	echo ".";
        $result = odbc_exec($db, 'SELECT * FROM mysql.user');
    }
}


Expected result:
----------------
$ php test.php
.............................................................................
.............................................................................
.............................................................................
.............................................................................
.............................................................................
....PHP Fatal error:  Maximum execution time of 1 second exceeded in /home/rcollet/git/php/php/Regression/bz594813-ODBC-execution-timeout-hang/bz594813.php on line 10
$ 

Actual result:
--------------
Same output, but script hangs, need to be killed.


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports

 [2016-03-17 12:43 UTC] remi@php.net

-Status: Open +Status: Closed