mkaply / cck2wizard

CCK2
Mozilla Public License 2.0
46 stars 9 forks source link

Firefox 58 Exception Error #73

Closed bp88 closed 6 years ago

bp88 commented 6 years ago

I created a CCK2 config (with CCK 2.2.3.5) where all I did was disable auto update for Firefox.

Here is the cck2.config.json file:

{
  "cckVersion": "2.2.3.5",
  "name": "Company Name",
  "version": "1",
  "outputDirectory": "/Users/user/Desktop",
  "extension": {
    "name": "Company Name"
  },
  "disableFirefoxUpdates": true,
  "id": "org.companyname.firefox.cck2"
}

Here is the error I receive. I do get an OK button which then proceeds to open Firefox 58 but without any of the CCK2 config changes enforced:

CCK2
[Exception... "Component returned failure code: 0x80004002 (NS_NOINTERFACE) [nsIPrefBranch.setComplexValue]"  nsresult: "0x80004002 (NS_NOINTERFACE)"  location: "JS frame :: resource://cck2/Preferences.jsm :: _set :: line 194"  data: no]

_set@resource://cck2/Preferences.jsm:194:11
set@resource://cck2/Preferences.jsm:152:5
init@resource://cck2/CCK2.jsm:170:7
@cck2.cfg:31:1
tsherrington commented 6 years ago

I'm noticing this same error on every FF57 install that auto-upgrades to FF58.

tsherrington commented 6 years ago

It is also happening on fresh installs of FF58 - I did a complete wipe of FF57.0.4 (uninstalled and removed all folders and registry entries) on a fresh Windows 7 install. Still gives same error on 58 and it doesn't implement any of the CCK2 modifications.

mkaply commented 6 years ago

Odd. I am not able to recreate.

Can you please look at the file Preferences.jsm in your CCK2 package and see if it has this change:

https://github.com/mkaply/cck2wizard/blame/master/cck2/modules/Preferences.jsm#L191

Mike

tsherrington commented 6 years ago

Looks like I have an older CCK2 - I guess I'd better re-download and recreate. Actually, can I just replace my preferences.jsm with the current one?

bp88 commented 6 years ago

When I check the CCK2 autoconfig that I generated, here's what I see under cck2/modules/Preferences.jsm at line 191

          try {
             this._prefSvc.setStringPref(prefName, prefValue);
          } catch (e) {
            let string = Cc["@mozilla.org/supports-string;1"].
                         createInstance(Ci.nsISupportsString);
            string.data = prefValue;
            this._prefSvc.setComplexValue(prefName, Ci.nsISupportsString, string);
          }
mkaply commented 6 years ago

So it appears that maybe the setStringPref is failing with bad values for prefName/prefValue?

That's all I can guess. Can you send me your complete autoconfig.zip?

tsherrington commented 6 years ago

I tried just replacing the Preferences.jsm with a new one, but had the same problem. Then I downloaded a new copy of CCK2, created a new autoconfig and it works fine.

Is there a mailing list I can get on to find out about updates to CCK2?

bp88 commented 6 years ago

Sure. What's the best way to get it to you?

bp88 commented 6 years ago

Just wanted to check in and report that I resolve the issue I was having. I was using autopkg to package up the CCK2 autoconfig.zip with Firefox 58 and I was screwing up where I put the autoconfig.zip which meant I was still packaging up the older autoconfig.zip with Firefox 58. Everything is working as expected now. Sorry for the false alarm.

tsherrington commented 6 years ago

I'm wondering if there is a simple fix for this - I found that uninstalling and reinstalling FF58 with the new autoconfig works, but is it possible to just replace the offending file or files?