ID:               19529
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Open
+Status:           Assigned
 Bug Type:         MySQL related
 Operating System: Linux 2.4.18
 PHP Version:      4.2.3
 Assigned To:      georg
 New Comment:

reassigning


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

[2002-10-10 13:07:13] [EMAIL PROTECTED]

OK, no need to wait. Getting the errors already with 3.23.49a.

I looked at the change in CVS and it only frees a memory leak from
unbuffered queries.

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

[2002-10-10 13:04:54] [EMAIL PROTECTED]

PS: In this bug system, should I be using Add Comment rather than Edit
Submission? I keep reseting the Status and I don't mean to. Maybe the
bug system should add whatever is the current choice is to the list
available.

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

[2002-10-10 13:01:28] [EMAIL PROTECTED]

Recent CVS does not help 4.0.2 over the long term (24 hours). I woke up
and the log was full of the error. Will try 3.23.49a for 24 hours and
report back.

As far as explicitly calling mysql_free_result(), yikes! Trying to find
any missing will be a pain! 

I guess the real way to deal with this is (yuck) track all the result
sets and dispose of any left over when the connection is being reset.
Therefore getting the order right.

Unless we can reset the connenction last. Is there a way to order the
callbacks?

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

[2002-10-09 08:01:40] [EMAIL PROTECTED]

A possible fix (based on discussions between Rasmus and the MySQL team)
has just been committed to CVS.  If the fix works praise Rasmus, if it
fails, blame me! :)

Please try the latest CVS version and see if the bug can be
reproduced.

Also, regarding the connect_timeout tests. If connect_timeout is set to
-1, then we want to rely on the MySQL settings for this option, rather
than attempting to override the option with a value set in PHP.

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

[2002-10-09 02:56:39] [EMAIL PROTECTED]

I think the real problem here is the order things happen in.   A
ROLLBACK or an AUTOCOMMIT query do not return a result set and thus do
not need to be dealt with as you describe here. It is more likely that
there is an existing result set that has not be explicitly freed in the
PHP script and the PHP destructor for that result set is being called
after the call to restore_connection_default.  That's when you would
get an out-of-sync error because the ROLLBACK is called with an
outstanding result set.  

So, for those of you experiencing this problem, try explicitly calling
mysql_free_result() on your result sets.

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

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/19529

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

Reply via email to