PHP Bugs  
php.net | support | documentation | report a bug | advanced search | search howto | statistics | login

go to bug id or search bugs for  

Bug #7634 mysql_pconnect() + lock tables can hang server
Submitted:3 Nov 2000 9:08pm UTC Modified: 10 Jun 2002 4:10am UTC
From:torben@php.net Assigned to:
Status:Closed Category:Documentation problem
Version:4.0 Latest CVS (03/11/2000) OS:Mandrake 7.0
View/Vote Developer Edit Submission

[3 Nov 2000 9:08pm UTC] torben@php.net
I've heard about this from a couple of sources and been
looking for answers, but haven't found anything 
definitive. I don't even know if it's solvable. However,
when using persistent connections and LOCK TABLES, if
for any reason the UNLOCK TABLES never gets executed,
the server ends up hanging while it waits for the lock
to get released.

This is reproduceable for me on every version of PHP I've 
tried. Example script:

<?php /* -*- mode: c++; minor-mode: font -*- */ 
error_reporting(E_ALL);

$dbh = mysql_pconnect($host, $user, $pass);

/* Just to test the connection. */
if ($res = mysql_db_query($db, 'show tables', $dbh)) {
    while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) {
        echo $row["Tables_in_$db"] . "<br>\n";
    }
}

echo "<hr>\n";
$table = 'category';
echo "Locking table '$table' (if the script blocks here, then the lock
never got released)...<br>\n";
flush();
if ($res = mysql_db_query('chaps', "lock tables $table write", $dbh)) {
    echo "OK; locked.<br>\n";
} else {
    echo "failed; could not lock.<br>\n";
}
flush();
//$res = mysql_db_query('chaps', "unlock tables", $dbh)
?>

Is this just me?
[20 Nov 2001 7:46pm UTC] mfischer@php.net
Can you try latest RC and see if the problem persists

http://phpuk.org/~james/php-4.1.0RC3-win32.zip

Feedback.
[20 Nov 2001 8:10pm UTC] torben@php.net
Nope, still happens. This is on Debian woody, PHP 4.1.0RC3
(haven't tried on the win32 version you posted a link to,
but whatever).

Same script.
[20 Nov 2001 10:05pm UTC] torben@php.net
Closed as a Doc problem; added a warning in CVS about the
issue. Also included some info regarding transactions
behaving similarly from the user notes.
[10 Jun 2002 4:08am UTC] mfischer@php.net
What is 'closing as doc problem' ? :) Reopening until it's really fixed.
[10 Jun 2002 4:10am UTC] mfischer@php.net
My dear, it's already documented in the "Persistent Database" section
... sorry :-p

RSS feed | show source 

PHP Copyright © 2001-2009 The PHP Group
All rights reserved.
Last updated: Sat Nov 21 10:30:49 2009 UTC