Vscode: User confusion about 'Extension Host not responsive' notification

Created on 9 Oct 2018  路  7Comments  路  Source: microsoft/vscode

We have received many crippled issues like #60297 #60293 #60292.

This is triggered by https://code.visualstudio.com/updates/v1_28#_extension-host-unresponsive.

Here is how users create these issues:

  • user sees the Extension Host not responding notification
  • user clicks the Show Running extensions from the notification
  • user clicks the Report Issue button (we show many of them) for one or more of these extensions
  • the action copies some timing information to the clipboard, often users forget to paste the clipboard contents when creating the issue.
bug candidate important verified

Most helpful comment

The notification was a great way to become aware that some extensions keep the extension host busy. However, as is, the notification is not helpful for the general user and it motivates the creation of unhelpful issues. We need to remove the notification until we have a better flow.

All 7 comments

The notification was a great way to become aware that some extensions keep the extension host busy. However, as is, the notification is not helpful for the general user and it motivates the creation of unhelpful issues. We need to remove the notification until we have a better flow.

As I'm not debugging the extensions and when dealing with large files (~10k lines) this message keeps popping up and is _really_ annoying as the extensions are taking some time to process the file, this looks normal as the file is very large.

It would be useful to have an option to toggle profiling and/or this extension host message.

@madcampos the plan is that we can toggle profiling when an extension is not responsive for a period of time.

Until we have a more polished experience in this area, we will remove the notification.

For verification, you can write an extension:

  • package.json:
{
  "name": "bad",
  "publisher": "alex",
  "version": "0.0.0",
  "engines": {
    "vscode": "^1.22.0"
  },
  "activationEvents": [
    "*"
  ],
  "contributes": {
    "commands": [
      {
        "command": "bad.loop",
        "title": "Bad: Create endless loop"
      },
      {
        "command": "bad.work",
        "title": "Bad: Create 15s work"
      }
    ]
  },
  "main": "index.js"
}
  • index.js:
const vscode = require('vscode');

exports.activate = function () {
    vscode.commands.registerCommand('bad.loop', () => {
        doNothingInALoop();
    });
    vscode.commands.registerCommand('bad.work', () => {
        doSomeWorkFor15s();
    });
}

function doNothingInALoop() {
    console.log(`I am now entering while true loop`);
    while (true) {
        // do nothing, like a pro
    }
}

function doSomeWorkFor15s() {
    console.log(`I will now be busy for 15s!`);
    let start = Date.now();
    while (true) {
        if (Date.now() - start > 15 * 1000) {
            console.log(`Finished busy work!`);
            break;
        }
    }
}
  • Execute "Bad: Create endless loop"
  • The extension host CPU goes to 100%
  • No prompt is shown even when waiting more than 10s.

@alexandrudima Is there a new ticket already?

@egamma
Thank you for solving this issue by updating the VSC!

Was this page helpful?
0 / 5 - 0 ratings