electron: Launch throwing breaking devtools error

  • Electron Version:
  • Operating System (Platform and Version): macOS sierra 10.12.6
  • Last known working Electron version: 2.0.0 I had upgraded to 2.0.1 previously but the error started after that so I tried downgrading to 2.0.0. The error is still there though…

Expected Behavior Launch my app normally. This was working fine prior to today.

Actual behavior When I launch the app if I click ANYTHING on the screen that is registered as a click event in my renderer main.js file, this error spams the console.

To Reproduce

  1. Open app
  2. Do anything in the app.
  3. Console spams

Error - [2287:0518/162444.516714:ERROR:CONSOLE(0)] "Failed to load https://chrome-devtools-frontend.appspot.com/serve_file/@7accc8730b0f99b5e7c0702ea89d1fa7c17bfe33/product_registry_impl/product_registry_impl_module.js: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'chrome-devtools://devtools' is therefore not allowed access. The response had HTTP status code 404.", source: chrome-devtools://devtools/bundled/inspector.html?remoteBase=https://chrome-devtools-frontend.appspot.com/serve_file/@7accc8730b0f99b5e7c0702ea89d1fa7c17bfe33/&can_dock=true&toolbarColor=rgba(223,223,223,1)&textColor=rgba(0,0,0,1)&experiments=true (0) [2287:0518/162444.516839:ERROR:CONSOLE(22)] "Empty response arrived for script 'https://chrome-devtools-frontend.appspot.com/serve_file/@7accc8730b0f99b5e7c0702ea89d1fa7c17bfe33/product_registry_impl/product_registry_impl_module.js'", source: chrome-devtools://devtools/bundled/inspector.js (22) Then this message spams about 20 times every time I click anything.

"Uncaught (in promise) Error: Could not instantiate: ProductRegistryImpl.Registry", source: chrome-devtools://devtools/bundled/inspector.js (105)

I am using devtron as well.

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Reactions: 71
  • Comments: 77 (13 by maintainers)

Commits related to this issue

Most upvoted comments

Breaking developer tools is a cardinal sin. Allowing it to be remain broken for this long should be a punishable crime.

Same issue on v4.0.0

[16420:1224/114331.577:ERROR:CONSOLE(24)] "Empty response arrived for script 'chrome-devtools://devtools/remote/serve_file/@857b284701ddf7bef0f14fa76416cf7ca786b411/product_registry_impl/product_registry_impl_module.js'", source: chrome-devtools://devtools/bundled/shell.js (24)
[16420:1224/114331.586:ERROR:CONSOLE(108)] "Uncaught (in promise) Error: Could not instantiate: ProductRegistryImpl.Registry", source: chrome-devtools://devtools/bundled/shell.js (108)
[16420:1224/114331.586:ERROR:CONSOLE(108)] "Uncaught (in promise) Error: Could not instantiate: ProductRegistryImpl.Registry", source: chrome-devtools://devtools/bundled/shell.js (108)
[16420:1224/114331.586:ERROR:CONSOLE(108)] "Uncaught (in promise) Error: Could not instantiate: ProductRegistryImpl.Registry", source: chrome-devtools://devtools/bundled/shell.js (108)
[16420:1224/114331.586:ERROR:CONSOLE(108)] "Uncaught (in promise) Error: Could not instantiate: ProductRegistryImpl.Registry", source: chrome-devtools://devtools/bundled/shell.js (108)
[16420:1224/114331.586:ERROR:CONSOLE(108)] "Uncaught (in promise) Error: Could not instantiate: ProductRegistryImpl.Registry", source: chrome-devtools://devtools/bundled/shell.js (108)
[16420:1224/114331.586:ERROR:CONSOLE(108)] "Uncaught (in promise) Error: Could not instantiate: ProductRegistryImpl.Registry", source: chrome-devtools://devtools/bundled/shell.js (108)

@ChromeDevTools removed version 7accc8730b0f99b5e7c0702ea89d1fa7c17bfe33 from their service which serves chrome dev tools. They have version for each chromium commit.

