Skip to content

ExecutionStrategyExtensions.ExecuteInTransactionAsync null reference exception #7795

@clement911

Description

@clement911

My app seems to have experienced some weird transient issue while trying to save changes to sql azure. This error occurred multiple times in a brief amount of time (a few seconds).
Usually it all works fine.

A couple minutes later it was followed a by a bunch of "DbUpdateConcurrencyException: Database operation expected to affect 1 row(s) but actually affected 0 row(s)", which don't make sense because I know it was an simple 1 row insert.

Could it be cause by a transient reconfiguration within sql azure?
If so, I would expect a more meaningful error message...

Failed to process webhook: System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.EntityFrameworkCore.ExecutionStrategyExtensions.<>c__13`2.<<ExecuteInTransactionAsync>b__13_1>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.EntityFrameworkCore.Storage.ExecutionStrategy.<ExecuteImplementationAsync>d__33`2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.EntityFrameworkCore.Storage.ExecutionStrategy.<ExecuteImplementationAsync>d__33`2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.EntityFrameworkCore.Storage.ExecutionStrategy.<ExecuteImplementationAsync>d__33`2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Wish.Core.XDbContext.<SaveChangesAsync>d__14.MoveNext() in C:\Dev\BetterReports\Wish.Core\Persistence\XDbContext.cs:line 87
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at NitroCharts.Web2.DataManager.<TryProcessWebHookNotificationsAsync>d__13.MoveNext() in C:\Dev\BetterReports\NitroCharts.Web2\_misc\DataCollection\Common\DataManager.cs:line 99

EF Core version: 1.1.0
Database Provider: Microsoft.EntityFrameworkCore.SqlServer)
Operating system: Windows (Azure app service)
IDE: VS 2015

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions