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?