Bug #74223 [Com]: db2 table locks during commit after hitting max_execution_time

From: Date: Wed, 08 Mar 2017 10:14:45 +0000
Subject: Bug #74223 [Com]: db2 table locks during commit after hitting max_execution_time
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-207744@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=74223&edit=1 ID: 74223 Comment by: spam2 at rhsoft dot net Reported by: giacomo dot fontanella at carige dot it Summary: db2 table locks during commit after hitting max_execution_time Status: Open Type: Bug Package: PDO ODBC Operating System: windows server 2008 R2 PHP Version: 5.6.30 Block user comment: N Private report: N New Comment: > PHP: 5.6.30 > Seems similar to bug #63576, reported for php 5.3.16 PHP 5.6 is as you should know EOL and won't get any updates except high critial security patches Previous Comments: ------------------------------------------------------------------------ [2017-03-08 10:04:20] giacomo dot fontanella at carige dot it Description: ------------ Any script invoked through an Apache webserver that includes odbc calls to a IBM db2 database leaves an open application on it if max_execution_timeout is reached. This can lead to db locks impossible to resolve, unless either you kill the hanging process on db2 or you restart the webserver service. For example, a Reorg operation that should take just few seconds wouldn't start unless the hanging process is resolved. Seems similar to bug #63576, reported for php 5.3.16. My configuration is as follows: WEBSERVER OS: Windows server 2008 R2 webserver: Apache 2.4.23, VC11 compiler PHP: 5.6.30, MSVC11 compiler DBSERVER OS: Windows server 2008 R2 database: IBM DB2 9.7.8 Test script: --------------- <?php set_time_limit (1); include("../gestione_connessione.php"); $i = 0; while(1){ $rs = odbc_exec($cn,"SELECT COUNT(*) as N_RECORD FROM DBTEST.TB_TEST"); echo "<br>".$i." ".odbc_result($rs,"N_RECORD"); $i++; } ?> Expected result: ---------------- Loading halted after 1 second, no after effects. Actual result: -------------- Loading halted after 1 second, this is the error in log file: [Wed Mar 08 10:13:32.744279 2017] [:error] [pid 4872:tid 2064] [client xx.xx.xx.xx:62549] PHP Fatal error: Maximum execution time of 1 second exceeded in [PATH]\\test_lock.php on line 8 On the db2 server remains a httpd.exe application in UOW waiting status: (taken from db2 monitor) ID: 7679 Application name: httpd.exe OS user: [Account assigned to apache service] DB user: [db2 user] Status: UOW witing Last operation: SQL fetch DB: [db instance] Connect time: 08/03/2017 10.13.33 This application hangs indefinitely; if I launch a REORG on DBTEST.TB_TEST, this is what I get from the db2 monitor for the related process: ID: 7712 Application name: db2bp.exe OS user: [admin account] DB user: [admin account] Status: Lock wait Last operation: Reorg DB: [db instance] Connect Time: 08/03/2017 10.51.08 ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=74223&edit=1

« previous php.bugs (#207744) next »