Skip to content

[RC1 blocker] Windows interop getting called on OS X #14886

@natemcmaster

Description

@natemcmaster

Using SqlClient on CoreCLR (Darwin) calls interop methods that require Windows APIs.

This is a regression. This behavior just showed after upgrading DNX. Currently using dnx-coreclr-darwin-x64.1.0.0-beta7-12264.

Here is the stack trace:

     System.DllNotFoundException : Unable to load DLL 'api-ms-win-core-processthreads-l1-1-0.dll': The specified module could not be found.
   (Exception from HRESULT: 0x8007007E)
  Stack Trace:
       at Interop.mincore.GetCurrentThread()
       at Interop.mincore.OpenThreadToken(TokenAccessLevels desiredAccess, WinSecurityContext openAs, SafeAccessTokenHandle& tokenHandle)
       at System.Security.Principal.WindowsIdentity.GetCurrentToken(TokenAccessLevels desiredAccess, Boolean threadOnly, Boolean& isImpersonating, Int32& hr)
       at System.Security.Principal.WindowsIdentity.GetCurrentInternal(TokenAccessLevels desiredAccess, Boolean threadOnly)
       at System.Data.ProviderBase.DbConnectionPoolIdentity.GetCurrent()
       at System.Data.ProviderBase.DbConnectionPoolGroup.GetConnectionPool(DbConnectionFactory connectionFactory)
       at System.Data.ProviderBase.DbConnectionFactory.GetConnectionPool(DbConnection owningObject, DbConnectionPoolGroup connectionPoolGroup)
       at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
       at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
       at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
       at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
       at System.Data.SqlClient.SqlConnection.Open()
       at Microsoft.Data.Entity.SqlServer.FunctionalTests.SqlServerTestStore.DeleteDatabase(String name)
       at Microsoft.Data.Entity.SqlServer.FunctionalTests.SqlServerTestStore.CreateTransient(Boolean createDatabase)
       at Microsoft.Data.Entity.SqlServer.FunctionalTests.SqlServerTestStore.CreateScratch(Boolean createDatabase)
       at Microsoft.Data.Entity.FunctionalTests.SharedCrossStoreFixture.CreateTestStore(Type testStoreType)
       at Microsoft.Data.Entity.FunctionalTests.SqlServerCrossStoreFixture.CreateTestStore(Type testStoreType)
       at Microsoft.Data.Entity.FunctionalTests.EndToEndTest`2..ctor(TFixture fixture)
       at Microsoft.Data.Entity.FunctionalTests.SqlServerEndToEndTest..ctor(SqlServerCrossStoreFixture fixture)

Metadata

Metadata

Assignees

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions