dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
15.26k stars 4.73k forks source link

OleDbConnectionTests.GetSchema failing with DISP_E_BADVARTYPE in CI #29435

Closed JeremyKuhne closed 4 years ago

JeremyKuhne commented 5 years ago

Haven't dug into it. Race maybe? Bad 32 bit signature? (Saw the failure on netcoreapp-Windows_NT-Release-x86-Windows.7.Amd64.Open)

System.Runtime.InteropServices.COMException : Bad variable type. (0x80020008 (DISP_E_BADVARTYPE))

  at System.Data.Common.SafeNativeMethods.VariantClear(IntPtr pObject)
   at System.Data.OleDb.DBPropSet.ReleaseHandle() in D:\a\1\s\src\System.Data.OleDb\src\DbPropSet.cs:line 141
   at System.Runtime.InteropServices.SafeHandle.InternalRelease(Boolean disposeOrFinalizeOperation) in F:\workspace\_work\1\s\src\System.Private.CoreLib\shared\System\Runtime\InteropServices\SafeHandle.cs:line 212
   at System.Data.OleDb.OleDbDataReader.GetPropertyOnRowset(Guid propertySet, Int32 propertyID) in D:\a\1\s\src\System.Data.OleDb\src\OleDbDataReader.cs:line 1851
   at System.Data.OleDb.OleDbDataReader.GetPropertyValue(Int32 propertyId) in D:\a\1\s\src\System.Data.OleDb\src\OleDbDataReader.cs:line 1825
   at System.Data.OleDb.OleDbDataReader.CreateAccessors(Boolean allowMultipleAccessor) in D:\a\1\s\src\System.Data.OleDb\src\OleDbDataReader.cs:line 1510
   at System.Data.OleDb.OleDbDataReader.BuildMetaInfo() in D:\a\1\s\src\System.Data.OleDb\src\OleDbDataReader.cs:line 298
   at System.Data.OleDb.OleDbConnectionInternal.GetSchemaRowset(Guid schema, Object[] restrictions) in D:\a\1\s\src\System.Data.OleDb\src\OleDbConnectionInternal.cs:line 645
   at System.Data.OleDb.OleDbConnection.GetOleDbSchemaTable(Guid schema, Object[] restrictions) in D:\a\1\s\src\System.Data.OleDb\src\OleDbConnection.cs:line 463
   at System.Data.OleDb.OleDbMetaDataFactory.GetDataTypesTable(OleDbConnection connection) in D:\a\1\s\src\System.Data.OleDb\src\OleDbMetaDataFactory.cs:line 366
   at System.Data.OleDb.OleDbMetaDataFactory.PrepareCollection(String collectionName, String[] restrictions, DbConnection connection) in D:\a\1\s\src\System.Data.OleDb\src\OleDbMetaDataFactory.cs:line 518
   at System.Data.ProviderBase.DbMetaDataFactory.GetSchema(DbConnection connection, String collectionName, String[] restrictions) in D:\a\1\s\src\System.Data.OleDb\src\System\Data\ProviderBase\DbMetaDataFactory.cs:line 481
   at System.Data.ProviderBase.DbConnectionInternal.GetSchema(DbConnectionFactory factory, DbConnectionPoolGroup poolGroup, DbConnection outerConnection, String collectionName, String[] restrictions) in D:\a\1\s\src\System.Data.OleDb\src\System\Data\ProviderBase\DbConnectionInternal.Shared.cs:line 432
   at System.Data.OleDb.OleDbConnection.GetSchema(String collectionName, String[] restrictionValues) in D:\a\1\s\src\System.Data.OleDb\src\System\Data\ProviderBase\DbConnectionHelper.cs:line 243
   at System.Data.OleDb.Tests.OleDbConnectionTests.GetSchema() in D:\a\1\s\src\System.Data.OleDb\tests\OleDbConnectionTests.cs:line 129
Build 20190501.85 Failed

https://dev.azure.com/dnceng/public/_build/results?buildId=175935&view=ms.vss-test-web.build-test-results-tab&runId=4252532&paneView=debug&resultId=312713

ajcvickers commented 5 years ago

@David-Engel Is this something that your team should investigate?

/cc @divega

divega commented 5 years ago

AFAIK, this isn't owned by @David-Engel's team.

cc @maryamariyan and @saurabh500.

maryamariyan commented 5 years ago

closing at duplicate of https://github.com/dotnet/corefx/issues/37411

saurabh500 commented 5 years ago

We figured out a problem where the JET and ACE driver installed SxS on the CI machines are causing whole lot of test failures for ODBC. @maryamariyan has sent a PR to modify the CI to have only the ACE driver and we will run the OLEDB tests in x64 environment only. Once those changes are in, we can figure out if the above exceptions continue to recur.