For example ChromeDevTools 57c9d07b416b5a2ea23d28247300e4af36329bdc for previous Chromium version 57c9d07b416b5a2ea23d28247300e4af36329bdc version is still available

Probably @electron team should ask @ChromeDevTools to return this version, or you can use dirty patch with webRequest

app.on('ready', () => {
  //....
  session.defaultSession.webRequest.onBeforeRequest({}, (details, callback) => {
    if (details.url.indexOf('7accc8730b0f99b5e7c0702ea89d1fa7c17bfe33') !== -1) {
      callback({redirectURL: details.url.replace('7accc8730b0f99b5e7c0702ea89d1fa7c17bfe33', '57c9d07b416b5a2ea23d28247300e4af36329bdc')});
    } else {
      callback({cancel: false});
    }
  });
});

how is going?

same in v7.1.1

[1] [9956:1115/122023.512611:ERROR:CONSOLE(0)] "Access to XMLHttpRequest at 'https://chrome-devtools-frontend.appspot.com/serve_file/@595db07ff0ba77637a9e5d016388cdac2d34701e/product_registry_impl/product_registry_impl_module.js' (redirected from 'devtools://devtools/remote/serve_file/@595db07ff0ba77637a9e5d016388cdac2d34701e/product_registry_impl/product_registry_impl_module.js') from origin 'devtools://devtools' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.", source: devtools://devtools/bundled/devtools_app.html?remoteBase=https://devtools-frontend.appspot.com/serve_file/@595db07ff0ba77637a9e5d016388cdac2d34701e/&can_dock=true&toolbarColor=rgba(223,223,223,1)&textColor=rgba(0,0,0,1)&experiments=true (0)
[1] [9956:1115/122023.512882:ERROR:CONSOLE(24)] "Empty response arrived for script 'devtools://devtools/remote/serve_file/@595db07ff0ba77637a9e5d016388cdac2d34701e/product_registry_impl/product_registry_impl_module.js'", source: devtools://devtools/bundled/shell.js (24)
[1] [9956:1115/122023.513733:ERROR:CONSOLE(109)] "Uncaught (in promise) Error: Could not instantiate: ProductRegistryImpl.Registry", source: devtools://devtools/bundled/shell.js (109)
[1] [9956:1115/122023.513780:ERROR:CONSOLE(109)] "Uncaught (in promise) Error: Could not instantiate: ProductRegistryImpl.Registry", source: devtools://devtools/bundled/shell.js (109)

Same in v6.0.1

Any updates on this issue? It’s quite annoying.

Nope, same problem in 4.0.1.

@mtgto @reZach RE: https://github.com/electron/electron/issues/13008#issuecomment-570833314

What I did was I quickly butchered down the offending script “product_registry_impl_module.js”. Pulled out it’s innards into something relatively harmless, though maybe the sha1 function might be utilized outside this class, and might need reinstating. Caveat: I have not fully traced the impact of this modification within in the devtools. Further inspection possibly required.

ProductRegistryImpl.Registry = class {
  constructor() {}
  nameForUrl(parsedUrl) {
    return null;
  }
  entryForUrl(parsedUrl) {
    return null;
  }
  typeForUrl(parsedUrl) {
    return null;
  }
};
ProductRegistryImpl._hashForDomain = function (domain) {
  return '';
};
ProductRegistryImpl.register = function (productNames, data) {
  ProductRegistryImpl._productsByDomainHash = new Map();
};
ProductRegistryImpl._productsByDomainHash = new Map();
ProductRegistryImpl.register([], []);
ProductRegistryImpl.sha1 = function (str) {
  return '';
};

I then served it as a local base64 data url. To keep to your example the solution might look something like this:

import {
  session
} from "electron";

