brackets-userland / brackets-electron

An open source code editor for the web, written in JavaScript, HTML and CSS.
http://brackets.io
MIT License
81 stars 8 forks source link

Exception in 'checkedStateChange' listener on Command "Show Errors in Status Bar" #71

Closed zaggino closed 7 years ago

zaggino commented 8 years ago

Description

Console shows error:

EventDispatcher.js:231 Exception in 'checkedStateChange' listener on Command {_name: "Show Errors in Status Bar", _id: "debug.showErrorsInStatusBar", _checked: false, _enabled: true, _eventHandlers: Object} Error: Cannot read property 'object' of undefined
TypeError: Cannot read property 'object' of undefined
    at ObjectsRegistry.get (/opt/Brackets-Electron/resources/electron.asar/browser/objects-registry.js:44:28)
    at EventEmitter.<anonymous> (/opt/Brackets-Electron/resources/electron.asar/browser/rpc-server.js:305:31)
    at emitMany (events.js:127:13)
    at EventEmitter.emit (events.js:201:7)
    at WebContents.<anonymous> (/opt/Brackets-Electron/resources/electron.asar/browser/api/web-contents.js:218:13)
    at emitTwo (events.js:106:13)
    at WebContents.emit (events.js:191:7) Error: Cannot read property 'object' of undefined
TypeError: Cannot read property 'object' of undefined
    at ObjectsRegistry.get (/opt/Brackets-Electron/resources/electron.asar/browser/objects-registry.js:44:28)
    at EventEmitter.<anonymous> (/opt/Brackets-Electron/resources/electron.asar/browser/rpc-server.js:305:31)
    at emitMany (events.js:127:13)
    at EventEmitter.emit (events.js:201:7)
    at WebContents.<anonymous> (/opt/Brackets-Electron/resources/electron.asar/browser/api/web-contents.js:218:13)
    at emitTwo (events.js:106:13)
    at WebContents.emit (events.js:191:7)
    at metaToValue (/opt/Brackets-Electron/resources/electron.asar/renderer/api/remote.js:209:13)
    at Object.remoteMemberFunction (/opt/Brackets-Electron/resources/electron.asar/renderer/api/remote.js:110:18)
    at MenuItem._checkedChanged (file:///opt/Brackets-Electron/resources/app/www/command/Menus.js:766:26)
    at Command.trigger (file:///opt/Brackets-Electron/resources/app/www/utils/EventDispatcher.js:229:40)
    at Command.setChecked (file:///opt/Brackets-Electron/resources/app/www/command/CommandManager.js:135:18)
    at Command.toggleErrorNotification [as _commandFn] (file:///opt/Brackets-Electron/resources/app/www/extensions/default/DebugCommands/main.js:264:61)
    at Command.execute (file:///opt/Brackets-Electron/resources/app/www/command/CommandManager.js:93:38)
    at Object.execute (file:///opt/Brackets-Electron/resources/app/www/command/CommandManager.js:287:36)
    at EventEmitter.<anonymous> (file:///opt/Brackets-Electron/resources/app/www/utils/ShellAPI.js:14:40)
    at emitTwo (events.js:106:13)trigger @ EventDispatcher.js:231Command.setChecked @ CommandManager.js:135toggleErrorNotification @ main.js:264Command.execute @ CommandManager.js:93execute @ CommandManager.js:287(anonymous function) @ ShellAPI.ts:30emitTwo @ events.js:106emit @ events.js:191
EventDispatcher.js:232 Assertion failed:trigger @ EventDispatcher.js:232Command.setChecked @ CommandManager.js:135toggleErrorNotification @ main.js:264Command.execute @ CommandManager.js:93execute @ CommandManager.js:287(anonymous function) @ ShellAPI.ts:30emitTwo @ events.js:106emit @ events.js:191

Steps to Reproduce

  1. Debug -> Show Errors in Status Bar

    Versions

Ubuntu 14.04

Breckets-Electron v1.8.2

zaggino commented 8 years ago

This seems like some sort of electron memory issue (all stack calls are coming from inside an electron asar archive) ... what's more, I can't replicate it even on Linux ... @iegik does this happen everytime or it just happened once?

iegik commented 8 years ago

No. I can`t repeat this on v1.8.2

zaggino commented 8 years ago

Here it hints electron/electron#4733 that it might be something with referencing an object in the main process which has already been removed. Will have a closer look at my code even though I can't replicate this.

zaggino commented 8 years ago

After investigating I believe this is an electron issue.

zaggino commented 7 years ago

according to https://github.com/electron/electron/issues/7351 this should be fixed in latest master