Open Closed

ABP Studio - Microservice Solution - Adding additional Web Apps #10693


User avatar
0
ydruck@greenwavecommissions.com created

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.

Markdown supported.
Copy, paste, or drag & drop images and files (max 100 MB per file, 100 MB total per post)

6 Answer(s)
  • User Avatar
    0
    AI-Bot created
    Support Team ABP Agent
    • 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.

      1. Open your solution’s main Helm chart folder (the one that contains a Chart.yaml and a charts/ directory) in VS Code.
      2. Under the charts/ folder, create a new folder for your new web app (e.g. tenant-web/).
      3. 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.).
      4. 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.

    • 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)
  • User Avatar
    0
    ydruck@greenwavecommissions.com created

    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)
  • User Avatar
    1
    maliming created
    Support Team Fullstack Developer

    Hi,

    Thanks for the report — we've confirmed this is a bug in ABP Studio and will ship a fix in the next release.

    Thanks

    Markdown supported.
    Copy, paste, or drag & drop images and files (max 100 MB per file, 100 MB total per post)
  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    Your current ticket has been refunded.

    Thanks.

    Markdown supported.
    Copy, paste, or drag & drop images and files (max 100 MB per file, 100 MB total per post)
  • User Avatar
    0
    ydruck@greenwavecommissions.com created

    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)
  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    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)
Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.8.0-preview. Updated on September 28, 2026, 11:44
1
ABP Assistant
🔐 You need to be logged in to use the chatbot. Please log in first.