Closed Bug 751905 Opened 9 years ago Closed 9 years ago

about:memory and JS console broken on inbound tip in unpackaged build

Categories

(Core :: General, defect)

15 Branch
defect
Not set
normal

Tracking

()

VERIFIED FIXED
mozilla15
Tracking Status
firefox13 + fixed
firefox14 + fixed
firefox15 --- fixed
firefox-esr10 13+ fixed

People

(Reporter: mbrubeck, Unassigned)

References

Details

(Keywords: regression, Whiteboard: [qa-])

Attachments

(1 file, 2 obsolete files)

Not sure where to file this, sorry.

In a local Linux build from inbound, yesterday evening, njn noticed that about:memory would not load in a local (unpackaged) build, and I was able to reproduce this.  Instead of "about:memory", the urlbar shows a file: URI with the location of aboutMemory.xhtml in the srcdir.  The JS console will not load either (it shows an empty window with no console messages).

Bisecting led me to this possible regression range, though njn found that clobbering might alter the results.  (I bisected without clobbering.)  CPG has also been suggested as the culprit.
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=086e419f370a&tochange=26738df8a4e0

There was some possibly relevant logging from my debug build:

JavaScript error: , line 0: nothing active on context (repeated many times)

Security Error: Content at file:///home/mbrubeck/src/mozilla/beta/browser/themes/gnomestripe/searchbar.css may not load or link to chrome://mozapps/skin/places/defaultFavicon.png
Component: General → about:memory
Product: Core → Toolkit
QA Contact: general → about.memory
> CPG has also been suggested as the culprit.

I suggested that when I assumed about:memory was broken differently than it is.  :)  This doesn't immediately sound like CPG to me.
I noticed a similar error with:

TEST_PATH=js/xpconnect/tests make mochitest-chrome

I doubt that this is CPG-related, because the above is my standard smoketest, which I ran many times with my CPG patches before pushing them. Also, CPG isn't in that regression window.
(FWIW, I'm pretty baffled that chrome tests are broken for me locally but not on tinderbox. Maybe it's the way that I'm running them?)
(In reply to Kyle Huey [:khuey] (khuey@mozilla.com) from comment #4)
> I think this is  http://hg.mozilla.org/integration/mozilla-inbound/rev/60613f18435b

Indeed it is.

What's happening is that (in a symlink or unpackaged omnijar build) many chrome files are actually symlinks back to the source tree.

Part of the patch updates channels that point to symlinks to point them at their destination.

Unfortuantely this also ends up clobbering the original chrome: URL in the case that it resolves to a file: URL that is a symlink.
The right way to do this is probably to clear the LOAD_REPLACE flag on the underlying channel right around http://hg.mozilla.org/mozilla-central/annotate/db1f131884de/chrome/src/nsChromeProtocolHandler.cpp#l215
Assignee: nobody → netzen
Attached patch This seems to fix it. (obsolete) — Splinter Review
Per bz's suggestion this seems to fix both about:memory and the error console. Brian, can you push this through try etc and get this landed?
Attachment #621120 - Flags: review?(bzbarsky)
Comment on attachment 621120 [details] [diff] [review]
This seems to fix it.

Please move that code to after the comment.

And on a side note, -U8, please!
Attachment #621120 - Flags: review?(bzbarsky) → review+
> Per bz's suggestion this seems to fix both about:memory and the error console. 
> Brian, can you push this through try etc and get this landed?

I did the same locally, but yup I'll see your patch to landing.
Assignee: netzen → jst
Attached patch Patch v2.Splinter Review
Implemented bz nits on behalf of jst, pushed to try.
Attachment #621120 - Attachment is obsolete: true
Attachment #621126 - Flags: review+
Comment on attachment 621126 [details] [diff] [review]
Patch v2.

Just to be clear, the -U8 nit was not about the patch per se, but about jst's hg config.  ;)
understood, I meant about moving the comment.  The auto -U8 came for free from my beautifully configured hgrc ;)
-U8 hgrc bug fixed locally :)
Thanks for filing this, mbrubeck.


(In reply to Bobby Holley (:bholley) from comment #3)
> (FWIW, I'm pretty baffled that chrome tests are broken for me locally but
> not on tinderbox. Maybe it's the way that I'm running them?)

That is worrying to me.  I guess that tinderbox builds are not "a symlink or unpackaged omnijar build"?
Nope, tinderbox builds are packaged.
Seems like a comment is in order? Seems non-obvious why LOAD_REPLACE is being stripped out here.
Assignee: jst → nobody
Component: about:memory → General
OS: Linux → All
Product: Toolkit → Core
QA Contact: about.memory → general
Hardware: x86_64 → All
Attached patch Pavtch v3. (obsolete) — Splinter Review
Added its own comment, will land tonight when try results finish.
Actually, I believe the original comment clearly described what's going on.  For someone who knows how the principal of a load and the URI of a document is determined, at least.  For someone who doesn't know that this whole part of the code is complete mumbo-jumbo without _way_ better comments than what's there right now.
Are you OK if I land patch v2?
Yeah, go for it.
Attachment #621195 - Attachment is obsolete: true
http://hg.mozilla.org/mozilla-central/rev/0a48e6561534
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla15
No longer blocks: CVE-2012-1945
(In reply to Brian R. Bondy [:bbondy] from comment #22)
> Fixed for Aurora in changeset:
> http://hg.mozilla.org/releases/mozilla-aurora/rev/cf5c4540fe22
> See Bug 670514

I believe the same goes for beta now.
Matt, could you please verify this is now fixed in Firefox 13, 14, 15, and latest-mozilla-esr10? or provide QA with steps to reproduce this in those builds?
Whiteboard: [qa+]
This bug does not affect the builds produced by mozilla; it only affects builds on developers' machines. I can mark this verified on trunk but I don't have time to test it on all the branches. (I'm on vacation this week.)
Status: RESOLVED → VERIFIED
(In reply to Matt Brubeck (:mbrubeck) [back on 5/21] from comment #27)
> This bug does not affect the builds produced by mozilla; it only affects
> builds on developers' machines. I can mark this verified on trunk but I
> don't have time to test it on all the branches.

I can confirm it's fine on trunk (mbrubeck and I were the first to notice the bustage).  I don't think it's relevant to other branches because the bug that caused it (bug 670514) landed during the FF15 dev cycle.
Okay, thanks Matt and Nicholas. I'm marking this [qa-] based on your comments. Please change the whiteboard tag to [qa+] if something changes and there is something QA needs to do to verify this fix.
Whiteboard: [qa+] → [qa-]
You need to log in before you can comment on or make changes to this bug.