Created new Microservice Solution via ABP Studio.
- Template: microservice
- Template Type: Classic
- Created ABP Studio Version: 3.0.3
- Current ABP Studio Version: 3.0.3
- Multi-Tenancy: Yes
- UI Framework: mvc
- Theme: leptonx
- Theme Style: system
- Theme Menu Placement: top
- Database Provider: ef
- Database Management System: postgresql
- Mobile Framework: none
- Public Website: No
- Social Login: Yes
- Include Tests: Yes
- Dynamic Localization: Yes
- Kubernetes Configuration: Yes
- Grafana Dashboard: No
- Use Local References: No
- Aspire: Yes
- Optional Modules:
- GDPR
- FileManagement
- TextTemplateManagement
- AuditLogging
- Chat
- OpenIddictAdmin
- Selected Languages: English
- Default Language: English
- Create Command: abp new SPI_GreenWave365 -t microservice --ui-framework mvc --database-provider ef --database-management-system postgresql --theme leptonx --skip-migration --skip-migrator --without-cms-kit --aspire --dont-run-install-libs --dont-run-bundling -no-language-management -chat -file-management
Issue adding 2 new Web Modules to apps
- Exception message and full stack trace: An internal error occurred during your request!
System.NullReferenceException: Object reference not set to an instance of an object. at new Volo.Abp.Studio.UI.ViewModels.SolutionTunnel.Items.HelmSubChartItemViewModel(ChartUIModel model, SolutionTunnelHelmItemViewModel parent) at SolutionTunnelHelmItemViewModel Volo.Abp.Studio.UI.ViewModels.SolutionTunnel.Items.HelmMainChartItemViewModel.rthVRyxqo3(ChartUIModel ) at IObservable<IChangeSet<TDestination, TKey>> DynamicData.Cache.Internal.Transform<TDestination, TSource, TKey>.RunImpl()+(ChangeAwareCache<TDestination, TKey> cache, IChangeSet<TSource, TKey> cha nges) => { } in //src/DynamicData/Cache/Internal/Transform.cs:line 22 at void System.Reactive.Linq.ObservableImpl.Scan<TSource, TAccumulate>+.OnNext(TSource value) at void System.Reactive.AutoDetachObserver<T>.OnErrorCore(Exception exception) at void System.Reactive.Sink<TSource, TTarget>.OnError(Exception error) at void System.Reactive.Concurrency.Synchronize<TSource>+.OnError(Exception error) at void System.Reactive.Sink<TTarget>.ForwardOnError(Exception error) at void System.Reactive.ObserveOnObserverNew<T>.DrainStep(ConcurrentQueue<T> q) at IDisposable Avalonia.ReactiveUI.AvaloniaScheduler.Schedule<TState>(TState state, TimeSpan dueTime, Func<IScheduler, TState, IDisposable> action) at void System.Reactive.ObserveOnObserverNew<T>.Schedule() at void System.Reactive.AutoDetachObserver<T>.OnErrorCore(Exception exception) at void DynamicData.Cache.Internal.DisposeMany<TObject, TKey>+<>c__DisplayClass2_0.<Run>b__2(?)+(Exception error) => { } in //src/DynamicData/Cache/Internal/DisposeMany.cs:line 52 at void System.Reactive.Concurrency.Synchronize<TSource>+.OnError(Exception error) at void System.Reactive.Sink<TSource, TTarget>.OnError(Exception error) x 3 at void System.Reactive.Sink<TTarget>.ForwardOnError(Exception error) at void System.Reactive.Linq.ObservableImpl.Scan<TSource, TAccumulate>+.OnNext(TSource value) at void System.Reactive.AutoDetachObserver<T>.OnNextCore(T value) x 2 at void System.Reactive.Linq.ObservableImpl.Where<TSource>+Predicate+.OnNext(TSource value) at void DynamicData.ObservableCache<TObject, TKey>.UpdateFromSource(Action<ISourceUpdater<TObject, TKey>> updateAction) in //src/DynamicData/Cache/ObservableCache.cs:line 237 at async Task Volo.Abp.Studio.UI.Solutions.Items.Helm.ChartUIModel.LoadInternalAsync(bool isReloading) at async Task Volo.Abp.Studio.UI.Solutions.Items.Helm.ChartUIModel.RefreshSubChartsAsync() x 2 at async Task Volo.Abp.Studio.UI.Solutions.Items.Helm.ChartsRootUIModel.RefreshChartsAsync() at async Task<string> Volo.Abp.Studio.UI.ViewModels.NewModule.NewModuleTemplateWizardWindowViewModel.OSK47uvbYu() at async Task Volo.Abp.Studio.UI.ViewModels.NewModule.NewModuleTemplateWizardWindowViewModel.C5hq5Fr2ea()
- Steps to reproduce the issue: Create new Solution as listed above. right click apps -> Add -> new Module -> Web Added module same as configured about "TenantAdminWeb"
Repeat process after build for "TenantWeb"
Exception thrown.
6 Answer(s)
-
0
This looks like an ABP Studio 3.0.3 UI crash while it is trying to refresh the Kubernetes/Helm chart tree after you add the second Web module (
apps -> Add -> New Module -> Web). The stack trace is inside ABP Studio (HelmSubChartItemViewModel,ChartUIModel.RefreshSubChartsAsync), not in your solution code, and it typically happens when Studio expects a Helm subchart metadata object but it is missing/null for the newly added app.Workaround (recommended): manually create the Helm subchart for the new web app, then refresh charts.
- Open your solution’s main Helm chart folder (the one that contains a
Chart.yamland acharts/directory) in VS Code. - Under the
charts/folder, create a new folder for your new web app (e.g.tenant-web/). - Copy an existing working web subchart folder (e.g. the one created for
TenantAdminWeb) as a template, and update its metadata/values to match the new app (image name, project path, etc.). - Go back to ABP Studio and on the main chart, run Refresh Sub Charts.
This aligns with ABP Studio’s documented flow: when you add a microservice/module, you should also create its subchart, then refresh subcharts so Studio can load them properly.
- Open your solution’s main Helm chart folder (the one that contains a
Practical mitigation if you don’t need Kubernetes integration right now:
- Disable/avoid using the Kubernetes/Charts view in Studio for this solution until you’ve created the missing subcharts (the crash is triggered during chart refresh/loading).
If you want this fixed in Studio rather than working around it:
- This is an ABP Studio product bug (NullReference during chart/subchart loading). Please report it to Volosoft via the official contact channel and include your stack trace + the exact “new module” names you used and that Kubernetes config is enabled.
(Links verified)
- https://abp.io/docs/latest/studio/kubernetes
- https://abp.io/contact
This response was generated by AI. If it didn’t solve your problem, feel free to post a new answer — our support team will jump in to help you soon.
Markdown supported.Copy, paste, or drag & drop images and files (max 100 MB per file, 100 MB total per post) -
0
Please Escalate to ABP Studio product bug as I cannot tell if this is only breaking chart or there are other operations not working.
Markdown supported.Copy, paste, or drag & drop images and files (max 100 MB per file, 100 MB total per post) -
0
When is the next release? Is there a workaround? We just upgraded the license and wanted to start producing our next platform, this is causing delay and wasting time on license.
Markdown supported.Copy, paste, or drag & drop images and files (max 100 MB per file, 100 MB total per post) -
0
Hi,
We'll get the new release out as soon as we can — the fix is already merged.
In the meantime, restarting ABP Studio and reopening the solution before adding the next web module should let you continue. The crash depends on transient in-memory state that gets reset on a fresh start, so a clean restart between module additions avoids it.
Thanks
Markdown supported.Copy, paste, or drag & drop images and files (max 100 MB per file, 100 MB total per post)