2022-09-29 12:18:10.641 +03:00 [ERR] An exception has been raised that is likely due to a transient failure. Consider enabling transient error resiliency by adding 'EnableRetryOnFailure()' to the 'UseSqlServer' call.
System.InvalidOperationException: An exception has been raised that is likely due to a transient failure. Consider enabling transient error resiliency by adding 'EnableRetryOnFailure()' to the 'UseSqlServer' call.
---> Microsoft.Data.SqlClient.SqlException (0x80131904): Transaction (Process ID 78) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
at Microsoft.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at Microsoft.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at Microsoft.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at Microsoft.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at Microsoft.Data.SqlClient.SqlDataReader.TryHasMoreRows(Boolean& moreRows)
at Microsoft.Data.SqlClient.SqlDataReader.TryReadInternal(Boolean setTimeout, Boolean& more)
at Microsoft.Data.SqlClient.SqlDataReader.ReadAsyncExecute(Task task, Object state)
at Microsoft.Data.SqlClient.SqlDataReader.InvokeAsyncCall[T](AAsyncCallContext`1 context)
--- End of stack trace from previous location ---
at Microsoft.EntityFrameworkCore.Query.Internal.BufferedDataReader.BufferedDataRecord.InitializeAsync(DbDataReader reader, IReadOnlyList`1 columns, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Query.Internal.BufferedDataReader.InitializeAsync(IReadOnlyList`1 columns, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Query.Internal.BufferedDataReader.InitializeAsync(IReadOnlyList`1 columns, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Query.Internal.SplitQueryingEnumerable`1.AsyncEnumerator.InitializeReaderAsync(DbContext _, Boolean result, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func`4 operation, Func`4 verifySucceeded, CancellationToken cancellationToken)
ClientConnectionId:46d1ae2d-400a-417a-8945-7fd4da3d9b5f
Error Number:1205,State:52,Class:13
--- End of inner exception stack trace ---
at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func`4 operation, Func`4 verifySucceeded, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Query.Internal.SplitQueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
at Microsoft.EntityFrameworkCore.Query.ShapedQueryCompilingExpressionVisitor.SingleAsync[TSource](IAsyncEnumerable`1 asyncEnumerable, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Query.ShapedQueryCompilingExpressionVisitor.SingleAsync[TSource](IAsyncEnumerable`1 asyncEnumerable, CancellationToken cancellationToken)
at ***** REPO
at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()
at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
at **** APP SERVICE
at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()
at Volo.Abp.Authorization.AuthorizationInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()
at Volo.Abp.Auditing.AuditingInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()
at Volo.Abp.Validation.ValidationInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()
at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
at lambda_method8904(Closure , Object )
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
I tried to configure EF Context to support retry on db context configurations:
Configure<AbpDbContextOptions>(options =>
{
options.UseSqlServer(r => r.EnableRetryOnFailure(
maxRetryCount: 10,
maxRetryDelay: TimeSpan.FromSeconds(30),
errorNumbersToAdd: null
));
});
but this did not work I got another error:
[ERR] An exception occurred while iterating over the results of a query for context type 'Physic.EntityFrameworkCore.PhysicDbContext'.
System.InvalidOperationException: The configured execution strategy 'SqlServerRetryingExecutionStrategy' does not support user-initiated transactions. Use the execution strategy returned by 'DbContext.Database.CreateExecutionStrategy()' to execute all the operations in the transaction as a retriable unit.
at Microsoft.EntityFrameworkCore.Storage.ExecutionStrategy.OnFirstExecution()
at Microsoft.EntityFrameworkCore.Storage.ExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func`4 operation, Func`4 verifySucceeded, CancellationToken cancellationToken)
If you're creating a bug/problem report, please include followings:
Create a new project and deploy it on load balancer, it will gives sometimes (user not authorized)
When I log in the application is works fine, when I refresh the page it signs out automatically, I investigated the problem, I figured out that the problem is because the token expiration date is almost the same of the issue date (which is now)
id_token_expires_at 1643093216000 expires_at 1674628916737 access_token_stored_at 1643092916737 id_token_stored_at 1643092916738
(This issue only appear on production, on development everything is up and running )
We faced three issues when we added a new custom module to the new project:
ABP Framework version: v5.1.1
UI type: Angular
DB provider: EF Core
Tiered (MVC) or Identity Server Separated (Angular): no
Exception message and stack trace: Autofac.Core.DependencyResolutionException: 'An exception was thrown while activating Volo.Abp.IdentityServer.Grants.PersistedGrantStore -> Volo.Abp.ObjectMapping.DefaultObjectMapper1[[Volo.Abp.IdentityServer.AbpIdentityServerDomainModule, Volo.Abp.IdentityServer.Domain, Version=5.1.1.0, Culture=neutral, PublicKeyToken=null]] -> Volo.Abp.AutoMapper.AutoMapperAutoObjectMappingProvider1[[Volo.Abp.IdentityServer.AbpIdentityServerDomainModule, Volo.Abp.IdentityServer.Domain, Version=5.1.1.0, Culture=neutral, PublicKeyToken=null]] -> λ:Volo.Abp.AutoMapper.IMapperAccessor -> λ:Volo.Abp.AutoMapper.MapperAccessor.'
Steps to reproduce the issue:" And added a new module (abp add-module CustomModule --new --add-to-solution-file) Then when I added a simple AppService and related Controller, When I run the project I get this error:
Another issue related to adding custom module: The host app does not generate the migration for the Custom module:
When I add/change entities to a custom abp module. And then run migrator on the host project (EntityFrameworkCore) it did not generate migration script for changes (but it was working on previous versions, and it works on this version when I do changes to the host project, my issue is when I use the custom abp module)
the generated migration is empty
The third issue, a problem with generating proxies:
When I try to run generate proxy command on new project that has one custom module, I face this error:
abp generate-proxy -t ng
[16:49:56 INF] ABP CLI (https://abp.io) [16:49:57 INF] Version 5.1.1 (Stable) [16:49:58 WRN] Couldn't determinate version of "@abp/ng.schematics" package. An unhandled exception occurred: NOT SUPPORTED: keyword "id", use "$id" for schema ID See ".....\AppData\Local\Temp\ng-C1btyE\angular-errors.log" for further details.
angular-errors.log content is:
[error] Error: NOT SUPPORTED: keyword "id", use "$id" for schema ID at Object.code (....\angular\node_modules@angular-devkit\core\node_modules\ajv\dist\vocabularies\core\id.js:6:15) at keywordCode (....\angular\node_modules@angular-devkit\core\node_modules\ajv\dist\compile\validate\index.js:454:13) at ....\angular\node_modules@angular-devkit\core\node_modules\ajv\dist\compile\validate\index.js:222:17 at CodeGen.code (....\angular\node_modules@angular-devkit\core\node_modules\ajv\dist\compile\codegen\index.js:439:13) at CodeGen.block (....\angular\node_modules@angular-devkit\core\node_modules\ajv\dist\compile\codegen\index.js:568:18) at iterateKeywords (....\angular\node_modules@angular-devkit\core\node_modules\ajv\dist\compile\validate\index.js:219:9) at groupKeywords (....\angular\node_modules@angular-devkit\core\node_modules\ajv\dist\compile\validate\index.js:208:13) at ....\angular\node_modules@angular-devkit\core\node_modules\ajv\dist\compile\validate\index.js:192:13 at CodeGen.code (....\angular\node_modules@angular-devkit\core\node_modules\ajv\dist\compile\codegen\index.js:439:13) at CodeGen.block (....\angular\node_modules@angular-devkit\core\node_modules\ajv\dist\compile\codegen\index.js:568:18)
Environment: Abp Commerical Version 4.2.1 Project Type: MVC + Angular Identity server and host are merge in one host project.
The problem: We need to make configuration of environment changable after the front end was published without the need to rebuild when we change the configuration.
We tried the solution here https://support.abp.io/QA/Questions/322/Angular-environment-config-changes So we added the remoteEnv section in the environment.ts and environment.prod.ts and we changed the json file to be
import { Environment } from '@abp/ng.core';
export const environment = { production: true, remoteEnv: { url: '/assets/appsettings.prod.json', method: 'GET', headers: {} }, } as Environment;
and we added /assets/appsettings.prod.json :
{
"application": {
"baseUrl" : "https://196.202.5.151:9017",
name: 'My App Name',
},
"oAuthConfig": {
"issuer": "https://localhost:44334",
"redirectUri": "http://localhost:4200",
"clientId": "My_App",
"responseType": "code",
"scope": "offline_access openid profile role email phone AppName"
},
"apis": {
"default": {
"url": "https://localhost:44334",
"rootNamespace": "AppName"
}
}
}
But I the system did not work, I got error in console (Cannot read property 'responseType' of undefined) we changed the json again to be:
{
"application": {
"baseUrl" : "https://196.202.5.151:9017"
},
"oAuthConfig": {
"issuer": "https://localhost:44334",
"redirectUri": "http://localhost:4200"
},
"apis": {
"default": {
"url": "https://localhost:44334",
"rootNamespace": "AppName"
}
}
}
The front end worked properly with anonymous but the Identity server gave an error: Failed to validate the token. Microsoft.IdentityModel.Tokens.SecurityTokenSignatureKeyNotFoundException: IDX10501: Signature validation failed. Unable to match key: kid: 'System.String'.
I also tried other solution mentioned in the thread of github issues but all of them did not work, Please provide us with required steps to fix this. Thank you