Bug #25443 ExecuteScalar() hangs when more than one bad result
| Submitted: | 5 Jan 2007 21:05 | Modified: | 9 Jan 2007 15:08 |
|---|---|---|---|
| Reporter: | Karl Seguin | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | Connector / NET | Severity: | S2 (Serious) |
| Version: | 5.0.3 | OS: | |
| Assigned to: | CPU Architecture: | Any | |
| Tags: | net connector | ||
[5 Jan 2007 22:59]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/17688
[5 Jan 2007 23:14]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/17690
[5 Jan 2007 23:14]
Reggie Burnett
Fixed in 5.0.4 and 1.0.9
[9 Jan 2007 15:08]
MC Brown
A note has been added to the 5.0.4 and 1.0.9 changelogs.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.041 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.
Description: Calling ExecuteScalar with 2+ commands, one of them failing, hangs the process. something like: SELECT 1; SELECT * FROM DoesNotExist; was originally found in an sproc, but works with text commands. It specifically hangs on MySqlStream.LoadPacket(), at int b1 = inStream.ReadByte(); dr.Close() is called, which throws an exception (because of the error in the 2nd result), which calls dr.Close() again, which hangs because there are (for some unknown reason to me) still results. How to repeat: The following code reproduces the bug every time: using (MySqlConnection connection = new MySqlConnection(_connectionString)) { using (MySqlCommand command = new MySqlCommand()) { command.Connection = connection; command.CommandText = " SELECT 1;SELECT * FROM DoesNotExist"; command.CommandType = CommandType.Text; connection.Open(); command.ExecuteScalar(); } } Console.WriteLine("This never executes"); Console.ReadLine(); replace _connectionString with a real connection string - no other steps are required. Suggested fix: none.