5digits / dactyl

Pentadactyl and other related Gecko extensions
Other
470 stars 98 forks source link

Firefox 54: bootstrap: TypeError: /^function .*?\((.*?)\)/.exec(...) is null #209

Closed iegorka closed 7 years ago

iegorka commented 7 years ago

In Firefox 54 Pentadactyl has this error at the startup:

dactyl: bootstrap: startup startup
dactyl: bootstrap: init pentadactyl-signed@willsalmanj.github.com
pentadactyl-signed: bootstrap: init
pentadactyl-signed: [Begin base]
pentadactyl-signed: Loading base: TypeError: /^function .*?\((.*?)\)/.exec(...) is null

pentadactyl-signed: bootstrap: TypeError: /^function .*?\((.*?)\)/.exec(...) is null
Class@resource://dactyl/bootstrap.jsm -> resource://dactyl/base.jsm:927:1
@resource://dactyl/bootstrap.jsm -> resource://dactyl/base.jsm:1817:12
loadSubScript@resource://dactyl/bootstrap.jsm:26:12
_load@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users...extensions/pentadactyl-signed@willsalmanj.github.com.xpi!/bootstrap.js:150:17
load@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users...extensions/pentadactyl-signed@willsalmanj.github.com.xpi!/bootstrap.js:173:17
init@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users...extensions/pentadactyl-signed@willsalmanj.github.com.xpi!/bootstrap.js:286:25
startup@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Users...extensions/pentadactyl-signed@willsalmanj.github.com.xpi!/bootstrap.js:394:13
callBootstrapMethod@resource://gre/modules/addons/XPIProvider.jsm:4982:11
startup@resource://gre/modules/addons/XPIProvider.jsm:2881:13
callProvider@resource://gre/modules/AddonManager.jsm:272:12
_startProvider@resource://gre/modules/AddonManager.jsm:759:5
startup@resource://gre/modules/AddonManager.jsm:941:9
startup@resource://gre/modules/AddonManager.jsm:3145:5
observe@resource://gre/components/addonManager.js:65:9

willsALMANJ think that the reason is in the update of regular expressions: willsALMANJ/pentadactyl-signed/issues/3

iegorka commented 7 years ago

@willsALMANJ Thanks for this update. It works for me in FF54 and FF55.0b1.

I have some warnigs with "Ary#iterValues" and XPCOMShim, but it's not critical:

