ID:               34647
 Comment by:       vinsonr at gmail dot com
 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:

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...@\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)


Previous Comments:
------------------------------------------------------------------------

[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] f...@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

------------------------------------------------------------------------

[2005-09-26 18:51:57] j dot geusebroek at intellit dot nl

Description:
------------
mssql.timeout has no affect, a query will wait an infinite time and the
scripts hangs.

I'm using the FreeTDS library, version 6.3 but i also tried
latest FreeTDS CVS.

FreeTDS debug file shows that a timeout has occured (i also set the
timeout in the FreeTDS client) but PHP keeps running.

(dblib.c:4010:in dbsqlok()
net.c:327:exceeded query timeout: 10
net.c:327:exceeded query timeout: 10
net.c:327:exceeded query timeout: 10
net.c:327:exceeded query timeout: 10
net.c:327:exceeded query timeout: 10
net.c:327:exceeded query timeout: 10
)

Reproduce code:
---------------
Perform any query that outlasts your mssql.timeout setting.

Expected result:
----------------
PHP exiting with a fatal error.

Actual result:
--------------
Infinite wait.


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=34647&edit=1

Reply via email to