martonsagi / al-object-designer

AL Object Designer for Dynamics 365 Business Central development
MIT License
39 stars 21 forks source link

'al/gotodefinition' failed with error: 'Index was outside the bounds of the array. #81

Open Jiribu73 opened 3 years ago

Jiribu73 commented 3 years ago

Hi, I have proble with AL Object Designer extension and al/gotodefinition error. How to reproduce:

  1. Open AL Object Designer
  2. Open Table 4 - Currency
  3. Focus mouse on LookupPageID Currencies
  4. Page Currencies is automatically opened in a new window with this error in the Output

[Error - 15:03:09] Please report this issue to https://github.com/microsoft/al/issues including information on how to reproduce it, if possible. Processing of message 'al/gotodefinition' failed with error: 'Index was outside the bounds of the array.' Details: System.IndexOutOfRangeException: Index was outside the bounds of the array. at Microsoft.Dynamics.Nav.EditorServices.Protocol.FilePathHelper.ParsePreviewFileUrl(Uri uri) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\FilePathHelper.cs:line 97 at Microsoft.Dynamics.Nav.EditorServices.Protocol.LanguageServer.ReferenceSymbolDefinitionManager.GetDeclaringSymbolAsync(Uri previewUri, CancellationToken token) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\LanguageServer\ReferenceSymbolDefinitionManager.cs:line 137 at Microsoft.Dynamics.Nav.EditorServices.Protocol.LanguageServer.ReferenceSymbolDefinitionManager.GetContentAsync(Uri previewUri, LaunchConfiguration configuration, CancellationToken token, Boolean relyOnCachedValue) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\LanguageServer\ReferenceSymbolDefinitionManager.cs:line 73 at Microsoft.Dynamics.Nav.EditorServices.Protocol.LanguageServer.ReferenceSymbolDefinitionManager.GetDefinitionForSymbolAtPositionAsync(Uri previewUri, Position requestPosition, LaunchConfiguration configuration, CancellationToken cancellationToken) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\LanguageServer\ReferenceSymbolDefinitionManager.cs:line 101 at Microsoft.Dynamics.Nav.EditorServices.Protocol.LanguageServer.Extensions.AlDefinitionRequestHandler.ProcessRequestAsync(AlDefinitionRequest request, Int32 requestId, CancellationToken cancellationToken) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\LanguageServer\Extensions\AlDefinitionRequestHandler.cs:line 50 at Microsoft.Dynamics.Nav.EditorServices.Protocol.LanguageServer.Extensions.NavServerRequestHandler2.HandleAsync(T request, Int32 requestId, CancellationToken cancellationToken) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\LanguageServer\Extensions\NavServerRequestHandler.cs:line 40 at Microsoft.Dynamics.Nav.EditorServices.Protocol.MessageProtocol.RequestHandlerBase1.HandleAsync(JToken requestContents, Int32 requestId, CancellationToken cancellationToken) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\MessageProtocol\RequestHandlerBase.cs:line 63 at Microsoft.Dynamics.Nav.EditorServices.Protocol.RequestRegistry.Process(Message message) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\Endpoints\RequestRegistry.cs:line 64

There are several similar issues on the al GitHub but from my investigation the problem is wit AL Object Designer extension.

Regards

Jiri

Badaboomchef commented 3 years ago

Hello, I have the same error "environmentType": "OnPrem", "serverInstance": "BC170", 'al/gotodefinition' failed with error: 'Index was outside the bounds of the array.'

PaulFurlet commented 3 years ago

Getting the same very often when looking up functions in standard applications my app has dependency on.

Processing of message 'al/gotodefinition' failed with error: 'Index was outside the bounds of the array.' Details: System.IndexOutOfRangeException: Index was outside the bounds of the array. at Microsoft.Dynamics.Nav.EditorServices.Protocol.FilePathHelper.ParsePreviewFileUrl(Uri uri) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\FilePathHelper.cs:line 97 at Microsoft.Dynamics.Nav.EditorServices.Protocol.LanguageServer.ReferenceSymbolDefinitionManager.GetDeclaringSymbolAsync(Uri previewUri, CancellationToken token) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\LanguageServer\ReferenceSymbolDefinitionManager.cs:line 154 at Microsoft.Dynamics.Nav.EditorServices.Protocol.LanguageServer.ReferenceSymbolDefinitionManager.GetContentAsync(Uri previewUri, LaunchConfiguration configuration, CancellationToken token, Boolean relyOnCachedValue) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\LanguageServer\ReferenceSymbolDefinitionManager.cs:line 93 at Microsoft.Dynamics.Nav.EditorServices.Protocol.LanguageServer.ReferenceSymbolDefinitionManager.GetDefinitionForSymbolAtPositionAsync(Uri previewUri, Position requestPosition, LaunchConfiguration configuration, CancellationToken cancellationToken) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\LanguageServer\ReferenceSymbolDefinitionManager.cs:line 107 at Microsoft.Dynamics.Nav.EditorServices.Protocol.LanguageServer.Extensions.AlDefinitionRequestHandler.ProcessRequestAsync(AlDefinitionRequest request, Int32 requestId, CancellationToken cancellationToken) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\LanguageServer\Extensions\AlDefinitionRequestHandler.cs:line 71 at Microsoft.Dynamics.Nav.EditorServices.Protocol.LanguageServer.Extensions.NavServerRequestHandler2.HandleAsync(T request, Int32 requestId, CancellationToken cancellationToken) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\LanguageServer\Extensions\NavServerRequestHandler.cs:line 77 at Microsoft.Dynamics.Nav.EditorServices.Protocol.MessageProtocol.RequestHandlerBase1.HandleAsync(JToken requestContents, Int32 requestId, CancellationToken cancellationToken) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\MessageProtocol\RequestHandlerBase.cs:line 65 at Microsoft.Dynamics.Nav.EditorServices.Protocol.RequestRegistry.Process(Message message) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\Endpoints\RequestRegistry.cs:line 80

dennisroczek commented 3 years ago

This always happen if you open .dal files. .al files work without any problem.

PaulFurlet commented 3 years ago

@dennisroczek then why sometimes it works perfectly and without errors, sometimes gives an error. I could not find dependency on what I do and how it performs...