microsoft / AL

Home of the Dynamics 365 Business Central AL Language extension for Visual Studio Code. Used to track issues regarding the latest version of the AL compiler and developer tools available in the Visual Studio Code Marketplace or as part of the AL Developer Preview builds for Dynamics 365 Business Central.
MIT License
745 stars 245 forks source link

Debugger crashes: Please improve exception handling and error messages #7273

Closed DanielGoehler closed 1 year ago

DanielGoehler commented 1 year ago

Please include the following with each issue:

1. Describe the bug When I try to open the global varibales in a debugging session for a cloud sandbox, the debugger crashes. Unfortunately, the only error message I get is "Error: Object reference not set to an instance of an object.". It would be nice if the AL Language Extension exception handling was better and there was a clear and unambiguous error message so that I can create an issue with more details, other than it crashed, other than the object reference was not set to an instance of an object.

206142226-0f0424b0-68b6-4ac3-aa97-eb3e6f99f428 Screenshot 002

2. To Reproduce Steps to reproduce the behavior:

  1. Debug in a Cloud Sandbox
  2. Run into an error
  3. Expand the Global Variables

3. Expected behavior Debugger should not crash

4. Actual behavior Debugger crashes

5. Versions:

Final Checklist

Please remember to do the following:

deadmouse commented 1 year ago

I get this one too, specifically, when I want to see global variables of a report.

f0ffee commented 1 year ago

Same here (same version of vsc and AL), opening both global and local variables in any kind of object, debugging an OnPrem Docker environment. Debugging has become overly annoying.

christianbraeunlich commented 1 year ago

Have you tried the fix mentioned in https://github.com/microsoft/AL/issues/7225?

DanielGoehler commented 1 year ago

@christianbraeunlich What do you mean exactly? The use of the Insider Preview AL Language Extension instead of the current stable version?

nndobrev commented 1 year ago

@DanielGoehler the fix @christianbraeunlich is suggesting is not a vsix fix, it is server fix and it can be found in either Insider builds or it will become available with 21.3. We will also take a look at this issue and if they are related.

kalberes commented 1 year ago

