5digits/dactyl

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

iegorka opened this issue · 5 comments

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:
wshanks/pentadactyl-signed/issues/3

@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); }

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

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

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

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.