On 2016年09月23日 11:42, ishikawa wrote:
> On 2016年09月22日 17:33, Mark Banner wrote:
>> On 22/09/2016 08:44, ISHIKAWA,chiaki wrote:
>>> 3:07:56     INFO -  1474488476446    addons.xpi-utils    WARN
>>> addMetadata: Add-on specialpow...@mozilla.org is invalid: Error: Invalid
>>> addon ID: expected addon ID specialpow...@mozilla.org, found
>>> special-pow...@mozilla.org in manifest  ...
>>> I am not sure if this comes from the intended test.
>>> Rather it looks a configuration error.
>>> The error line seems to appear at beginning of the selected run of each
>>> test directory.
>> ...
>>> cf. 3 results from the comm-central tree:
>>> mozilla/testing/specialpowers/Makefile.in
>>> ♢7 XPI_PKGNAME = specialpow...@mozilla.org
>> Looks like this is different from what is specified in
>> testing/specialpowers/install.rdf - which is the dashed version, and was
>> introduced when it was rewritten last year.
>> The simplest thing is probably to change the install.rdf to remove the dash
>> as then it wouldn't be changing the file name on disk - and also update the
>> other couple of instances in the tree. Probably worth a running through a
>> few tests on try just to make sure as well.
>> The test infrastructure has probably got away with it due to the next
>> warning of "Could not uninstall invalid item from locked install location",
>> so it kept on using it.
>> Mark
> By changing a few install.rdf as suggested, the particular error messages
> are gone, but
> I now see different failures.
> https://treeherder.mozilla.org/#/jobs?repo=try-comm-central&revision=de72a169065a2bbb7f69a0e5420992bfca5a77ec
> I am testing other patches as well, the particular patch to modify
> install.rdf is
> https://hg.mozilla.org/try-comm-central/rev/a135ec33cb11
> I will investigate more to see if the new errors are due to my changes or
> a regression caused by a later change to M-C, etc.

The new errors are obviously related to my change.
(linux 64 debug)
Assertion failure: IsInAutomation(), at

(OSX 10.10 debug)
Assertion failure: IsInAutomation(), at

(WIndows 7 debug)
Assertion failure: IsInAutomation(), at

xpprivate.h:3445 is
inline void

So where is CrashIfNotInAutomation() called?
5 results from the comm-central tree: Switch Tree
♢ 2920 CrashIfNotInAutomation();
♢ 2931 CrashIfNotInAutomation();
♢ 3443 CrashIfNotInAutomation()
♢ 453 CrashIfNotInAutomation();
♢ 459 CrashIfNotInAutomation();

These places seem to try to use a different variant of XPC API or something
depending on where the code is executed (hmm, tricky and not sure if this is
a great idea in view of security), and
since the string is changed, the assertion now fails, it seems.
(Which means then, maybe I need to reverse the change of one python script,
and one JavaScript file.)

I changed only these:

diff --git a/build/mobile/b2gautomation.py b/build/mobile/b2gautomation.py
--- a/build/mobile/b2gautomation.py
+++ b/build/mobile/b2gautomation.py
@@ -89,18 +89,18 @@ class B2GRemoteAutomation(Automation):
         for rdfChild in document.documentElement.childNodes:
             if rdfChild.nodeType == Node.ELEMENT_NODE and rdfChild.tagName
== "Description":
                 for descChild in rdfChild.childNodes:
                     if descChild.nodeType == Node.ELEMENT_NODE and
descChild.tagName == "em:id":
                         return descChild.childNodes[0].data
         return None

     def installExtension(self, extensionSource, profileDir, extensionID=None):
-        # Bug 827504 - installing special-powers extension separately
causes problems in B2G
-        if extensionID != "special-pow...@mozilla.org":
+        # Bug 827504 - installing specialpowers extension separately causes
problems in B2G
+        if extensionID != "specialpow...@mozilla.org":
             if not os.path.isdir(profileDir):
               self.log.info("INFO | automation.py | Cannot install
extension, invalid profileDir at: %s", profileDir)

             installRDFFilename = "install.rdf"

             extensionsRootDir = os.path.join(profileDir, "extensions",
             if not os.path.isdir(extensionsRootDir):
diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -5339,17 +5339,17 @@ pref("dom.mozSettings.SettingsService.ve
 pref("dom.mozSettings.allowForceReadOnly", false);

 // The interval at which to check for slow running addons
 pref("browser.addon-watch.interval", 15000);
 pref("browser.addon-watch.interval", -1);

 // Search service settings
 pref("browser.search.log", false);
 pref("browser.search.update", true);
 pref("browser.search.update.log", false);
 pref("browser.search.update.interval", 21600);
 pref("browser.search.suggest.enabled", true);
 pref("browser.search.reset.enabled", false);
diff --git a/testing/specialpowers/install.rdf
--- a/testing/specialpowers/install.rdf
+++ b/testing/specialpowers/install.rdf
@@ -1,15 +1,15 @@
 <?xml version="1.0"?>

 <RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#";

   <Description about="urn:mozilla:install-manifest">
-    <em:id>special-pow...@mozilla.org</em:id>
+    <em:id>specialpow...@mozilla.org</em:id>

     <!-- Target Application this extension can install into,
          with minimum and maximum supported versions. -->

I think I am going to file a bugzilla very soon now.



nsXPCComponents_Utils::ForcePermissiveCOWs(JSContext* cx)
    CompartmentPrivate::Get(CurrentGlobalOrNull(cx))->forcePermissiveCOWs =
    return NS_OK;

nsXPCComponents_Utils::ForcePrivilegedComponentsForScope(HandleValue vscope,
                                                         JSContext* cx)
    if (!vscope.isObject())
        return NS_ERROR_INVALID_ARG;
    JSObject* scopeObj = js::UncheckedUnwrap(&vscope.toObject());
    XPCWrappedNativeScope* scope = ObjectScope(scopeObj);
    return NS_OK;


    // First, handle the special cases.

    // If UniversalXPConnect is enabled, this is just some dumb mochitest. Use
    // a vanilla CCW.
    if (xpc::IsUniversalXPConnectEnabled(target)) {
        wrapper = &CrossCompartmentWrapper::singleton;

    // Let the SpecialPowers scope make its stuff easily accessible to content.
    else if (CompartmentPrivate::Get(origin)->forcePermissiveCOWs) {
        wrapper = &CrossCompartmentWrapper::singleton;
dev-platform mailing list

Reply via email to