#34647 [Com]: mssql.timeout has no affect

From: Date: Wed, 27 May 2009 09:58:26 +0000
Subject: #34647 [Com]: mssql.timeout has no affect
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-137770@lists.php.net to get a copy of this message
ID: 34647 Comment by: a dot e at inne dot pl Reported By: j dot geusebroek at intellit dot nl Status: No Feedback Bug Type: MSSQL related Operating System: Suse 9.3 PHP Version: 5.0.5 Assigned To: fmk New Comment: I think i am seeing the same issue on php 5.2.6 on Mac Im setting timeout 60 in php.ini and 8 at runtime. Im runnig nc -l -p 4000 on localmachine and pointing mssql connection to it. I can see its connecting and then hangs forever. If i point mssql connect to non existing ip it fails after connection_timeout as it should. Is there any chance for this setting to be fixed? or any way around it? Thanks Previous Comments: ------------------------------------------------------------------------ [2009-04-20 21:41:48] vinsonr at gmail dot com This is still occurring in 5.2.6. It sits there timing out: write(1, "Running query...\n", 17Running query... ) = 17 gettimeofday({1240263244, 234960}, NULL) = 0 gettimeofday({1240263244, 234963}, NULL) = 0 select(4, NULL, [3], NULL, {5, 0}) = 1 (out [3], left {5, 0}) gettimeofday({1240263244, 235613}, NULL) = 0 sendto(3, "\1\1\10@\0\0\1\0S\0E\0L\0E\0C\0T\0 \0[\0d\0a\0t\0e\0"..., 2112, MSG_NOSIGNAL, NULL, 0) = 2112 gettimeofday({1240263244, 235962}, NULL) = 0 select(4, [3], NULL, NULL, {5, 0}) = 0 (Timeout) gettimeofday({1240263249, 235390}, NULL) = 0 gettimeofday({1240263249, 235490}, NULL) = 0 select(4, [3], NULL, NULL, {5, 0}) = 0 (Timeout) gettimeofday({1240263254, 235491}, NULL) = 0 gettimeofday({1240263254, 235591}, NULL) = 0 select(4, [3], NULL, NULL, {5, 0}) = 0 (Timeout) gettimeofday({1240263259, 235422}, NULL) = 0 gettimeofday({1240263259, 235523}, NULL) = 0 select(4, [3], NULL, NULL, {5, 0}) = 0 (Timeout) gettimeofday({1240263264, 235536}, NULL) = 0 gettimeofday({1240263264, 235637}, NULL) = 0 select(4, [3], NULL, NULL, {5, 0}) = 0 (Timeout) gettimeofday({1240263269, 235253}, NULL) = 0 gettimeofday({1240263269, 235354}, NULL) = 0 select(4, [3], NULL, NULL, {5, 0}) = 0 (Timeout) gettimeofday({1240263274, 235997}, NULL) = 0 gettimeofday({1240263274, 236097}, NULL) = 0 select(4, [3], NULL, NULL, {5, 0}) = 0 (Timeout) gettimeofday({1240263279, 236311}, NULL) = 0 gettimeofday({1240263279, 236413}, NULL) = 0 select(4, [3], NULL, NULL, {5, 0}) = 0 (Timeout) gettimeofday({1240263284, 236515}, NULL) = 0 gettimeofday({1240263284, 236615}, NULL) = 0 select(4, [3], NULL, NULL, {5, 0}) = 0 (Timeout) gettimeofday({1240263289, 236319}, NULL) = 0 gettimeofday({1240263289, 236419}, NULL) = 0 select(4, [3], NULL, NULL, {5, 0}) = 0 (Timeout) ------------------------------------------------------------------------ [2007-06-20 12:19:05] jochem dot blok at fasterforward dot nl I also have this problem with PHP 5.2.0. mssql.timeout is set to Local Value 60 and Master Value 60. Php doesn't time out. I have a query which run over 60 seconds. ------------------------------------------------------------------------ [2007-06-15 11:36:39] sarstrom at gmail dot com I'm sorry, but setting the timeouts in php.ini doesn't help either. phpinfo() confirms that the limit is set to 1 second, but it waits an infinite amount of time for the query to finish! Deliberatly making a self-join-query will lock up one php-thread forever, after all threads are locked up, the webserver won't answer any further requests. /hps ------------------------------------------------------------------------ [2007-06-14 16:47:33] fmk@php.net The two time out parameters is used during request startup and it will not have any effect to change the value at runtime. I'll look at a way to move these to the connect/query functions, but until then you should specify these in your php.ini file. ------------------------------------------------------------------------ [2007-06-13 11:30:52] sarstrom at gmail dot com I can still reproduce this problem as of 2007-06-13. I've tried with PHP 5.2.1 and 5.2.3, And FreeTDS is at 0.64 on a FreeBSD 6.1 install. This code always waits the 20 seconds and tells me that everything went according to plan $dbLink = mssql_connect('sqldmz','sosuser','123456'); ini_set('mssql.timeout','1'); $query = "WAITFOR DELAY '000:00:20' SELECT TOP 1 * FROM tbl_serviceorder"; $res = mssql_query($query,$dbLink); if(!$res) { echo 'No, error, warning, timeout!!!!!!!!!'; } else { $row = mssql_fetch_assoc($res); echo 'Everything is OK: '.$row['OrderNumber']; } /hps ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/34647 -- Edit this bug report at http://bugs.php.net/?id=34647&edit=1

« previous php.bugs (#137770) next »