Skip to content

Commit 33027a2

Browse files
committed
Log an error with the active extensions when the extension host crashes
1 parent 03cd68f commit 33027a2

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

src/vs/workbench/services/extensions/electron-browser/extensionService.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ import { WebWorkerExtensionHost } from 'vs/workbench/services/extensions/browser
4141
import { IExtensionActivationHost as IWorkspaceContainsActivationHost, checkGlobFileExists, checkActivateWorkspaceContainsExtension } from 'vs/workbench/api/common/shared/workspaceContains';
4242
import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
4343
import { exists } from 'vs/base/node/pfs';
44+
import { ILogService } from 'vs/platform/log/common/log';
4445

4546
class DeltaExtensionsQueueItem {
4647
constructor(
@@ -76,6 +77,7 @@ export class ExtensionService extends AbstractExtensionService implements IExten
7677
@IRemoteExplorerService private readonly _remoteExplorerService: IRemoteExplorerService,
7778
@IExtensionGalleryService private readonly _extensionGalleryService: IExtensionGalleryService,
7879
@IWorkspaceContextService private readonly _contextService: IWorkspaceContextService,
80+
@ILogService private readonly _logService: ILogService,
7981
) {
8082
super(
8183
instantiationService,
@@ -431,6 +433,7 @@ export class ExtensionService extends AbstractExtensionService implements IExten
431433
}
432434

433435
protected _onExtensionHostCrashed(extensionHost: ExtensionHostManager, code: number, signal: string | null): void {
436+
const activatedExtensions = Array.from(this._extensionHostActiveExtensions.values());
434437
super._onExtensionHostCrashed(extensionHost, code, signal);
435438

436439
if (extensionHost.kind === ExtensionHostKind.LocalProcess) {
@@ -451,6 +454,9 @@ export class ExtensionService extends AbstractExtensionService implements IExten
451454
return;
452455
}
453456

457+
const message = `Extension host terminated unexpectedly. The following extensions were running: ${activatedExtensions.map(id => id.value).join(', ')}`;
458+
this._logService.error(message);
459+
454460
this._notificationService.prompt(Severity.Error, nls.localize('extensionService.crash', "Extension host terminated unexpectedly."),
455461
[{
456462
label: nls.localize('devTools', "Open Developer Tools"),

0 commit comments

Comments
 (0)