Bug 1073315: Log callers attempting to use dead CPOWs. r=billm
authorDave Townsend <dtownsend@oxymoronical.com>
Tue, 14 Oct 2014 09:53:54 -0700
changeset 210412 cb55300789e1dd8aea8e61a6d7e22c64299f06ed
parent 210318 7246195fb751da0975f4a5abff617ff42e2ba712
child 210413 fdf1c444300836f3fe27e41c65a55fe618852088
push id27653
push userryanvm@gmail.com
push dateWed, 15 Oct 2014 17:59:08 +0000
treeherdermozilla-central@7de522bd9785 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbillm
bugs1073315
milestone36.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1073315: Log callers attempting to use dead CPOWs. r=billm
toolkit/components/addoncompat/multiprocessShims.js
--- a/toolkit/components/addoncompat/multiprocessShims.js
+++ b/toolkit/components/addoncompat/multiprocessShims.js
@@ -108,17 +108,22 @@ AddonInterpositionService.prototype = {
     return "generic";
   },
 
   interpose: function(addon, target, iid, prop) {
     let interp;
     if (iid) {
       interp = this._interfaceInterpositions[iid];
     } else {
-      interp = this._taggedInterpositions[this.getObjectTag(target)];
+      try {
+        interp = this._taggedInterpositions[this.getObjectTag(target)];
+      }
+      catch (e) {
+        Cu.reportError(new Components.Exception("Failed to interpose object", e.result, Components.stack.caller));
+      }
     }
 
     if (!interp) {
       return null;
     }
 
     let desc = { configurable: false, enumerable: true };