| Bug #37903 | MySQL .Net Connector / NullReferenceException after restarting MySQL | ||
|---|---|---|---|
| Submitted: | 6 Jul 2008 15:37 | Modified: | 28 Jul 2008 21:12 |
| Reporter: | Paul Bowden | Email Updates: | |
| Status: | Can't repeat | Impact on me: | |
| Category: | Connector / NET | Severity: | S2 (Serious) |
| Version: | 5.1.6 | OS: | Windows |
| Assigned to: | CPU Architecture: | Any | |
| Tags: | NullReferenceException Open Restart DataSet Fill Connector | ||
[6 Jul 2008 15:37]
Paul Bowden
[11 Jul 2008 18:22]
Reggie Burnett
The underlying cause of this bug makes it a duplicate of 37991 which has already been fixed in 5.0.10, 5.1.7, and 5.2.3+
[27 Jul 2008 21:23]
Paul Bowden
I've downloaded the latest code and build it (5.1.7), but the null reference exception is still happening after I restart the MySQL server and attempt to fill a table:
System.NullReferenceException was unhandled
Message="Object reference not set to an instance of an object."
Source="MySql.Data"
StackTrace:
at MySql.Data.MySqlClient.MySqlConnection.Open()
...
[28 Jul 2008 16:02]
Reggie Burnett
Paul
Here is my test code. It throws a MySqlException with the message "writing to the stream failed.". How is your test code different?
MySqlConnection c = new MySqlConnection("server=localhost;database=test;uid=root");
c.Open();
try
{
MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM Test", c);
DataTable dt = new DataTable();
da.Fill(dt);
// restart server here
da.Fill(dt);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
[28 Jul 2008 17:29]
Paul Bowden
Running your code, I get "Connection unexpectedly terminated." in the console output and then the program exits.
However, if I remove the try/catch I get:
MySql.Data.MySqlClient.MySqlException was unhandled
Message="Connection unexpectedly terminated."
Source="MySql.Data"
ErrorCode=-2147467259
Continue to run.. (F5)
MySql.Data.MySqlClient.MySqlException was unhandled
Message="Writing to the stream failed."
Source="MySql.Data"
ErrorCode=-2147467259
Continue to run.. (F5)
System.NullReferenceException was unhandled
Message="Object reference not set to an instance of an object."
Source="MySql.Data"
StackTrace:
at MySql.Data.MySqlClient.MySqlConnection.Open()
...
PS: I connected to a remote database as I don't have one on localhost.
[28 Jul 2008 19:29]
Reggie Burnett
Paul I don't know what you are doing. When I take my code and remove the try catch, run it (with a running mysql) until it hits the second fill (because your first report said that the server restarts between the fills), then restart the server. I then get the mysqlexception. Everytime I hit F5 it just stays right on the throw for the MySqlExceptoin. How are you reproducing the Null reference exception?
[28 Jul 2008 21:12]
Paul Bowden
static void Main( string[] args )
{
MySqlConnection c = new MySqlConnection( "server=192.168.1.242;database=test;uid=root" );
c.Open();
MySqlDataAdapter da = new MySqlDataAdapter( "SELECT * FROM test", c );
DataTable dt = new DataTable();
da.Fill( dt );
Console.WriteLine( "Restart MySQL server and press enter..." );
Console.ReadLine();
da.Fill( dt );
}
1) Run code above, restart MySQL service when message is displayed.
2) Press Enter.
3) Unhandled MySqlException: Connection unexpectedly terminated. Press F5.
4) Unhandled MySqlException: Writing to stream failed. Press F5.
5) Unhandled NullReferenceException: Object ref.... Press F5.
6) Application ends.
Reggie, are you only getting the first two exceptions? I have built the the connector myself (what I call 5.1.7), can I test with your connector?