pentadactyl: Attempt to use UI method before UI ready: warn(resource://dactyl/base.jsm:2044: Ary#iterValues is deprecated: Please use Array#values instead.)
pentadactyl: (End   main)

pentadactyl: [Exception... "Component returned failure code: 0x80004002 (NS_NOINTERFACE) [nsISupports.QueryInterface]"  nsresult: "0x80004002 (NS_NOINTERFACE)"  location: "JS frame :: resource://dactyl/base.jsm :: XPCOMShim/< :: line 1283"  data: no]
pentadactyl: Attempt to access UI method before UI ready: warn
pentadactyl: Attempt to use UI method before UI ready: warn(resource://dactyl/template.jsm:178: Ary#iterValues is deprecated: Please use Array#values instead.)
pentadactyl: [Exception... "Component returned failure code: 0x80004002 (NS_NOINTERFACE) [nsISupports.QueryInterface]"  nsresult: "0x80004002 (NS_NOINTERFACE)" ...::
pentadactyl: stack:     XPCOMShim/<@resource://dactyl/base.jsm:1283:55
pentadactyl:    XPCOMShim@resource://dactyl/base.jsm:1283:13
pentadactyl:    addClass/<@resource://dactyl/services.jsm:187:33
pentadactyl:    g_replaceProperty@resource://dactyl/base.jsm:797:78
pentadactyl:    _create@resource://dactyl/services.jsm:131:1
pentadactyl:    addClass/this[name]@resource://dactyl/services.jsm:190:35
pentadactyl:    writeNext@resource://dactyl/protocol.jsm:254:30
pentadactyl:    XMLChannel@resource://dactyl/protocol.jsm:232:5
pentadactyl:    Channel@resource://dactyl/protocol.jsm:33:17
pentadactyl:    newChannel@resource://dactyl/protocol.jsm:141:24
pentadactyl:    _loadOverlay/<@resource://dactyl/overlay.jsm:340:41
pentadactyl:    insert@resource://dactyl/overlay.jsm:321:25
pentadactyl:    _loadOverlay@resource://dactyl/overlay.jsm:340:9
pentadactyl:    overlayWindow@resource://dactyl/overlay.jsm:246:13
pentadactyl:    _init@resource://dactyl-content/mow.js:58:9
pentadactyl:    init@resource://dactyl-content/mow.js:21:9
pentadactyl:    mow@resource://dactyl/base.jsm line 912 > eval:10:23
pentadactyl:    time@resource://dactyl/base.jsm:123:19
pentadactyl:    loadModule@resource://dactyl/main.jsm:327:27
pentadactyl:    get@resource://dactyl/main.jsm:389:36
pentadactyl:    get mowEvents@resource://dactyl-content/commandline.js:970:23
pentadactyl:    init@resource://dactyl/template.jsm:166:34
pentadactyl:    Events@resource://dactyl/base.jsm line 912 > eval:10:23
pentadactyl:    highlightNode@resource://dactyl/highlight.jsm:245:21
pentadactyl:    tag@resource://dactyl/dom.jsm:1714:17
pentadactyl:    tag/<@resource://dactyl/dom.jsm:1710:34
pentadactyl:    tag@resource://dactyl/dom.jsm:1709:13
pentadactyl:    tag/</<@resource://dactyl/dom.jsm:1668:42
pentadactyl:    tag/<@resource://dactyl/dom.jsm:1667:21
pentadactyl:    tag@resource://dactyl/dom.jsm:1664:17
pentadactyl:    fromJSON@resource://dactyl/dom.jsm:1723:16
pentadactyl:    insert@resource://dactyl/overlay.jsm:313:36
pentadactyl:    _loadOverlay@resource://dactyl/overlay.jsm:338:9
pentadactyl:    overlayWindow@resource://dactyl/overlay.jsm:246:13
pentadactyl:    init@resource://dactyl-content/commandline.js:17:9
pentadactyl:    CommandWidgets@resource://dactyl/base.jsm line 912 > eval:10:23
pentadactyl:    CommandLine<.widgets<@resource://dactyl-content/commandline.js:640:34
pentadactyl:    g_Memoize@resource://dactyl/base.jsm:1051:64
pentadactyl:    echo@resource://dactyl-content/commandline.js:800:29
pentadactyl:    warn@resource://dactyl-content/dactyl.js:440:9
pentadactyl:    apply@resource://dactyl/base.jsm:280:12
pentadactyl:    trapErrors@resource://dactyl/util.jsm:1766:20
pentadactyl:    flushLateMethods@resource://dactyl/util.jsm:140:43
pentadactyl:    initLoad/<@resource://dactyl-content/dactyl.js:2077:13
pentadactyl: toString: function () { return String(error); }
wshanks commented 7 years ago

So you have only non-critical issues? For me, link hint labels did not show when I hit f.

fbarthelery commented 7 years ago

If I remember well I had the issue with hint label when multiprocessing is enabled. I disabled it and no issue so far.

congma commented 7 years ago

@willsALMANJ I can confirm what @fbarthelery said with disabled multiprocessing. I don't see the labels disappearing.

wshanks commented 7 years ago

Good to know that it works. I had tested it in a new profile and that had multiprocessing turned on. I tested it now with multiprocessing explicitly disabled and it also worked for me.

Pentadactyl has multiprocessCompatible set to false in install.rdf which I thought should force Firefox to disable multiprocessing. When I installed Pentadactyl in the new profile Firefox restarted like it should in order to restart with multiprocessing disabled, but multiprocessing was still enabled when Firefox restarted. Maybe the documentation is not clear and the multiprocessCompatible flag just turns on the compatibilty shims (which don't work very well) rather than disabling multiprocessing.