app.on("ready", () => {
  let redirectURL = 'data:application/x-javascript;base64,UHJvZHVjdFJlZ2lzdHJ5SW1wbC5SZWdpc3RyeT1jbGFzc3tjb25zdHJ1Y3Rvcigpe31uYW1lRm9yVXJsKHIpe3JldHVybiBudWxsfWVudHJ5Rm9yVXJsKHIpe3JldHVybiBudWxsfXR5cGVGb3JVcmwocil7cmV0dXJuIG51bGx9fSxQcm9kdWN0UmVnaXN0cnlJbXBsLl9oYXNoRm9yRG9tYWluPWZ1bmN0aW9uKHIpe3JldHVybiIifSxQcm9kdWN0UmVnaXN0cnlJbXBsLnJlZ2lzdGVyPWZ1bmN0aW9uKHIsdCl7UHJvZHVjdFJlZ2lzdHJ5SW1wbC5fcHJvZHVjdHNCeURvbWFpbkhhc2g9bmV3IE1hcH0sUHJvZHVjdFJlZ2lzdHJ5SW1wbC5fcHJvZHVjdHNCeURvbWFpbkhhc2g9bmV3IE1hcCxQcm9kdWN0UmVnaXN0cnlJbXBsLnJlZ2lzdGVyKFtdLFtdKSxQcm9kdWN0UmVnaXN0cnlJbXBsLnNoYTE9ZnVuY3Rpb24ocil7cmV0dXJuIiJ9Ow==';
  session.defaultSession.webRequest.onBeforeRequest((details, callback) => {
    if ((/^devtools:\/\/devtools\/remote\/serve_file\/@[0-9a-f]{40}\/product_registry_impl\/product_registry_impl_module.js$/ui).test(details.url)) {
      callback({
        redirectURL
      });
      return;
    }
    callback({});
  });
});

This solution removes the need to chase WebKit version numbers, it also tightens up privacy by keeping things local. From my observations this has kept electron quiet (Electron v7.1.9) and the devtools seem to work fine, but as I said… Beware: I have not dug deeper into the devtools code for the impact of this implementation.

Ultimately though this should be corrected upstream, either in Electron or in Chromium or else it will be a game of “wack-a-mole” in the future.

I found one wrong point, but not yet resolve this problem.

Electron v7.1.7, which is latest now, it still happens.

[82535:1226/204523.783433:ERROR:CONSOLE(24)] "Empty response arrived for script 'devtools://devtools/remote/serve_file/@5afa172035a8eb0c4d8ae9251b5e3e1d037e66b1/cm_modes/cm_modes_module.js'", source: devtools://devtools/bundled/shell.js (24)
[82535:1226/204523.908002:ERROR:CONSOLE(109)] "Uncaught (in promise) Error: Could not instantiate: CmModes.DefaultCodeMirrorMimeMode", source: devtools://devtools/bundled/shell.js (109)

What is the @5afa172035a8eb0c4d8ae9251b5e3e1d037e66b1 ? Where this string comes from?

In electron code says It is webkit revision.

GURL GetRemoteBaseURL() { 
  return GURL(base::StringPrintf("%s%s/%s/",
  kChromeUIDevToolsRemoteFrontendBase, // "https://chrome-devtools-frontend.appspot.com/"
  kChromeUIDevToolsRemoteFrontendPath, // "serve_file"
  content::GetWebKitRevision().c_str())); 
} 

https://github.com/electron/electron/blob/v7.1.7/shell/browser/ui/inspectable_web_contents_impl.cc#L140-L145

We can see WebKit revision of my Google Chrome by using devtools protocol. https://chromedevtools.github.io/devtools-protocol/#get-jsonversion

$ /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222
$ curl localhost:9222/json/version
{
   "Browser": "Chrome/79.0.3945.88",
   "Protocol-Version": "1.3",
   "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36",
   "V8-Version": "7.9.317.32",
   "WebKit-Version": "537.36 (@c2a58a36b9411c80829b4b154bfcab97e581f1f3)",
   "webSocketDebuggerUrl": "ws://localhost:9222/devtools/browser/c97fefc3-cfcb-47e7-9b09-e01476f57c6b"
}

@c2a58a36b9411c80829b4b154bfcab97e581f1f3 is WebKit Revision of Chrome. (Valid) https://chrome-devtools-frontend.appspot.com/serve_file/@c2a58a36b9411c80829b4b154bfcab97e581f1f3/cm_modes/cm_modes_module.js

