When I get an error, The error is the one below. Many times, it just hangs and does not complete. It acts like something is deadlocked in those cases. I will email you a link to one of our project files. This is happening in all of our projects we have upgraded to v7 at this point.
Volo.Abp.AbpInitializationException: An error occurred during the initialize Volo.Abp.Modularity.OnApplicationInitializationModuleLifecycleContributor...
Volo.Abp.AbpInitializationException
An error occurred during the initialize Volo.Abp.Modularity.OnApplicationInitializationModuleLifecycleContributor phase of the module Anlar.Everest.EverestTestBaseModule, Anlar.Everest.TestBase, Version=7.0.0.0, Culture=neutral, PublicKeyToken=null: Object reference not set to an instance of an object.. See the inner exception for details.
at Volo.Abp.Modularity.ModuleManager.InitializeModules(ApplicationInitializationContext context)
at Volo.Abp.AbpApplicationBase.InitializeModules()
at Volo.Abp.AbpApplicationWithExternalServiceProvider.Initialize(IServiceProvider serviceProvider)
at Volo.Abp.Testing.AbpIntegratedTest`1..ctor()
at Anlar.Everest.EverestTestBase`1..ctor()
at Anlar.Everest.EverestDomainTestBase..ctor()
at Anlar.Everest.Samples.SampleDomainTests..ctor() in C:\AppDev\otised\Anlar.Everest\aspnet-core\test\Anlar.Everest.Domain.Tests\Samples\SampleDomainTests.cs:line 18
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean wrapExceptions)
System.NullReferenceException
Object reference not set to an instance of an object.
at Microsoft.Data.Sqlite.SqliteConnection.RemoveCommand(SqliteCommand command)
at Microsoft.Data.Sqlite.SqliteCommand.Dispose(Boolean disposing)
at System.ComponentModel.Component.Dispose()
at System.Data.Common.DbCommand.DisposeAsync()
at Microsoft.EntityFrameworkCore.Storage.RelationalDataReader.DisposeAsync()
at Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.ToListAsync[TSource](IQueryable`1 source, CancellationToken cancellationToken)
at Volo.Abp.SettingManagement.EntityFrameworkCore.EfCoreSettingRepository.GetListAsync(String providerName, String providerKey, CancellationToken cancellationToken)
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 Volo.Abp.SettingManagement.SettingManagementStore.SetCacheItemsAsync(String providerName, String providerKey, String currentName, SettingCacheItem currentCacheItem)
at Volo.Abp.SettingManagement.SettingManagementStore.GetCacheItemAsync(String name, String providerName, String providerKey)
at Volo.Abp.SettingManagement.SettingManagementStore.GetOrNullAsync(String name, String providerName, String providerKey)
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 Volo.Abp.Settings.UserSettingValueProvider.GetOrNullAsync(SettingDefinition setting)
at Volo.Abp.Settings.SettingProvider.GetOrNullValueFromProvidersAsync(IEnumerable`1 providers, SettingDefinition setting)
at Volo.Abp.Settings.SettingProvider.GetOrNullAsync(String name)
at Volo.Abp.Settings.SettingProviderExtensions.GetAsync[T](ISettingProvider settingProvider, String name, T defaultValue)
at Volo.Abp.Identity.AbpIdentityOptionsManager.OverrideOptionsAsync(String name, IdentityOptions options)
at Volo.Abp.Identity.IdentityDataSeeder.SeedAsync(String adminEmail, String adminPassword, Nullable`1 tenantId)
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 Volo.Abp.Data.DataSeeder.SeedAsync(DataSeedContext context)
at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous(IInvocation invocation, IInvocationProceedInfo proceedInfo)
at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapter.ProceedAsync()
at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync(IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
at Anlar.Everest.EverestTestBaseModule.<>c__DisplayClass2_0.<<SeedTestData>b__0>d.MoveNext() in C:\AppDev\otised\Anlar.Everest\aspnet-core\test\Anlar.Everest.TestBase\EverestTestBaseModule.cs:line 43
--- End of stack trace from previous location ---
at Nito.AsyncEx.Synchronous.TaskExtensions.WaitAndUnwrapException(Task task)
at Nito.AsyncEx.AsyncContext.<>c__DisplayClass15_0.<Run>b__0(Task t)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
--- End of stack trace from previous location ---
at Nito.AsyncEx.Synchronous.TaskExtensions.WaitAndUnwrapException(Task task)
at Nito.AsyncEx.AsyncContext.Run(Func`1 action)
at Volo.Abp.Threading.AsyncHelper.RunSync(Func`1 action)
at Anlar.Everest.EverestTestBaseModule.SeedTestData(ApplicationInitializationContext context) in C:\AppDev\otised\Anlar.Everest\aspnet-core\test\Anlar.Everest.TestBase\EverestTestBaseModule.cs:line 39
at Anlar.Everest.EverestTestBaseModule.OnApplicationInitialization(ApplicationInitializationContext context) in C:\AppDev\otised\Anlar.Everest\aspnet-core\test\Anlar.Everest.TestBase\EverestTestBaseModule.cs:line 34
at Volo.Abp.Modularity.OnApplicationInitializationModuleLifecycleContributor.Initialize(ApplicationInitializationContext context, IAbpModule module)
at Volo.Abp.Modularity.ModuleManager.InitializeModules(ApplicationInitializationContext context)
Hi,
Unfortunately, this does not resolve the issue. I am still getting random failures. In fact, now there is an additional problem. Not only do random tests fail, but the process randomly hangs and does not complete. I have to manually kill the test process.
Edit: if the unit of work manager is not reliable for tests, why would I want to use it in my application? Disabling the UnitOfWorkTransaction seems like a material change. Now the tests are not covering a key element of the underlying system. What keeps this from being an issue in my application when it is under load? In addition to getting a fix which works, I would like to understand why you think disabling this in the tests is acceptable. What am I missing?
The 3 example unit tests given do not run reliably. Sometimes they all error, sometimes they all pass, and sometimes a random test passes. Just keep running to get different results. The error (when it fails) is always the same and show below.
Volo.Abp.AbpInitializationException: An error occurred during the initialize Volo.Abp.Modularity.OnApplicationInitializationModuleLifecycleContributor...
Volo.Abp.AbpInitializationException
An error occurred during the initialize Volo.Abp.Modularity.OnApplicationInitializationModuleLifecycleContributor phase of the module Acme.Bookstore.BookstoreTestBaseModule, Acme.Bookstore.TestBase, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null: Object reference not set to an instance of an object.. See the inner exception for details.
at Volo.Abp.Modularity.ModuleManager.InitializeModules(ApplicationInitializationContext context)
at Volo.Abp.AbpApplicationBase.InitializeModules()
at Volo.Abp.AbpApplicationWithExternalServiceProvider.Initialize(IServiceProvider serviceProvider)
at Volo.Abp.Testing.AbpIntegratedTest1..ctor() at Acme.Bookstore.BookstoreTestBase1..ctor()
at Acme.Bookstore.EntityFrameworkCore.BookstoreEntityFrameworkCoreTestBase..ctor()
at Acme.Bookstore.EntityFrameworkCore.Samples.SampleRepositoryTests..ctor() in C:\Users\scott\source\repos\Acme.Bookstore\aspnet-core\test\Acme.Bookstore.EntityFrameworkCore.Tests\EntityFrameworkCore\Samples\SampleRepositoryTests.cs:line 18
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean wrapExceptions)
System.NullReferenceException
Object reference not set to an instance of an object.
at Microsoft.Data.Sqlite.SqliteConnection.RemoveCommand(SqliteCommand command)
at Microsoft.Data.Sqlite.SqliteCommand.Dispose(Boolean disposing)
at System.ComponentModel.Component.Dispose()
at System.Data.Common.DbCommand.DisposeAsync()
at Microsoft.EntityFrameworkCore.Storage.RelationalDataReader.DisposeAsync()
at Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.ToListAsync[TSource](IQueryable1 source, CancellationToken cancellationToken) at Volo.Abp.SettingManagement.EntityFrameworkCore.EfCoreSettingRepository.GetListAsync(String providerName, String providerKey, CancellationToken cancellationToken) at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync()
at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed)
at Volo.Abp.SettingManagement.SettingManagementStore.SetCacheItemsAsync(String providerName, String providerKey, String currentName, SettingCacheItem currentCacheItem)
at Volo.Abp.SettingManagement.SettingManagementStore.GetCacheItemAsync(String name, String providerName, String providerKey)
at Volo.Abp.SettingManagement.SettingManagementStore.GetOrNullAsync(String name, String providerName, String providerKey)
at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync() at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation) at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) at Volo.Abp.Settings.UserSettingValueProvider.GetOrNullAsync(SettingDefinition setting) at Volo.Abp.Settings.SettingProvider.GetOrNullValueFromProvidersAsync(IEnumerable1 providers, SettingDefinition setting)
at Volo.Abp.Settings.SettingProvider.GetOrNullAsync(String name)
at Volo.Abp.Settings.SettingProviderExtensions.GetAsync[T](ISettingProvider settingProvider, String name, T defaultValue)
at Volo.Abp.Identity.AbpIdentityOptionsManager.OverrideOptionsAsync(String name, IdentityOptions options)
at Volo.Abp.Identity.IdentityDataSeeder.SeedAsync(String adminEmail, String adminPassword, Nullable1 tenantId) at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync()
at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed)
at Volo.Abp.Data.DataSeeder.SeedAsync(DataSeedContext context)
at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous(IInvocation invocation, IInvocationProceedInfo proceedInfo)
at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapter.ProceedAsync()
at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync(IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed)
at Acme.Bookstore.BookstoreTestBaseModule.<>c__DisplayClass2_0.<<SeedTestData>b__0>d.MoveNext() in C:\Users\scott\source\repos\Acme.Bookstore\aspnet-core\test\Acme.Bookstore.TestBase\BookstoreTestBaseModule.cs:line 41
--- End of stack trace from previous location ---
at Nito.AsyncEx.Synchronous.TaskExtensions.WaitAndUnwrapException(Task task)
at Nito.AsyncEx.AsyncContext.<>c__DisplayClass15_0.<Run>b__0(Task t)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
--- End of stack trace from previous location ---
at Nito.AsyncEx.Synchronous.TaskExtensions.WaitAndUnwrapException(Task task)
at Nito.AsyncEx.AsyncContext.Run(Func1 action) at Volo.Abp.Threading.AsyncHelper.RunSync(Func1 action)
at Acme.Bookstore.BookstoreTestBaseModule.SeedTestData(ApplicationInitializationContext context) in C:\Users\scott\source\repos\Acme.Bookstore\aspnet-core\test\Acme.Bookstore.TestBase\BookstoreTestBaseModule.cs:line 37
at Acme.Bookstore.BookstoreTestBaseModule.OnApplicationInitialization(ApplicationInitializationContext context) in C:\Users\scott\source\repos\Acme.Bookstore\aspnet-core\test\Acme.Bookstore.TestBase\BookstoreTestBaseModule.cs:line 32
at Volo.Abp.Modularity.OnApplicationInitializationModuleLifecycleContributor.Initialize(ApplicationInitializationContext context, IAbpModule module)
at Volo.Abp.Modularity.ModuleManager.InitializeModules(ApplicationInitializationContext context)
/home/runner/work/Anlar.Everest/Anlar.Everest/aspnet-core/src/Anlar.Everest.HttpApi.Client/Anlar.Everest.HttpApi.Client.csproj : error NU1101: Unable to find package Volo.Saas.Host.HttpApi.Client. No packages exist with this id in source(s): ABP Commercial NuGet Source, github, nuget.org [/home/runner/work/Anlar.Everest/Anlar.Everest/aspnet-core/Anlar.Everest.sln]
We have been getting this from our build servers all day and now our development team cannot download ABP commercial packages on their development machines. When can we expect a resolution?
If you're creating a bug/problem report, please include followings:
We are running into an issue after upgrading from ABP v5.3.3 to v6.0.3 with our SignalR implementation. After the upgrade, the CurrentUser property of the messaging hub is not populated with the user context of the authenticated user. CurrentUser.Id is always null. In our case, we only establish the connection to the MessagingHub once the user is authenticated. Prior to the upgrade, this was working as shown.
Any help we can get on this would be appreciated.
[HubRoute("/messaging-hub")]
public class MessagingHub : AbpHub
{
public readonly static ConnectionMapping _connections = new();
private readonly IHubContext<MessagingHub> _hubContext;
public MessagingHub(IHubContext<MessagingHub> hubContext)
{
_hubContext = hubContext;
}
public override Task OnConnectedAsync()
{
if (CurrentUser.Id is not null)
{
_connections.Add(
(Guid)CurrentUser.Id,
Context.ConnectionId,
CurrentTenant.Id);
}
return base.OnConnectedAsync();
}
public override Task OnDisconnectedAsync(Exception exception)
{
if (CurrentUser.Id is not null)
{
_connections.RemoveConnectionsByUserId((Guid)CurrentUser.Id);
}
return base.OnDisconnectedAsync(exception);
}
public async Task SendNotificationToUser(Guid userId, AlertMessage message)
{
var connections = _connections.GetConnectionsByUserId(userId);
foreach (var connection in connections)
{
await _hubContext.Clients.Client(connection.ConnectionId).SendAsync("NotificationReceived", message);
}
}
}
We have been experiencing this issue all day.
We have a project which was created using ABP Suite 6.0.0. I was updating this project today to v6.0.2 using the ABP CLI. After the upgrade, I noticed that the package.json file in the aspnet-core/src/{my-project}.HttpApi.Host folder is referencing the 1.0.0-rc.7 version of the @volo/abp.aspnetcore.mvc.ui.theme.leptonx package. There is a 1.0.0 and a 2.0.0 version of this package on NPM. Why is the rc version still referenced? Should I be using the 1.0.0 or the 2.0.0 version of this library?
{
"version": "1.0.0",
"name": "my-app",
"private": true,
"dependencies": {
"@volo/abp.aspnetcore.mvc.ui.theme.leptonx": "~1.0.0-rc.7",
"@volo/account": "^6.0.2"
}
}
We have been experiencing intermittent but frequent issues today (2023-01-09) in our automated github builds and on our development machines when trying to download the commercial packages from ABP's nuget server.
And we fixed proxy generation. The fix will be available in 6.0.2
@muhammedalhug You indicated in the thread above that a fix for proxy generation would be in 6.0.2. Is there a timeframe on that release?
This had occurred in a solution we upgraded from rc.3 to the final release build. When we created a new project, the issue is not there. We have tracked down and resolved the issue in our existing project. Thanks!