@DanielGoehler It would be nice if you could share a DebuggerServices.log (how see: #5882). Else an issue like this will be buried with a not repro. Also since you are using docker, do you have any relevant debugger info in your docker event viewer for teh running NST? I mean there must be something specific to your and @f0ffee else we would get a storm that people cannot debug. Isn ' it? Would be nice to find what is that. And then we will fix the issue.

DanielGoehler commented 1 year ago

@nndobrev Unfortunately, I don't know how to update a Cloud Sandbox to an Insider build.

DanielGoehler commented 1 year ago

@kalberes Attached is the DebuggerServices.log with cleaned up sensitive information. Unfortunately, I did not find any helpful information in it.

For me this is way too much work to create a Docker, connect them to Dynamics 365 Sales to get the event log. I'm not even sure if the cloud sandbox can be connected exactly like the integrated connection in the cloud.

But if you tell me how to get the cloud sandbox event log, I'll be happy to provide it.

12/16/2022 20:42:39 [/1] Editor Services Host v10.2.10.64543 starting (pid 10776)...
12/16/2022 20:42:39 [/1] Editor Services Host started!
12/16/2022 20:42:40 [/7] Process:

 initialize
12/16/2022 20:42:40 [/7] Processing initialize took 0 seconds
12/16/2022 20:42:40 [/9] Process:

 launch
12/16/2022 20:42:42 [/9] Sending request to https://api.businesscentral.dynamics.com/v2.0/sandbox-wawi/dev/apps?tenant=*sanitized*&SchemaUpdateMode=synchronize&DependencyPublishingOption=default with request ID da279535-254c-4eb6-9e6b-9edb0914ab8f and session ID 4760101b-0d4f-443d-ab2a-78af3bbda739
12/16/2022 20:43:05 [/20] Establishing SignalR connection using AspNetCore SignalR library
12/16/2022 20:43:06 [/9] Processing launch took 0 seconds
12/16/2022 20:43:10 [/16] Process:

 setBreakpoints
12/16/2022 20:43:10 [/16] Parsing Report 50006 "*sanitized* CRM Upd. Country".
12/16/2022 20:43:11 [/15] Processing setbreakpoints took 0 seconds
12/16/2022 20:43:11 [/14] Process:

 configurationDone
12/16/2022 20:43:11 [/15] Processing configurationdone took 0 seconds
12/16/2022 20:43:11 [/16] Process:

 threads
12/16/2022 20:43:11 [/16] Processing threads took 0 seconds
12/16/2022 20:44:17 [/15] Process:

 threads
12/16/2022 20:44:17 [/15] Processing threads took 0 seconds
12/16/2022 20:44:17 [/15] Process:

 stackTrace
12/16/2022 20:44:18 [/15] Parsing PermissionSet 70000 "*sanitized* BaseApp".
12/16/2022 20:44:18 [/15] Parsing PermissionSet 50001 "*sanitized* BasicExecute".
12/16/2022 20:44:18 [/15] Parsing PermissionSet 50002 "*sanitized* Setup".
12/16/2022 20:44:18 [/15] Parsing Page 50000 "*sanitized* Bin Content FactBox".
12/16/2022 20:44:18 [/15] Parsing TableExtension 50012 "*sanitized* Customer".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70003 "*sanitized* Customer Card".
12/16/2022 20:44:18 [/15] Parsing PageExtension 50025 "*sanitized* Customer List".
12/16/2022 20:44:18 [/15] Parsing Codeunit 70004 "*sanitized* Data Update Functions".
12/16/2022 20:44:18 [/15] Parsing Codeunit 70003 "*sanitized* Dimension Events".
12/16/2022 20:44:18 [/15] Parsing Enum 50001 "*sanitized* DisableNotPostedConf".
12/16/2022 20:44:18 [/15] Parsing Enum 50000 "*sanitized* DisableReleaseConf".
12/16/2022 20:44:18 [/15] Parsing XmlPort 50000 "*sanitized* Import Item Repair".
12/16/2022 20:44:18 [/15] Parsing Enum 50005 "*sanitized* Industry".
12/16/2022 20:44:18 [/15] Parsing TableExtension 70002 "*sanitized* Item".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70008 "*sanitized* Item Card".
12/16/2022 20:44:18 [/15] Parsing PageExtension 50010 "*sanitized* ItemJournal".
12/16/2022 20:44:18 [/15] Parsing Codeunit 70000 "*sanitized* Item Journal Events".
12/16/2022 20:44:18 [/15] Parsing TableExtension 70003 "*sanitized* Item Journal Line".
12/16/2022 20:44:18 [/15] Parsing TableExtension 70001 "*sanitized* Item Journal Template".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70002 "*sanitized* Item Journal Templates".
12/16/2022 20:44:18 [/15] Parsing PageExtension 50023 "*sanitized* Item Ledger Entries".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70009 "*sanitized* Item List".
12/16/2022 20:44:18 [/15] Parsing PageExtension 50003 "*sanitized* Item Lookup".
12/16/2022 20:44:18 [/15] Parsing PageExtension 50009 "*sanitized* ItemReclassJournal".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70010 "*sanitized* Location Card".
12/16/2022 20:44:18 [/15] Parsing Codeunit 70005 "*sanitized* Location Events".
12/16/2022 20:44:18 [/15] Parsing PageExtension 50006 "*sanitized* Posted Transfer Rcpts".
12/16/2022 20:44:18 [/15] Parsing PageExtension 50005 "*sanitized* Posted Transfer Shpts".
12/16/2022 20:44:18 [/15] Parsing PageExtension 50008 "*sanitized* Posted Transf Rcpt".
12/16/2022 20:44:18 [/15] Parsing PageExtension 50007 "*sanitized* Posted Transf Shipment".
12/16/2022 20:44:18 [/15] Parsing Codeunit 50005 "*sanitized* Report Mgt.".
12/16/2022 20:44:18 [/15] Parsing PermissionSet 50000 "*sanitized* Reports".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70005 "*sanitized* Revaluation Journal".
12/16/2022 20:44:18 [/15] Parsing Page 50001 "*sanitized* SerialNoInfo FactBox".
12/16/2022 20:44:18 [/15] Parsing Page 50002 "*sanitized* Setup".
12/16/2022 20:44:18 [/15] Parsing Table 50000 "*sanitized* Setup".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70006 "*sanitized* SO Processor Activ.".
12/16/2022 20:44:18 [/15] Parsing Codeunit 70007 "*sanitized* Special Order Events".
12/16/2022 20:44:18 [/15] Parsing TableExtension 50006 "*sanitized* Stockkeeping Unit".
12/16/2022 20:44:18 [/15] Parsing PageExtension 50022 "*sanitized* Stockkeeping Unit List".
12/16/2022 20:44:18 [/15] Parsing TableExtension 70004 "*sanitized* Transfer Header".
12/16/2022 20:44:18 [/15] Parsing TableExtension 50002 "*sanitized* Transfer Line".
12/16/2022 20:44:18 [/15] Parsing Codeunit 50000 "*sanitized* TransferMgt".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70037 "*sanitized* Transfer Order".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70024 "*sanitized* Transfer Orders".
12/16/2022 20:44:18 [/15] Parsing TableExtension 50001 "*sanitized* Transfer Rcpt Header".
12/16/2022 20:44:18 [/15] Parsing TableExtension 50000 "*sanitized* Transfer Shpt Header".
12/16/2022 20:44:18 [/15] Parsing PageExtension 50024 "*sanitized* Value Entries".
12/16/2022 20:44:18 [/15] Parsing PageExtension 50004 "*sanitized* Warehouse Entries".
12/16/2022 20:44:18 [/15] Parsing PageExtension 50001 "*sanitized* Warehouse Pick".
12/16/2022 20:44:18 [/15] Parsing PageExtension 50002 "*sanitized* Warehouse Shipment".
12/16/2022 20:44:18 [/15] Parsing Codeunit 50009 "*sanitized* Whse. Info-Pane Mgt.".
12/16/2022 20:44:18 [/15] Parsing PageExtension 50021 "*sanitized* Whse. Shipment Subform".
12/16/2022 20:44:18 [/15] Parsing Page 50003 "*sanitized* Whse.Shpt.Line FactBox".
12/16/2022 20:44:18 [/15] Parsing TableExtension 50005 "*sanitized* CRM Account".
12/16/2022 20:44:18 [/15] Parsing Table 70090 "*sanitized* CRM Country".
12/16/2022 20:44:18 [/15] Parsing Codeunit 50004 "*sanitized* CRM Integration Mgt.".
12/16/2022 20:44:18 [/15] Parsing TableExtension 50003 "*sanitized* CRM Product".
12/16/2022 20:44:18 [/15] Parsing Report 50005 "*sanitized* CRM Upd. Parent Prod.".
12/16/2022 20:44:18 [/15] Parsing Report 50004 "*sanitized* CRM Upd. Products".
12/16/2022 20:44:18 [/15] Parsing PermissionSet 70001 "*sanitized* DataMig".
12/16/2022 20:44:18 [/15] Parsing Page 70001 "*sanitized* Data Migation".
12/16/2022 20:44:18 [/15] Parsing Codeunit 70001 "*sanitized* Data Migration Events".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70000 "*sanitized* General Ledger Entries".
12/16/2022 20:44:18 [/15] Parsing Page 70000 "*sanitized* Import Account Mapping".
12/16/2022 20:44:18 [/15] Parsing Table 70000 "*sanitized* Import Account Mapping".
12/16/2022 20:44:18 [/15] Parsing XmlPort 70000 "*sanitized* Import Gen. Journal".
12/16/2022 20:44:18 [/15] Parsing XmlPort 70002 "*sanitized* Import Item Journal SN".
12/16/2022 20:44:18 [/15] Parsing XmlPort 70001 "*sanitized* Import Open Entries".
12/16/2022 20:44:18 [/15] Parsing Codeunit 70006 "*sanitized* Order Reset Invoiced".
12/16/2022 20:44:18 [/15] Parsing PermissionSet 70002 "*sanitized* DisAdv".
12/16/2022 20:44:18 [/15] Parsing Page 70002 "*sanitized* Dispatch Advice Import".
12/16/2022 20:44:18 [/15] Parsing Table 70001 "*sanitized* Dispatch Advice Import".
12/16/2022 20:44:18 [/15] Parsing XmlPort 70003 "*sanitized* Dispatch Advice Import".
12/16/2022 20:44:18 [/15] Parsing Codeunit 70002 "*sanitized* Proc. Dis. Advice Imp.".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70001 "*sanitized* Serial No. Infor. Card".
12/16/2022 20:44:18 [/15] Parsing TableExtension 70000 "*sanitized* Serial No. Information".
12/16/2022 20:44:18 [/15] Parsing Codeunit 50001 "*sanitized* Dimension Mgt.".
12/16/2022 20:44:18 [/15] Parsing Codeunit 50014 "*sanitized* Check *sanitized*-Setup".
12/16/2022 20:44:18 [/15] Parsing Codeunit 50007 "*sanitized* GeneralEvents".
12/16/2022 20:44:18 [/15] Parsing Codeunit 50006 "*sanitized* Notification Mgt.".
12/16/2022 20:44:18 [/15] Parsing XmlPort 50001 "*sanitized* Import Phys. Inventory".
12/16/2022 20:44:18 [/15] Parsing Codeunit 50003 "*sanitized* Phys. Inventory Events".
12/16/2022 20:44:18 [/15] Parsing PageExtension 50026 "*sanitized* Phys. Inv. Journal".
12/16/2022 20:44:18 [/15] Parsing Codeunit 50017 "*sanitized* Phys. Inv. Man Events".
12/16/2022 20:44:18 [/15] Parsing PageExtension 50028 "*sanitized* Phys. Inv. Recording".
12/16/2022 20:44:18 [/15] Parsing Page 50005 "*sanitized* Scan Page Serial No".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70029 "*sanitized* Blanket Purch Orders".
12/16/2022 20:44:18 [/15] Parsing PageExtension 50018 "*sanitized* BlanketPurch.Order Sub".
12/16/2022 20:44:18 [/15] Parsing EnumExtension 50000 "*sanitized* *sanitized* Email Scenario".
12/16/2022 20:44:18 [/15] Parsing Codeunit 50016 "*sanitized* Notification Email Mgt".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70036 "*sanitized* Posted Purchase Rcpts".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70034 "*sanitized* Posted Purch Cr Memos".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70033 "*sanitized* Posted Purch Invoices".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70013 "*sanitized* Posted Purch. Inv Subf".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70035 "*sanitized* Posted Return Shpts".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70032 "*sanitized* Purchase Credit Memos".
12/16/2022 20:44:18 [/15] Parsing Codeunit 50011 "*sanitized* Purchase Events".
12/16/2022 20:44:18 [/15] Parsing TableExtension 50014 "*sanitized* Purchase Header".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70030 "*sanitized* Purchase Invoices".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70012 "*sanitized* Purchase Invoice Subf".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70007 "*sanitized* Purchase Lines".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70028 "*sanitized* Purchase Order List".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70011 "*sanitized* Purchase Order Subf.".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70027 "*sanitized* Purchase Quotes".
12/16/2022 20:44:18 [/15] Parsing PageExtension 50015 "*sanitized* Purchase Quote Subform".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70031 "*sanitized* Purchase Ret Ord List".
12/16/2022 20:44:18 [/15] Parsing PageExtension 50016 "*sanitized* Purch. Cr.Memo Subform".
12/16/2022 20:44:18 [/15] Parsing PageExtension 50020 "*sanitized* Purch.Return Order Sub".
12/16/2022 20:44:18 [/15] Parsing Page 50004 "*sanitized* Backorder List".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70016 "*sanitized* Blanket Sales Orders".
12/16/2022 20:44:18 [/15] Parsing PageExtension 50017 "*sanitized* Blanket SalesOrder Sub".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70026 "*sanitized* Issued Reminder List".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70022 "*sanitized* Posted Return Receipts".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70021 "*sanitized* Posted Sales Cr. Memos".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70020 "*sanitized* Posted Sales Invoices".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70023 "*sanitized* Posted Sales Shipments".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70025 "*sanitized* Reminder List".
12/16/2022 20:44:18 [/15] Parsing TableExtension 50010 "*sanitized* Return Receipt Line".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70019 "*sanitized* Sales Credit Memos".
12/16/2022 20:44:18 [/15] Parsing TableExtension 50009 "*sanitized* Sales Cr.Memo Line".
12/16/2022 20:44:18 [/15] Parsing PageExtension 50014 "*sanitized* Sales Cr.Memo Subform".
12/16/2022 20:44:18 [/15] Parsing Codeunit 50002 "*sanitized* Sales Events".
12/16/2022 20:44:18 [/15] Parsing TableExtension 50013 "*sanitized* Sales Header".
12/16/2022 20:44:18 [/15] Parsing Codeunit 50008 "*sanitized* Sales Info-Pane Mgt.".
12/16/2022 20:44:18 [/15] Parsing TableExtension 50008 "*sanitized* Sales Invoice Line".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70017 "*sanitized* Sales Invoice List".
12/16/2022 20:44:18 [/15] Parsing PageExtension 50013 "*sanitized* Sales Invoice Subform".
12/16/2022 20:44:18 [/15] Parsing TableExtension 50004 "*sanitized* Sales Line".
12/16/2022 20:44:18 [/15] Parsing TableExtension 50011 "*sanitized* Sales Line Archive".
12/16/2022 20:44:18 [/15] Parsing PageExtension 50011 "*sanitized* Sales Line FactBox".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70015 "*sanitized* Sales Order List".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70004 "*sanitized* Sales Order Subform".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70014 "*sanitized* Sales Quotes".
12/16/2022 20:44:18 [/15] Parsing PageExtension 50012 "*sanitized* Sales Quote Subform".
12/16/2022 20:44:18 [/15] Parsing PageExtension 50019 "*sanitized* Sales Return Order Sub".
12/16/2022 20:44:18 [/15] Parsing PageExtension 70018 "*sanitized* Sales Return Ord. List".
12/16/2022 20:44:18 [/15] Parsing TableExtension 50007 "*sanitized* Sales Shipment Line".
12/16/2022 20:44:18 [/15] Parsing Codeunit 50012 "*sanitized* Transfer Events".
12/16/2022 20:44:18 [/15] Parsing Report 50001 "*sanitized* Transfer Order".
12/16/2022 20:44:18 [/15] Parsing Report 50003 "*sanitized* Transfer Receipt".
12/16/2022 20:44:18 [/15] Parsing Report 50002 "*sanitized* Transfer Shipment".
12/16/2022 20:44:18 [/15] Parsing PageExtension 50000 "*sanitized* VAT Entries".
12/16/2022 20:44:18 [/15] Parsing Report 50000 "*sanitized* VAT Entries".
12/16/2022 20:44:18 [/15] Parsing Codeunit 50010 "*sanitized* Update Dates".
12/16/2022 20:44:18 [/15] Parsing Codeunit 50013 "*sanitized* Update Dates Purch.".
12/16/2022 20:44:18 [/15] Parsing Enum 50006 "*sanitized* Updt.InvtPutAwayP.Date".
12/16/2022 20:44:18 [/15] Parsing Enum 50002 "*sanitized* Updt.Posting/Doc.Date".
12/16/2022 20:44:18 [/15] Parsing Enum 50003 "*sanitized* Updt.Post./Shpt.Date".
12/16/2022 20:44:18 [/15] Parsing Enum 50004 "*sanitized* Updt.Shpt.DateS.L.".
12/16/2022 20:44:18 [/15] Parsing PermissionSet 50003 "*sanitized* Inventory".
12/16/2022 20:44:19 [/15] Processing stacktrace took 0 seconds
12/16/2022 20:44:19 [/15] Process:

 stackTrace
12/16/2022 20:44:19 [/15] Processing stacktrace took 0 seconds
12/16/2022 20:44:19 [/26] Process:

 scopes
12/16/2022 20:44:19 [/26] Processing scopes took 0 seconds
12/16/2022 20:44:19 [/27] Process:

 stackTrace
12/16/2022 20:44:19 [/27] Processing stacktrace took 0 seconds
12/16/2022 20:44:21 [/26] Process:

 al/provideDebuggerEvaluateExpression
12/16/2022 20:44:21 [/26] Processing al/provideDebuggerEvaluateExpression took 0 seconds
12/16/2022 20:44:21 [/14] Process:

 variables
12/16/2022 20:44:22 [/27] Processing variables took 0 seconds
12/16/2022 20:44:22 [/14] [RegisteringHandler] [Debug] - Registering handler for client method 'HubConnected'.
[RegisteringHandler] [Debug] - Registering handler for client method 'OnAttachedToConnection'.
[RegisteringHandler] [Debug] - Registering handler for client method 'OnDetachedFromConnection'.
[RegisteringHandler] [Debug] - Registering handler for client method 'OnFatalDebuggerException'.
[RegisteringHandler] [Debug] - Registering handler for client method 'LogServerMessage'.
[RegisteringHandler] [Debug] - Registering handler for client method 'IsAlive'.
[RegisteringHandler] [Debug] - Registering handler for client method 'Break'.
[Starting] [Debug] - Starting HubConnection.
[Starting] [Debug] - Starting HttpConnection.
[EstablishingConnection] [Debug] - Establishing connection with server at 'https://api.businesscentral.dynamics.com/v2.0/sandbox-wawi/dev/DebuggerHub?&Authentication=Bearer *sanitized*'.
[Established] [Debug] - Established connection '*sanitized*' with the server.
[StartingTransport] [Debug] - Starting transport 'WebSockets' with Url: https://api.businesscentral.dynamics.com/v2.0/sandbox-wawi/dev/DebuggerHub?&Authentication=Bearer *sanitized*.
[StartTransport] [Information] - Starting transport. Transfer mode: Text. Url: 'wss://api.businesscentral.dynamics.com/v2.0/sandbox-wawi/dev/DebuggerHub?&Authentication=Bearer *sanitized*'.
[StartedTransport] [Debug] - Started transport.
[TransportStarted] [Debug] - Transport 'WebSockets' started.
[Started] [Information] - HttpConnection Started.
[HubProtocol] [Information] - Using HubProtocol 'json v1'.
[SendingHubHandshake] [Debug] - Sending Hub Handshake.
[ReceivedFromApp] [Debug] - Received message from application. Payload size: 32.
[MessageReceived] [Debug] - Message received. Type: Text, size: 3, EndOfMessage: True.
[HandshakeComplete] [Debug] - Handshake with server complete.
[SendingMessageGeneric] [Debug] - Sending PingMessage message.
[ReceivedFromApp] [Debug] - Received message from application. Payload size: 11.
[MessageSentGeneric] [Debug] - Sending PingMessage message completed.
[ReceiveLoopStarting] [Debug] - Receive loop starting.
[Started] [Information] - HubConnection started.
[MessageReceived] [Debug] - Message received. Type: Text, size: 50, EndOfMessage: True.
[ProcessingMessage] [Debug] - Processing 50 byte message from server.
[RegisteringInvocation] [Debug] - Registering Invocation ID '1' for tracking.
[SendingMessage] [Debug] - Sending InvocationMessage message '1'.
[MessageSent] [Debug] - Sending InvocationMessage message '1' completed.
[ReceivedFromApp] [Debug] - Received message from application. Payload size: 171.
[MessageReceived] [Debug] - Message received. Type: Text, size: 1351, EndOfMessage: True.
[ProcessingMessage] [Debug] - Processing 1351 byte message from server.
[RegisteringInvocation] [Debug] - Registering Invocation ID '2' for tracking.
[SendingMessage] [Debug] - Sending InvocationMessage message '2'.
[MessageSent] [Debug] - Sending InvocationMessage message '2' completed.
[ReceivedFromApp] [Debug] - Received message from application. Payload size: 359.
[MessageReceived] [Debug] - Message received. Type: Text, size: 44, EndOfMessage: True.
[ProcessingMessage] [Debug] - Processing 44 byte message from server.
[MessageReceived] [Debug] - Message received. Type: Text, size: 11, EndOfMessage: True.
[ProcessingMessage] [Debug] - Processing 11 byte message from server.
[MessageReceived] [Debug] - Message received. Type: Text, size: 11, EndOfMessage: True.
[ProcessingMessage] [Debug] - Processing 11 byte message from server.
[SendingMessageGeneric] [Debug] - Sending PingMessage message.
[MessageSentGeneric] [Debug] - Sending PingMessage message completed.
[ReceivedFromApp] [Debug] - Received message from application. Payload size: 11.
[MessageReceived] [Debug] - Message received. Type: Text, size: 11, EndOfMessage: True.
[ProcessingMessage] [Debug] - Processing 11 byte message from server.
[SendingMessageGeneric] [Debug] - Sending PingMessage message.
[MessageSentGeneric] [Debug] - Sending PingMessage message completed.
[ReceivedFromApp] [Debug] - Received message from application. Payload size: 11.
[MessageReceived] [Debug] - Message received. Type: Text, size: 11, EndOfMessage: True.
[ProcessingMessage] [Debug] - Processing 11 byte message from server.
[MessageReceived] [Debug] - Message received. Type: Text, size: 11, EndOfMessage: True.
[ProcessingMessage] [Debug] - Processing 11 byte message from server.
[SendingMessageGeneric] [Debug] - Sending PingMessage message.
[MessageSentGeneric] [Debug] - Sending PingMessage message completed.
[ReceivedFromApp] [Debug] - Received message from application. Payload size: 11.
[MessageReceived] [Debug] - Message received. Type: Text, size: 11, EndOfMessage: True.
[ProcessingMessage] [Debug] - Processing 11 byte message from server.
[SendingMessageGeneric] [Debug] - Sending PingMessage message.
[MessageSentGeneric] [Debug] - Sending PingMessage message completed.
[ReceivedFromApp] [Debug] - Received message from application. Payload size: 11.
[MessageReceived] [Debug] - Message received. Type: Text, size: 11, EndOfMessage: True.
[ProcessingMessage] [Debug] - Processing 11 byte message from server.
[MessageReceived] [Debug] - Message received. Type: Text, size: 1491, EndOfMessage: True.
[ProcessingMessage] [Debug] - Processing 1491 byte message from server.
[RegisteringInvocation] [Debug] - Registering Invocation ID '3' for tracking.
[SendingMessage] [Debug] - Sending InvocationMessage message '3'.
[MessageSent] [Debug] - Sending InvocationMessage message '3' completed.
[ReceivedFromApp] [Debug] - Received message from application. Payload size: 70.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[ProcessingMessage] [Debug] - Processing 4096 byte message from server.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[ProcessingMessage] [Debug] - Processing 12288 byte message from server.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[ProcessingMessage] [Debug] - Processing 45056 byte message from server.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[ProcessingMessage] [Debug] - Processing 49152 byte message from server.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[ProcessingMessage] [Debug] - Processing 53248 byte message from server.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[ProcessingMessage] [Debug] - Processing 57344 byte message from server.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[ProcessingMessage] [Debug] - Processing 61440 byte message from server.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[ProcessingMessage] [Debug] - Processing 65536 byte message from server.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[ProcessingMessage] [Debug] - Processing 69632 byte message from server.
[ProcessingMessage] [Debug] - Processing 73728 byte message from server.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[ProcessingMessage] [Debug] - Processing 77824 byte message from server.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[ProcessingMessage] [Debug] - Processing 81920 byte message from server.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[ProcessingMessage] [Debug] - Processing 86016 byte message from server.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[ProcessingMessage] [Debug] - Processing 90112 byte message from server.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[ProcessingMessage] [Debug] - Processing 94208 byte message from server.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[ProcessingMessage] [Debug] - Processing 98304 byte message from server.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[ProcessingMessage] [Debug] - Processing 102400 byte message from server.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[ProcessingMessage] [Debug] - Processing 106496 byte message from server.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[ProcessingMessage] [Debug] - Processing 110592 byte message from server.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[ProcessingMessage] [Debug] - Processing 114688 byte message from server.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[ProcessingMessage] [Debug] - Processing 118784 byte message from server.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[ProcessingMessage] [Debug] - Processing 122880 byte message from server.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[ProcessingMessage] [Debug] - Processing 126976 byte message from server.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[ProcessingMessage] [Debug] - Processing 131072 byte message from server.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[ProcessingMessage] [Debug] - Processing 135168 byte message from server.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[ProcessingMessage] [Debug] - Processing 139264 byte message from server.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[MessageReceived] [Debug] - Message received. Type: Text, size: 4096, EndOfMessage: False.
[MessageReceived] [Debug] - Message received. Type: Text, size: 1171, EndOfMessage: True.
[ProcessingMessage] [Debug] - Processing 147456 byte message from server.
[ProcessingMessage] [Debug] - Processing 148627 byte message from server.
[RegisteringInvocation] [Debug] - Registering Invocation ID '4' for tracking.
[SendingMessage] [Debug] - Sending InvocationMessage message '4'.
[MessageSent] [Debug] - Sending InvocationMessage message '4' completed.
[ReceivedFromApp] [Debug] - Received message from application. Payload size: 71.
[MessageReceived] [Debug] - Message received. Type: Text, size: 159, EndOfMessage: True.
[ProcessingMessage] [Debug] - Processing 159 byte message from server.
[RegisteringInvocation] [Debug] - Registering Invocation ID '5' for tracking.
[SendingMessage] [Debug] - Sending InvocationMessage message '5'.
[MessageSent] [Debug] - Sending InvocationMessage message '5' completed.
[ReceivedFromApp] [Debug] - Received message from application. Payload size: 70.
[MessageReceived] [Debug] - Message received. Type: Text, size: 44, EndOfMessage: True.
[ProcessingMessage] [Debug] - Processing 44 byte message from server.
[Stopping] [Debug] - Stopping HubConnection.
[TerminatingReceiveLoop] [Debug] - Terminating receive loop.
[WaitingForReceiveLoopToTerminate] [Debug] - Waiting for the receive loop to terminate.

12/16/2022 20:44:22 [/15] Process:

 disconnect
12/16/2022 20:44:22 [/15] Processing disconnect took 0 seconds
DanielGoehler commented 1 year ago

@kalberes You can reproduce the problem if you set up the dataverse connection on your BC sandbox and run this report. The debugger stops at the error, when you open the globals, the debugger crashes with the error: Object reference not set to an instance of an object.

image
report 50000 Test
{
    UsageCategory = ReportsAndAnalysis;
    ApplicationArea = All;
    ProcessingOnly = true;

    dataset
    {
        dataitem("CRM Account"; "CRM Account")
        {
            trigger OnAfterGetRecord()
            begin
                Error('Random Error');
            end;
        }
    }

    trigger OnPreReport()
    begin
        Codeunit.Run(Codeunit::"CRM Integration Management");
    end;
}
DanielGoehler commented 1 year ago

@christianbraeunlich @nndobrev @kalberes Please keep in mind, the intention of this issue was not to solve this problem. My intention was to improve the general error situation of the AL Language Extension. I need a proper error message to make a good error report here.

I have a lot more crashes and unhandled exceptions that I want to report, but with error message like Object reference not set to an instance of an object where I literally don't know what exactly is causing the problem and I really can't narrow it down reasonably to report.

kalberes commented 1 year ago

Thanks, there is really nothing in the log file. I thought that you are using a docker based solution. We will probably accept is an issue and try to figure out why external tables are killing teh debug adapter. Apparently they do, so please triaging team this should be a high severity issue (S 1).

nndobrev commented 1 year ago

Hi @DanielGoehler, I think we actually fixed the issue, but can you please confirm that you don't see the issue if you are expanding the globals when within method scope of a Page object instead of Report?

deadmouse commented 1 year ago

I get this one too, specifically, when I want to see global variables of a report.

@nndobrev For me it keeps throwing error in a report when viewing global variables. Version: SAAS - ES Business Central 21.2 (Plataform 21.0.49939.51260 + Application 21.2.49946.49990)

nndobrev commented 1 year ago

Fixed from our side, since it is server fix expect it coming with 21.3 and also with the next week's insider builds. :)

DanielGoehler commented 1 year ago

@nndobrev Sure, I will test this once 20.3 is available for Cloud Sandbox.

Has the handling of exceptions and error messages also been improved, or has it only been solved around this particular example?