But the webkit revision of Electron v7.1.7 is wrong.

$ ~/Downloads/electron-v7.1.7-darwin-x64/Electron.app/Contents/MacOS/Electron --remote-debugging-port=9222
$ curl localhost:9222/json/version
{
   "Browser": "Chrome/78.0.3904.130",
   "Protocol-Version": "1.3",
   "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.130 Electron/7.1.7 Safari/537.36",
   "V8-Version": "7.8.279.23",
   "WebKit-Version": "537.36 (@5afa172035a8eb0c4d8ae9251b5e3e1d037e66b1)",
   "webSocketDebuggerUrl": "ws://localhost:9222/devtools/browser/d56cfc12-1f49-4cb0-982c-9104c3cfa76c"
}

The API returns @5afa172035a8eb0c4d8ae9251b5e3e1d037e66b1 as webkit revision.

(404 Not Found) https://chrome-devtools-frontend.appspot.com/serve_file/@5afa172035a8eb0c4d8ae9251b5e3e1d037e66b1/cm_modes/cm_modes_module.js

WebKit revision is defined In chromium source code. https://chromium.googlesource.com/chromium/src/+/refs/tags/78.0.3904.130/build/util/webkit_version.h.in

I write chrome’s webkit revision to its file, and build Electron (using git tag v7.1.7). But devtools can’t load cm_modes_modules.js now…

[8243:1226/232436.702159:ERROR:CONSOLE(24)] "Empty response arrived for script 'devtools://devtools/remote/serve_file/@c2a58a36b9411c80829b4b154bfcab97e581f1f3/cm_modes/cm_modes_module.js'", source: devtools://devtools/bundled/shell.js (24)
[8243:1226/232436.759685:ERROR:CONSOLE(109)] "Uncaught (in promise) Error: Could not instantiate: CmModes.DefaultCodeMirrorMimeMode", source: devtools://devtools/bundled/shell.js (109)

(webkit revision in URL is same as Chrome, but can’t load)

I am experiencing this as well. The errors display in my VSCode debug console whenever I switch to the Network tab of devtools for a browser window in my Electron app. If devtools comes up with the Network tab already selected (because it was the selected tab when last closed) then it happens when devtools is launched. I’m using electron 2.0.0 on Win10.

any update guys? facing same issue(white screen) when i keep my electron app open for more than 12 hrs

[2968:0303/004723.794:ERROR:CONSOLE(24)] “Empty response arrived for script ‘chrome-devtools://devtools/remote/serve_file/@236bcd04039b6c6dd8c08ebfde586e59e0855622/product_registry_impl/product_registry_impl_module.js’”, source: chrome-devtools://devtools/bundled/shell.js (24) [2968:0303/004723.809:ERROR:CONSOLE(108)] “Uncaught (in promise) Error: Could not instantiate: ProductRegistryImpl.Registry”, source: chrome-devtools://devtools/bundled/shell.js (108) [2968:0303/004723.810:ERROR:CONSOLE(108)] “Uncaught (in promise) Error: Could not instantiate: ProductRegistryImpl.Registry”, source: chrome-devtools://devtools/bundled/shell.js (108) [2968:0303/004723.812:ERROR:CONSOLE(108)] “Uncaught (in promise) Error: Could not instantiate: ProductRegistryImpl.Registry”, source: chrome-devtools://devtools/bundled/shell.js (108)

If anyone else is bothered by Electron spamming the terminal with lots of errors, I have made this: https://github.com/sindresorhus/run-electron

It will work fine a few times and then just freeze the app and console, after printing EDIT : Upgraded to 2.0.2 same issue

