videospeed: Console error showing up on all origins on Chrome 68

Hi there,

Just noticed this issue this evening, so this very well may also be occurring in earlier Chrome builds.

The gist

On any page load, regardless of the origin, path, or whether or not the page has an HTML5 video element, the following error shows up in the console:

Unchecked runtime.lastError: Could not establish connection. Receiving end does not exist.

Details

When the filename of the above error message is clicked (on the righthand side of the console), the error always displays like this (example from stackoverflow.com):

image

I disabled all other extensions and confirmed that the issue stems from the videospeed extension.

Environment

Google Chrome 68.0.3432.3 (Official Build) dev (64-bit)
Revision 5aacd4d4350de37f394edd3095576d2bc7daf56c-refs/branch-heads/3432@{#6}
OS Linux
JavaScript V8 6.8.228
Flash 30.0.0.94 /home/dsifford/.config/google-chrome-unstable/PepperFlash/30.0.0.94/libpepflashplayer.so
User Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3432.3 Safari/537.36
Command Line /opt/google/chrome-unstable/google-chrome-unstable --flag-switches-begin --enable-devtools-experiments --enable-fast-unload --enable-features=PictureInPicture --flag-switches-end

Sorry I couldn’t be more helpful. Not familiar with extension APIs at all. Hope the above information helps!

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Reactions: 2
  • Comments: 31 (5 by maintainers)

Commits related to this issue

Most upvoted comments

Same issue. I found out my problem was caused by the extension hunter.io, the error message disappeared once I disabled that extension.

@igrigorik @dsifford I think this issue should be re re-opened.
Seeing this on any website once I’ve updated to chrome 72.

Disappears when disabling this extension.

I just looked into this a little more and see that the content script is wrapped with:

chrome.runtime.sendMessage({}, function(response) {
  // code here
});

I also noticed that the Hunter.io extension that @kevincai79 mentioned also does the same thing.

I don’t see anywhere in the codebase where the message is being listened for (eg. onMessage or onMessageExternal), which I think is why we’re seeing the console error “Could not establish connection. Receiving end does not exist”.

I was able to clone this repo, load the extension unpacked into Chrome from chrome://extensions and just delete the sendMessage bit that wraps the rest of the code in inject.js, and I don’t see the error anymore. Not sure if that’s a realistic approach since I’m not sure why it was there in the first place.

Confirming that I have this issue too. I see #429 states there is a fix coming soon. Will test out when the fix is released.

Thanks for tracking this down guys! Per @stevehanson’s suggestion, pushed an update to remove the wrapper. You can try installing the latest version from source as unpacked extension, if you want to confirm and validate that the problem is fixed.