microsoft / vscode-mssql

Visual Studio Code SQL Server extension.
Other
1.55k stars 458 forks source link

Query results grid has blank cells after exception #18468

Open kburtram opened 3 days ago

kburtram commented 3 days ago

Steps to Reproduce:

  1. Run a query

Expected: Results display

Actual: Result grid displays with blank cells

Image

The following errors are in the dev console.

tableDataView.ts:209 Uncaught (in promise) RangeError: Maximum call stack size exceeded
    at TableDataView.push (tableDataView.ts:209:24)
    at HybridDataProvider.initializeCacheIfNeeded (hybridDataProvider.ts:142:37)
    at async HybridDataProvider.filter (hybridDataProvider.ts:110:9)
    at async Table.setupState (table.ts:207:9)
    at async filter (resultGrid.tsx:104:17)
tableDataView.ts:209 Uncaught (in promise) RangeError: Maximum call stack size exceeded
    at TableDataView.push (tableDataView.ts:209:24)
    at HybridDataProvider.initializeCacheIfNeeded (hybridDataProvider.ts:142:37)
    at async HybridDataProvider.filter (hybridDataProvider.ts:110:9)
    at async Table.setupState (table.ts:207:9)
    at async filter (resultGrid.tsx:104:17)
push @ tableDataView.ts:209
initializeCacheIfNeeded @ hybridDataProvider.ts:142
postMessage
(anonymous) @ index.html?id=d276946c-1ebd-4a16-9ac0-f5e50dde84be&origin=723d825d-5250-4318-af77-a71b3dfc545b&swVersion=4&extensionId=ms-mssql.mssql&platform=electron&vscode-resource-base-authority=vscode-resource.vscode-cdn.net&parentOrigin=vscode-file%3A%2F%2Fvscode-app:1229
HostMessaging.channel.port1.onmessage @ index.html?id=d276946c-1ebd-4a16-9ac0-f5e50dde84be&origin=723d825d-5250-4318-af77-a71b3dfc545b&swVersion=4&extensionId=ms-mssql.mssql&platform=electron&vscode-resource-base-authority=vscode-resource.vscode-cdn.net&parentOrigin=vscode-file%3A%2F%2Fvscode-app:322
log.ts:419  INFO Extension host (LocalProcess pid: 36480) is unresponsive.
localProcessExtensionHost.ts:275 Extension Host
localProcessExtensionHost.ts:276 Debugger attached.
log.ts:419  INFO UNRESPONSIVE extension host: starting to profile NOW
log.ts:419  INFO Extension host (LocalProcess pid: 36480) is responsive.
log.ts:419  INFO UNRESPONSIVE extension host: received responsive event and cancelling profiling session
2tableDataView.ts:209 Uncaught (in promise) RangeError: Maximum call stack size exceeded
    at TableDataView.push (tableDataView.ts:209:24)
    at HybridDataProvider.initializeCacheIfNeeded (hybridDataProvider.ts:142:37)
    at async HybridDataProvider.filter (hybridDataProvider.ts:110:9)
    at async Table.setupState (table.ts:207:9)
    at async filter (resultGrid.tsx:104:17)

I doubt it matters but here's the specific query for WWI.

SELECT 
    i.InvoiceID,
    i.CustomerID,
    i.InvoiceDate,
    i.Comments,
    ol.OrderLineID,
    ol.StockItemID,
    ol.Description,
    ol.Quantity,
    ol.UnitPrice
FROM 
    Sales.Invoices i
LEFT JOIN 
    Sales.OrderLines ol ON i.OrderID = ol.OrderID
ORDER BY 
    i.InvoiceID;
cssuh commented 3 days ago

Chatted with @kburtram, this only happened for him once and seems to be an intermittent bug. Will need to investigate further to see if it's some kind of race condition or timing issue.