[Mono-bugs] [Bug 430409] New: MONO quits when accessing MySQL TINYTEXT with CHARACTER SET ascii

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Sat Sep 27 10:30:28 EDT 2008


https://bugzilla.novell.com/show_bug.cgi?id=430409

User awunwpa7 at yahoo.com.ph added comment
https://bugzilla.novell.com/show_bug.cgi?id=430409#c419224

           Summary: MONO quits when accessing MySQL TINYTEXT with CHARACTER
                    SET ascii
           Product: Mono: Class Libraries
           Version: 2.0
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: Minor
          Priority: P5 - None
         Component: Sys.Data
        AssignedTo: bnc-blr-team-mono at forge.provo.novell.com
        ReportedBy: awunwpa7 at yahoo.com.ph
         QAContact: mono-bugs at lists.ximian.com
          Found By: Beta-Customer


Description of Problem:

There seems to be an issue with the OdbcDataReader that causes the MS framework
to raise an AccessViolationError exception (someone tried to read or write in
protected memory). The MONO framework instead does not throw an exception and
I'm unable to catch one, but the application quits immediately without telling
why. It might be the actual error behind this is in the MySQL ODBC-Driver and
not in the framework, but MONO crashes.

How this happens:

When I access a MySQL cell of type "TINYTEXT" that has a non-null value in it,
for example a simple text like "test", the OdbcDataReader crashes. This happens
only if the "TINYTEXT" was created with "CHARACTER SET ascii" (utf8 and others
do not cause trouble for some reason).

Test code:

public void Foo(string MyValidConnectionString)
{
  OdbcConnection TestConn = new OdbcConnection(MyValidConnectionString);

  TestConn.Open();

  OdbcCommand NewCmd = new OdbcCommand("SELECT * FROM test_table", TestConn);

  OdbcDataReader NewRdr = NewCmd.ExecuteReader();

  // some tinytext column index:
  int TinytextIdx = 0;

  bool GotSomething = NewRdr.Read();

  if (GotSomething)
  {
    Console.WriteLine("Going in");

    try
    {
      // no matter what access method is used...
      NewRdr.IsDBNull(TinytextIdx); // <- ...this let's MONO quit
    }
    catch(Exception)
    {
      Console.WriteLine("Got exception");
    }
    finally
    {
      Console.WriteLine("This never happens");
    }
  }
}

How often does this happen? 

Always (on Windows with MySQL 5.0)

Tested MySQL Server: 5.0.51b-community-nt
Tested MySQL ODBC-Driver: v5.1

Additional info:

I filed a similar bug that got addressed already: #419224


-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list