[19770:0531/201447.419465:ERROR:CONSOLE(0)] "Failed to load https://chrome-devtools-frontend.appspot.com/serve_file/@7accc8730b0f99b5e7c0702ea89d1fa7c17bfe33/product_registry_impl/product_registry_impl_module.js: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'chrome-devtools://devtools' is therefore not allowed access. The response had HTTP status code 404.", source: chrome-devtools://devtools/bundled/inspector.html?remoteBase=https://chrome-devtools-frontend.appspot.com/serve_file/@7accc8730b0f99b5e7c0702ea89d1fa7c17bfe33/&can_dock=true&toolbarColor=rgba(223,223,223,1)&textColor=rgba(0,0,0,1)&experiments=true (0)
[19770:0531/201447.419529:ERROR:CONSOLE(22)] "Empty response arrived for script 'https://chrome-devtools-frontend.appspot.com/serve_file/@7accc8730b0f99b5e7c0702ea89d1fa7c17bfe33/product_registry_impl/product_registry_impl_module.js'", source: chrome-devtools://devtools/bundled/inspector.js (22)
[19770:0531/201447.419763:ERROR:CONSOLE(105)] "Uncaught (in promise) Error: Could not instantiate: ProductRegistryImpl.Registry", source: chrome-devtools://devtools/bundled/inspector.js (105)
[19770:0531/201447.419795:ERROR:CONSOLE(105)] "Uncaught (in promise) Error: Could not instantiate: ProductRegistryImpl.Registry", source: chrome-devtools://devtools/bundled/inspector.js (105)
[19770:0531/201447.419821:ERROR:CONSOLE(105)] "Uncaught (in promise) Error: Could not instantiate: ProductRegistryImpl.Registry", source: chrome-devtools://devtools/bundled/inspector.js (105)

Both on Windows and Mac

@2Pacalypse- Thanks. IMO Electron should use proper WebKit Revision, which released chromium has. I’m newbie of chromium. I don’t understand why webkit revision of electron changes.


