[Mono-devel-list] marshal.c patch 1.213

kangaroo grompf at sublimeintervention.com
Fri Nov 5 20:35:19 EST 2004


BenM,

	This patch is causing a regression in the PPC jit.  An example of this  
regression is the Mono.Data.SqliteClient test suite.

Without the patch:

If this test works, you should get:
Data 1: 5
Data 2: Mono
create SqliteConnection...
setting ConnectionString using: URI=file:SqliteTest.db
open the connection...
create SqliteCommand to CREATE TABLE MONO_TEST
execute command...
set and execute command to INSERT INTO MONO_TEST
set command to SELECT FROM MONO_TEST
execute reader...
read and display data...
Data 1: 5
Data 2: Mono
read and display data using DataAdapter...
5
Mono
clean up...
Done.

With the patch:

If this test works, you should get:
Data 1: 5
Data 2: Mono
create SqliteConnection...
setting ConnectionString using: URI=file:SqliteTest.db
open the connection...
create SqliteCommand to CREATE TABLE MONO_TEST
execute command...
set and execute command to INSERT INTO MONO_TEST
set command to SELECT FROM MONO_TEST
execute reader...

Unhandled Exception: System.ExecutionEngineException: SIGILL
in (unmanaged) (wrapper managed-to-native)  
Mono.Data.SqliteClient.Sqlite:sqlite_exec  
(intptr,string,Mono.Data.SqliteClient.Sqlite/ 
SqliteCallbackFunction,intptr,byte**)
in <0x00094> (wrapper managed-to-native)  
Mono.Data.SqliteClient.Sqlite:sqlite_exec  
(intptr,string,Mono.Data.SqliteClient.Sqlite/ 
SqliteCallbackFunction,intptr,byte**)
in <0x00158> Mono.Data.SqliteClient.SqliteCommand:ExecuteReader  
(System.Data.CommandBehavior,bool,int&)
in <0x0004c> Mono.Data.SqliteClient.SqliteCommand:ExecuteReader  
(System.Data.CommandBehavior)
in <0x00028> Mono.Data.SqliteClient.SqliteCommand:ExecuteReader ()
in <0x00218> Test.Mono.Data.SqliteClient.SqliteTest:Main (string[])

Zoltan tested the suite with your patch on HEAD (I assume amd-64; he  
didn't specify) and stated that it worked fine; so this may be exposing  
a ppc jit bug.

I'll dig into it on the PPC side.

-kangaroo




More information about the Mono-devel-list mailing list