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 [email protected] is invalid: Error: Invalid
>>> addon ID: expected addon ID [email protected], found
>>> [email protected] 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 = [email protected]
>>
>> 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.
>
> TIA
>
The new errors are obviously related to my change.
(linux 64 debug)
Assertion failure: IsInAutomation(), at
/builds/slave/tb-try-c-cen-l64-d-00000000000/build/mozilla/js/xpconnect/src/xpcprivate.h:3445
(OSX 10.10 debug)
Assertion failure: IsInAutomation(), at
/builds/slave/tb-try-c-cen-m64-d-00000000000/build/mozilla/js/xpconnect/src/xpcprivate.h:3445
(WIndows 7 debug)
Assertion failure: IsInAutomation(), at
c:\builds\moz2_slave\tb-try-c-cen-w32-d-00000000000\build\mozilla\js\xpconnect\src\xpcprivate.h:3445
xpprivate.h:3445 is
inline void
CrashIfNotInAutomation()
{
MOZ_RELEASE_ASSERT(IsInAutomation());
}
So where is CrashIfNotInAutomation() called?
5 results from the comm-central tree: Switch Tree
mozilla/js/xpconnect/src/XPCComponents.cpp
♢ 2920 CrashIfNotInAutomation();
♢ 2931 CrashIfNotInAutomation();
mozilla/js/xpconnect/src/xpcprivate.h
♢ 3443 CrashIfNotInAutomation()
mozilla/js/xpconnect/wrappers/WrapperFactory.cpp
♢ 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 != "[email protected]":
+ # Bug 827504 - installing specialpowers extension separately causes
problems in B2G
+ if extensionID != "[email protected]":
if not os.path.isdir(profileDir):
self.log.info("INFO | automation.py | Cannot install
extension, invalid profileDir at: %s", profileDir)
return
installRDFFilename = "install.rdf"
extensionsRootDir = os.path.join(profileDir, "extensions",
"staged")
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
#ifdef NIGHTLY_BUILD
pref("browser.addon-watch.interval", 15000);
#else
pref("browser.addon-watch.interval", -1);
#endif
-pref("browser.addon-watch.ignore",
"[\"[email protected]\",\"[email protected]\",\"[email protected]\",\"fx-devtools\"]");
+pref("browser.addon-watch.ignore",
"[\"[email protected]\",\"[email protected]\",\"[email protected]\",\"fx-devtools\"]");
// 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
b/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#"
xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:install-manifest">
- <em:id>[email protected]</em:id>
+ <em:id>[email protected]</em:id>
<em:version>2015.11.16</em:version>
<em:type>2</em:type>
<em:bootstrap>true</em:bootstrap>
<!-- Target Application this extension can install into,
with minimum and maximum supported versions. -->
<em:targetApplication>
<Description>
I think I am going to file a bugzilla very soon now.
TIA
cf.
https://dxr.mozilla.org/comm-central/source/mozilla/js/xpconnect/src/XPCComponents.cpp#2920
NS_IMETHODIMP
nsXPCComponents_Utils::ForcePermissiveCOWs(JSContext* cx)
{
CrashIfNotInAutomation();
CompartmentPrivate::Get(CurrentGlobalOrNull(cx))->forcePermissiveCOWs =
true;
return NS_OK;
}
NS_IMETHODIMP
nsXPCComponents_Utils::ForcePrivilegedComponentsForScope(HandleValue vscope,
JSContext* cx)
{
if (!vscope.isObject())
return NS_ERROR_INVALID_ARG;
CrashIfNotInAutomation();
JSObject* scopeObj = js::UncheckedUnwrap(&vscope.toObject());
XPCWrappedNativeScope* scope = ObjectScope(scopeObj);
scope->ForcePrivilegedComponents();
return NS_OK;
}
https://dxr.mozilla.org/comm-central/source/mozilla/js/xpconnect/wrappers/WrapperFactory.cpp#453
//
// First, handle the special cases.
//
// If UniversalXPConnect is enabled, this is just some dumb mochitest. Use
// a vanilla CCW.
if (xpc::IsUniversalXPConnectEnabled(target)) {
CrashIfNotInAutomation();
wrapper = &CrossCompartmentWrapper::singleton;
}
// Let the SpecialPowers scope make its stuff easily accessible to content.
else if (CompartmentPrivate::Get(origin)->forcePermissiveCOWs) {
CrashIfNotInAutomation();
wrapper = &CrossCompartmentWrapper::singleton;
}
_______________________________________________
dev-platform mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-platform