Skip to content

AL language server stack overflow in reportextension binding causes repeated server crashes #8259

@ian-morgan99

Description

@ian-morgan99

## Describe the bug
The AL language server repeatedly crashes with:

The AL server crashed 5 times in the last 3 minutes. The server will not be restarted.

From AL output, this is a stack overflow in report-extension binding/flattening.

Environment

  • VS Code: 1.119.0
  • AL extension: ms-dynamics-smb.al-18.0.2293710
  • OS: Windows

Repro context

In a single VS Code workspace folder, multiple AL app projects are present as subfolders (each with its own app.json), including two app folders that both contain reportextension objects with overlapping IDs and shared base report targets.

Generalized pattern from workspace:

  • same reportextension IDs appear in more than one project folder
  • those extensions target the same base reports
  • opening the combined workspace causes repeated AL server crashes

Actual behavior

AL language server crashes repeatedly and eventually stops restarting.

Expected behavior

AL language server should not crash. If project composition is unsupported, it should provide a diagnostic or warning instead of stack overflow.

AL output excerpt

Stack overflow.
   at Microsoft.Dynamics.Nav.CodeAnalysis.Binder.CheckViability(...)
   at Microsoft.Dynamics.Nav.CodeAnalysis.IsolatedReportExtensionScopeBinder.LookupSymbolsInSingleBinder(...)
   at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.SourceReportDataItemSymbol.TrySetSourceTable(...)
   at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.ReportExtensionTypeSymbol.BuildFlattenedDataItemList(...)
   at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.ReportExtensionTypeSymbol.get_FlattenedDataItems()
   at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.SourceReportExtensionTypeSymbol.GetCodeMembers(System.String)
   ... repeats until stack overflow ...

Notes

This appears to be recursive symbol lookup while processing report extension dataitems and extension members.

Internal work item: AB#634873

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions