none
Randomly getting "The underlying provider failed on Open" RRS feed

  • Question

  • I don't know if this is the best category for this.

    My MVC 5 website has been throwing this exception, randomly, for the last month.

    Randomly means it can happen once 2-3 days in a row, or not happen for also 10 days in a row.

    Restarting the app pool does not fix it, all i can do is reboot the server (Windows 2016 server).

    The application(s) connecting to this database are unable to read/write all at once, and any attempt from the code throws this:

    EXCEPTION TYPE: System.Data.Entity.Core.EntityException
    EXCEPTION MESSAGE: The underlying provider failed on Open.
    STACK TRACE: at System.Data.Entity.Core.EntityClient.EntityConnection.<OpenAsync>d__8.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at System.Data.Entity.Core.Objects.ObjectContext.<EnsureConnectionAsync>d__9.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at System.Data.Entity.Core.Objects.ObjectContext.<ExecuteInTransactionAsync>d__3d`1.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.<ExecuteAsyncImplementation>d__9`1.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at System.Data.Entity.Utilities.TaskExtensions.CultureAwaiter`1.GetResult()
    at System.Data.Entity.Core.Objects.ObjectQuery`1.<GetResultsAsync>d__e.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at System.Data.Entity.Utilities.TaskExtensions.CultureAwaiter`1.GetResult()
    at System.Data.Entity.Internal.LazyAsyncEnumerator`1.<FirstMoveNextAsync>d__0.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at System.Data.Entity.Infrastructure.IDbAsyncEnumerableExtensions.<SingleOrDefaultAsync>d__38`1.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at System.Data.Entity.Utilities.TaskExtensions.CultureAwaiter`1.GetResult()
    at System.Data.Entity.Internal.Linq.InternalSet`1.<FindInStoreAsync>d__6.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at System.Data.Entity.Internal.Linq.InternalSet`1.<FindInternalAsync>d__0.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at Microsoft.AspNet.Identity.TaskExtensions.CultureAwaiter`1.GetResult()
    at Microsoft.AspNet.Identity.EntityFramework.UserStore`6.<GetUserAggregateAsync>d__67.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at Microsoft.AspNet.Identity.AsyncHelper.RunSync[TResult](Func`1 func)
    at LiveDispatch.Web.Services.AppService.UserCanAccessClient(String userId, Int32 clientId) in R:\Levitica\LiveDispatch\LiveDispatch.Web\Services\AppService.cs:line 621
    at LiveDispatch.Web.API.Controllers.UsersController.GetUsersByRole(Int32 clientId, String role) in R:\Levitica\LiveDispatch\LiveDispatch.Web\API\Controllers\UsersController.cs:line 148
    INNER EXCEPTION: System.Data.Entity.Core.EntityException The underlying provider failed on Open. Void MoveNext()
    InvalidOperationException Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached. System.Exception ExceptionWithStackTrace(System.Exception)

    Now, I use Entity Framework with unit of work and repositories. Every usage of the DbContext is inside a using() block.

    I don't know if this exception is due to a connection leak or a deadlock, but i don't know how to trace them.

    What are all the possible causes for this exception? It's not a connection string configuration or anything that coud fix it right away, because as i said it works well most of the time, till it doesn't suddenly.

    There are at the moment maybe like 50 users using it, most of them thru APIs from a mobile device.

    The database is SQL Server Express. My connection string is as such:

    connectionString="Data Source=localhost;Initial Catalog=my_db_name;Persist Security Info=False;User ID=my_username;Password=my_password;MultipleActiveResultSets=True;"

    Any idea?

    Thanks!

    Saturday, February 2, 2019 9:51 PM

All replies

  • Hi Stesvis,

    According to your description, your issue is more related about ASP.NET. And this forum is discussing and asking questions about Visual C#. So it will be more appropriate to ask your question at ASP.NET Forum.

    Thank you for your understanding.

    Regards,

    Kyle


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    Monday, February 4, 2019 3:17 AM