If anyone trouble with this issue, now you can fix by yourself. Write this snippet in your main process. (I tested with Electron v7.1.2) (Same way as https://github.com/electron/electron/issues/13008#issuecomment-400261941)

import { session } from "electron";

app.on("ready", () => {
  session.defaultSession.webRequest.onBeforeRequest((details, callback) => {
    const redirectURL = details.url.replace(/^devtools:\/\/devtools\/remote\/serve_file\/@[0-9a-f]{40}/, "https://chrome-devtools-frontend.appspot.com/serve_file/@675968a8c657a3bd9c1c2c20c5d2935577bbc5e6");
    if (redirectURL !== details.url) {
      callback({redirectURL});
    } else {
      callback({});
    }
  })
}

Note: This snippet will be no use. Because Electron update their Chromium version. Electron v7.1.7 uses devtools same as Chromium 78, But chromium 79 uses newer devtools. Please change @675968a8c657a3bd9c1c2c20c5d2935577bbc5e6 to several WebKit revision in my snippet.

I have same trouble In Electron 6.1.5.

[37157:1216/222102.461575:ERROR:CONSOLE(24)] "Empty response arrived for script 'devtools://devtools/remote/serve_file/@637f6e835b870480c1ba0c726cb6b7176490a783/cm_modes/cm_modes_module.js'", source: devtools://devtools/bundled/shell.js (24)
[37157:1216/222102.478066:ERROR:CONSOLE(109)] "Uncaught (in promise) Error: Could not instantiate: CmModes.DefaultCodeMirrorMimeMode", source: devtools://devtools/bundled/shell.js (109)
[37157:1216/222102.478095:ERROR:CONSOLE(109)] "Uncaught (in promise) Error: Could not instantiate: CmModes.DefaultCodeMirrorMimeMode", source: devtools://devtools/bundled/shell.js (109)

The message “Empty response arrived for script” is in Runtime.js of ChromeDevTools. https://github.com/ChromeDevTools/devtools-frontend/blob/b147df9/front_end/Runtime.js#L242 Runtime.js uses XMLHttpRequest to load remote js (devtools:// protocol url).

I investigate this problem with xhr in Electron Developer tools.

const xhr = new XMLHttpRequest();
xhr.onreadystatechange = () => console.log(xhr.response);

// success to load
xhr.open('GET', "devtools://devtools/bundled/shell.js", true);
xhr.send(null); // => ... 2.9MB js printed

// fail to load
xhr.open('GET', "devtools://devtools/remote/serve_file/@637f6e835b870480c1ba0c726cb6b7176490a783/cm_modes/cm_modes_module.js", true);
xhr.send(null);

last line print error

VM809:1 GET devtools://devtools/remote/serve_file/@637f6e835b870480c1ba0c726cb6b7176490a783/cm_modes/cm_modes_module.js net::ERR_FAILED

DevTools of Electron can load shell.js, but can not load remote/serve_files.

IMO, this is like https://github.com/electron/electron/pull/21473 Both #21473 and this problem can not load a file".


oui des que le DevTool est activé automatiquement j’ai cette erreur avec V22.3.2 :

yes as soon as the DevTool is activated automatically I have this error with V22.3.2: [6472:0418/105917.796:ERROR:CONSOLE(1)] “TypeError: Failed to fetch”, source: devtools://devtools/bundled/entrypoints/main/main.js (1)

I’m getting this issue too.

any updates on this?

Super noob here so this may have consequences I’m unaware of, but it looks like the devtools:// protocol is causing an issue. In chrome the devtools://devtools/remote/ path seems to just point to https://chrome-devtools-frontend.appspot.com/. I pieced together the following from this thread and here. Seems to get rid of the errors if you throw it in the app.on('ready', ... call:

newWindow.webContents.session.webRequest.onBeforeRequest({ urls: ['devtools://devtools/remote/*'] }, (details, callback) => { callback({ redirectURL: details.url.replace('devtools://devtools/remote/', 'https://chrome-devtools-frontend.appspot.com/') }); });

Have not thoroughly tested.

I am facing the same issue in electron v4.1.4.Getting blank screen and these errors on console [37536:0410/100335.048:ERROR:CONSOLE(24)] “Empty response arrived for script ‘chrome-devtools://devtools/remote/serve_file/@a19d58ec502349db4b1424eb58c3ee45bc062878/product_registry_impl/product_registry_impl_module.js’”, source: chrome-devtools://devtools/bundled/shell.js (24) [37536:0410/100335.048:ERROR:CONSOLE(108)] “Uncaught (in promise) Error: Could not instantiate: ProductRegistryImpl.Registry”, source: chrome-devtools://devtools/bundled/shell.js (108) [37536:0410/100335.623:ERROR:CONSOLE(108)] “Uncaught (in promise) Error: Could not instantiate: ProductRegistryImpl.Registry”, source: chrome-devtools://devtools/bundled/shell.js (108) [37536:0410/100335.631:ERROR:CONSOLE(108)] “Uncaught (in promise) Error: Could not instantiate: ProductRegistryImpl.Registry”, source: chrome-devtools://devtools/bundled/shell.js (108)

Persists in both electron 4.0.8 and electron 5.0.0-beta.5 as well. OS: Linux, Debian testing (Buster). Also using “devtron”: “^1.4.0”, “electron-builder”: “^20.38.5”, “electron-debug”: “^2.1.0”, “electron-devtools-installer”: “^2.2.4”, “electron-is-dev”: “^1.0.1” (although I haven’t actually created a build with electron-builder yet as I’ve been trying to get the dev mode working first 😢).

It is a little frustrating to find that every release from 2.0.0/2.0.1 up to the new 5.x betas has the same problem of chromium trying to download devtools from a non-existent location (deleted scripts package?). I’d stepped away from a personal project (that was using electron 1.7.4) for the last year, and went to update it this weekend to use current library versions. But it seems that updating electron simply breaks several of the standard chrome-devtools - Network, Performance, Source (syntax highlighting for .jsx, .ts, .tsx files breaks and reports errors). These are not custom devtools extensions that are “possibly unsupported”, they’re supposed to be ones that are a part of chromium’s basic tools and always available.

Simply checking for whether the url they look for exists (as per #13502) doesn’t fix the issue that electron’s chromium is looking for the standard devtools extensions in a location that no longer exists. It will at least fix the bug in electron of trying to run scripts that were not found, but the basic fact is that these scripts should be available to be downloaded. Something really does need to be worked out with the Chromium dev team so that the specific versions that electron use are kept around for people using electron to download - or they need to be added to the chromium bundle itself so that they don’t need to be downloaded separately in the first place.

I was digging a little deeper and found a file inside C:\Users\_______\AppData\Roaming\Electron\Cache\data_1 this file contains the url mentioned before. Deleting this file does not help. After starting the app, it seems to be recreated/redownloaded?

This problem is now occurring for me too:

 [41257:0215/165457.240283:ERROR:CONSOLE(24)] "Empty response arrived for script 'devtools://devtools/remote/serve_file/@4bb722d3593d669ad20f953921d82ce421ec38df/product_registry_impl/product_registry_impl_module.js'", source: devtools://devtools/bundled/shell.js (24)
[1] [41257:0215/165457.243209:ERROR:CONSOLE(109)] "Uncaught (in promise) Error: Could not instantiate: ProductRegistryImpl.Registry", source: devtools://devtools/bundled/shell.js (109)
[1] fail
[1] [41257:0215/165457.422429:ERROR:CONSOLE(109)] "Uncaught (in promise) Error: Could not instantiate: ProductRegistryImpl.Registry", source: devtools://devtools/bundled/shell.js (109)
[1] [41257:0215/165457.432497:ERROR:CONSOLE(109)] "Uncaught (in promise) Error: Could not instantiate: ProductRegistryImpl.Registry", source: devtools://devtools/bundled/shell.js (109)
[1] [41257:0215/165457.432534:ERROR:CONSOLE(109)] "Uncaught (in promise) Error: Could not instantiate: ProductRegistryImpl.Registry", source: devtools://devtools/bundled/shell.js (109)

Any reload of my main electron window results in an empty page that cannot be recovered (pretty annoying if you have hot-reloading on cause I now have to do a full restart each time). This wasn’t happening for me earlier, but since I tried upgrading and then downgrading to different versions of Electron 7.1.x. now it doesn’t matter what version I use.

This problem doesn’t happen in another smaller test Electron app that I made. But I am unable to determine what key differences between them are, same versions of electron/node/etc.

I think I have a fair idea, it is a rats nest. I have wireshark open and watch the net traffic when I code and test my app, I would suggest others do the same.

IMHO your electron application should not be calling to 3rd party servers without explicit permission.

You have no idea how deep this rabbit hole goes.

Hmm… what is the purpose of this script file?

https://chrome-devtools-frontend.appspot.com/serve_file/@675968a8c657a3bd9c1c2c20c5d2935577bbc5e6/product_registry_impl/product_registry_impl_module.js

At first glance it appears to be just a product registry list of various corporations, probably corporate clients of Google.

Despite the potential privacy pitfalls of your application calling “home” to a Google owned platform when someone opens the developer tools in your electron app, I think it would be better to just serve a stripped down dummy version of this ‘product_registry_impl_module.js’ file locally from with-in your application, without the corporate client list.

IMHO your electron application should not be calling to 3rd party servers without explicit permission. The fact that this behavior is built into the open source chromium browser is disconcerting.

I’m getting this issue too.

Same in vscode:

Versão: Commit de 1.35.0: 553cfb2c2205db5f15f3ee8395bbd5cf066d357d
 Data: 2019-06-04T01:13:26.790Z 
 elétron: 3.1.8
 Chrome: 66.0.3359.181
 node. js: 10.2.0 
 V8: 6.6.346.32 OS: Linux x64 5.3.0-20-lowlatency

chrome-devtools://devtools/bundled/toolbox.html?remoteBase=https://chrome-devtools-frontend.appspot.com/serve_file/@164c37e3f235134c88e80fac2a182cfba3f07f00/&can_dock=true&toolbarColor=rgba(223,223,223,1)&textColor=rgba(0,0,0,1)&experiments=true

This is on a completely other note, but you should seriously consider upgrading your app.

Same issue on v3.0.10

The hack above worked for 2.0.5, but after updating to 3.0.0-beta.3 the errors return. Updating it with the new uuid/hash value of 164c37e3f235134c88e80fac2a182cfba3f07f00 for the updated chromium doesn’t fix it.