microsoft / microsoft/AL

error AL0999: Internal Error

Open
#5,036 17 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

al-core-compiler bug
Dominant language
PowerShell
Stars
881
Forks
285
Avg merge
3d 36m
Merged PRs (30d)
1

Description

I am getting an internal Error AL0999 when

  • Packaging the App
  • Publishing the App
  • Using the alc.exe compiler from command line
  • In the "Problems" section of VS Code (it is linked to app.json)

The app I am trying to build is one containing a whole ISV solution except the >2000000000 objects, that are in the System.app.

Except for the internal error linked to the app.json, there is no other Problem shown in VS Code.

The Stack Trace is:
error AL0999: Internal error: System.AggregateException: One or more errors occurred. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.SourceControlSymbol.CheckControl() in F:\a\435\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Symbols\Source\SourceControlSymbol.cs:line 381
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.SourceControlSymbol.ForceComplete(SourceLocation locationOpt, CancellationToken cancellationToken) in F:\a\435\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Symbols\Source\SourceControlSymbol.cs:line 194
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.SourceControlSymbol.ForceCompleteMembers(SourceLocation locationOpt, CancellationToken cancellationToken) in F:\a\435\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Symbols\Source\SourceControlSymbol.cs:line 247
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.SourceControlSymbol.ForceComplete(SourceLocation locationOpt, CancellationToken cancellationToken) in F:\a\435\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Symbols\Source\SourceControlSymbol.cs:line 183
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.ObjectMembers1.ForceMembersCompleteAndCheckUniqueness(SourceLocation locationOpt, DiagnosticBag diagnostics, CancellationToken cancellationToken, Predicate1 excludeFromNameUniqueness) in F:\a\435\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Symbols\Members\ObjectMembers.cs:line 174
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.ObjectMembers1.ForceCompleteMembers(SourceLocation locationOpt, CancellationToken cancellationToken, Predicate1 excludeFromNameUniqueness) in F:\a\435\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Symbols\Members\ObjectMembers.cs:line 766
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.ObjectMembers1.ForceComplete(SourceLocation locationOpt, CancellationToken cancellationToken, Predicate1 excludeFromNameUniqueness) in F:\a\435\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Symbols\Members\ObjectMembers.cs:line 734
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.SourceRequestPageTypeSymbol.ForceComplete(SourceLocation locationOpt, CancellationToken cancellationToken) in F:\a\435\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Symbols\Source\SourceRequestPageTypeSymbol.cs:line 53
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.ObjectMembers1.ForceMembersCompleteAndCheckUniqueness(SourceLocation locationOpt, DiagnosticBag diagnostics, CancellationToken cancellationToken, Predicate1 excludeFromNameUniqueness) in F:\a\435\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Symbols\Members\ObjectMembers.cs:line 174
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.ObjectMembers1.ForceCompleteMembers(SourceLocation locationOpt, CancellationToken cancellationToken, Predicate1 excludeFromNameUniqueness) in F:\a\435\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Symbols\Members\ObjectMembers.cs:line 766
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.ObjectMembers1.ForceComplete(SourceLocation locationOpt, CancellationToken cancellationToken, Predicate1 excludeFromNameUniqueness) in F:\a\435\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Symbols\Members\ObjectMembers.cs:line 734
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.SourceReportTypeSymbol.ForceComplete(SourceLocation locationOpt, CancellationToken cancellationToken) in F:\a\435\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Symbols\Source\SourceReportTypeSymbol.cs:line 56
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.SourceModuleSymbol.ForceCompleteMemberByLocation(SourceLocation locationOpt, Symbol member, CancellationToken cancellationToken) in F:\a\435\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Symbols\Source\SourceModuleSymbol.cs:line 207
at Microsoft.Dynamics.Nav.CodeAnalysis.Utilities.UICultureUtilities.<>c__DisplayClass6_01.<WithCurrentUICulture>b__0(T param) in F:\a\435\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Utilities\UICultureUtilities.cs:line 178 at System.Threading.Tasks.Parallel.<>c__DisplayClass17_01.b__1()
at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
at System.Threading.Tasks.Task.<>c__DisplayClass176_0.b__0(Object )
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action1 body, Action2 bodyWithState, Func4 bodyWithLocal, Func1 localInit, Action1 localFinally) at System.Threading.Tasks.Parallel.For(Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action1 body)
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.SourceModuleSymbol.ForceComplete(SourceLocation locationOpt, CancellationToken cancellationToken) in F:\a\435\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Symbols\Source\SourceModuleSymbol.cs:line 109
at Microsoft.Dynamics.Nav.CodeAnalysis.Compilation.GetSourceDeclarationDiagnostics(SyntaxTree syntaxTree, Nullable1 filterSpanWithinTree, Func4 locationFilterOpt, CancellationToken cancellationToken) in F:\a\435\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Compilation\Compilation.cs:line 889
at Microsoft.Dynamics.Nav.CodeAnalysis.Compilation.GetDiagnostics(CompilationStage stage, Boolean includeEarlierStages, CancellationToken cancellationToken) in F:\a\435\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Compilation\Compilation.cs:line 583
---> (Inner Exception #0) System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.SourceControlSymbol.CheckControl() in F:\a\435\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Symbols\Source\SourceControlSymbol.cs:line 381
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.SourceControlSymbol.ForceComplete(SourceLocation locationOpt, CancellationToken cancellationToken) in F:\a\435\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Symbols\Source\SourceControlSymbol.cs:line 194
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.SourceControlSymbol.ForceCompleteMembers(SourceLocation locationOpt, CancellationToken cancellationToken) in F:\a\435\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Symbols\Source\SourceControlSymbol.cs:line 247
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.SourceControlSymbol.ForceComplete(SourceLocation locationOpt, CancellationToken cancellationToken) in F:\a\435\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Symbols\Source\SourceControlSymbol.cs:line 183
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.ObjectMembers1.ForceMembersCompleteAndCheckUniqueness(SourceLocation locationOpt, DiagnosticBag diagnostics, CancellationToken cancellationToken, Predicate1 excludeFromNameUniqueness) in F:\a\435\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Symbols\Members\ObjectMembers.cs:line 174
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.ObjectMembers1.ForceCompleteMembers(SourceLocation locationOpt, CancellationToken cancellationToken, Predicate1 excludeFromNameUniqueness) in F:\a\435\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Symbols\Members\ObjectMembers.cs:line 766
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.ObjectMembers1.ForceComplete(SourceLocation locationOpt, CancellationToken cancellationToken, Predicate1 excludeFromNameUniqueness) in F:\a\435\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Symbols\Members\ObjectMembers.cs:line 734
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.SourceRequestPageTypeSymbol.ForceComplete(SourceLocation locationOpt, CancellationToken cancellationToken) in F:\a\435\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Symbols\Source\SourceRequestPageTypeSymbol.cs:line 53
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.ObjectMembers1.ForceMembersCompleteAndCheckUniqueness(SourceLocation locationOpt, DiagnosticBag diagnostics, CancellationToken cancellationToken, Predicate1 excludeFromNameUniqueness) in F:\a\435\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Symbols\Members\ObjectMembers.cs:line 174
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.ObjectMembers1.ForceCompleteMembers(SourceLocation locationOpt, CancellationToken cancellationToken, Predicate1 excludeFromNameUniqueness) in F:\a\435\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Symbols\Members\ObjectMembers.cs:line 766
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.ObjectMembers1.ForceComplete(SourceLocation locationOpt, CancellationToken cancellationToken, Predicate1 excludeFromNameUniqueness) in F:\a\435\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Symbols\Members\ObjectMembers.cs:line 734
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.SourceReportTypeSymbol.ForceComplete(SourceLocation locationOpt, CancellationToken cancellationToken) in F:\a\435\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Symbols\Source\SourceReportTypeSymbol.cs:line 56
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.SourceModuleSymbol.ForceCompleteMemberByLocation(SourceLocation locationOpt, Symbol member, CancellationToken cancellationToken) in F:\a\435\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Symbols\Source\SourceModuleSymbol.cs:line 207
at Microsoft.Dynamics.Nav.CodeAnalysis.Utilities.UICultureUtilities.<>c__DisplayClass6_01.<WithCurrentUICulture>b__0(T param) in F:\a\435\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Utilities\UICultureUtilities.cs:line 178 at System.Threading.Tasks.Parallel.<>c__DisplayClass17_01.b__1()
at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
at System.Threading.Tasks.Task.<>c__DisplayClass176_0.b__0(Object )<---

The app.json looks like this:
{
"id": "fc724af7-2eca-4dd2-bd2f-a0abd326f7c6",
"name": "App",
"publisher": "Default Publisher",
"version": "1.0.0.0",
"dependencies": [],
"platform": "14.0.0.0",
"idRanges": [
{
"from": 1,
"to": 2000000000
}
],
"showMyCode": false,
"runtime": "3.0",
"target": "Internal",
"features": ["TranslationFile"]
}

AL Language Extension: 3.0.126610

The error message is unfortunately not very specific, so I have no idea what to look for. Any hints what to look for?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the AL0999 using the supplied app.json and the alc.exe command-line compiler or VS Code Problems view. Start with SourceControlSymbol.CheckControl at line 381 in the stack trace; done means the same app no longer produces the internal NullReferenceException during packaging or publishing.

Written by the indexing model from the issue text.

Assessment

Tech stack
vscode
Domain
compilers, devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.