libunity-webapps pulls gtk 3 in to Firefox

Bug #1138473 reported by Chris Coulson
30
This bug affects 7 people
Affects Status Importance Assigned to Milestone
WebApps: libunity-webapps
Fix Released
Undecided
Alexandre Abreu
libunity-webapps (Ubuntu)
Fix Released
Critical
Unassigned
Quantal
Won't Fix
Critical
Unassigned
Raring
Fix Released
Critical
Unassigned

Bug Description

 [Impact]

See https://bugzilla.mozilla.org/show_bug.cgi?id=846863.

This didn't really appear on the radar because of a problem with debug symbols for system libraries, but now that's been fixed this week.

libunity-webapps is pulling gtk3 in to the address space of Firefox (which is gtk2). They absolutely do not work along side each other in the same address space (gtk2 refuses to even initialize if it detects gtk3 symbols in the same process, but this check is bypassed because it's initialized before libunity-webapps is loaded), and having them both in the same process is not supported in any way whatsoever.

I've no idea why this has only started being a problem now (perhaps it's the cause of a lot of random crash bugs / hangs that we get reports of). I can only think that Firefox used to do something on startup that indirectly caused the registration of the GdkKeymap type (in gtk2) before the webapps addon loaded, and now that doesn't happen until afterwards - by which point it has been registered in gtk3 code, which results in type registration failing later on.... and then it's a guaranteed crash.

This is the sort of problem that's likely to explode due to a slight change in wind direction, which has now happened. For people experiencing this, it's a startup crash (meaning that Firefox is completely unusable for an unknown number of our users).

[Test Case]

- Launch Firefox with the webapps extension installed and the fix,
- Go to a webapp supported website (e.g. Twitter), and validate that no crash occurs,
- Validate that firefox does not have a memory region where the gtk3 .so is loaded by looking at it's /prox/maps

[Regression Potential]

Very slim, since only the tools/ found in the libunity-webapps source package are impacted and the bit that was binding to gtk3 has been removed and was not used by FF.

Related branches

Revision history for this message
Chris Coulson (chrisccoulson) wrote :

Will, is there anyone who can take a look at this, with some urgency?

Changed in libunity-webapps (Ubuntu Quantal):
importance: Undecided → Critical
status: New → Triaged
Changed in libunity-webapps (Ubuntu Raring):
status: New → Triaged
importance: Undecided → Critical
Changed in libunity-webapps:
assignee: nobody → Alexandre Abreu (abreu-alexandre)
Revision history for this message
Alexandre Abreu (abreu-alexandre) wrote :

@vrruiz I did smoke tests & validated the FF part of the fix, could you quickly validate it also?

Changed in libunity-webapps:
status: New → In Progress
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:libunity-webapps at revision 982, scheduled for release in libunity-webapps, milestone 2.3.3

Changed in libunity-webapps:
status: In Progress → Fix Committed
Revision history for this message
Chris Coulson (chrisccoulson) wrote :

It's pretty impressive that the fix is in a version that was released in September 2012. Your bot is magic ;)

Revision history for this message
Alexandre Abreu (abreu-alexandre) wrote :

@chrisccoulson: see how fast we work! We use quantum leaps internally ... :)

Could you validate that it does work on your end Chris, before I SRU this?

Revision history for this message
Chris Coulson (chrisccoulson) wrote :

Sure, can do. I'd welcome any break from staring at arm assembler in Chromium right now :)

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package libunity-webapps - 2.4.4~daily13.03.06-0ubuntu1

---------------
libunity-webapps (2.4.4~daily13.03.06-0ubuntu1) raring; urgency=low

  [ Alexandre Abreu ]
  * Fix make distcheck (LP: #1123079)
  * libunity-webapps pulls gtk 3 in to Firefox (LP: #1138473)

  [ Automatic PS uploader ]
  * Automatic snapshot from revision 982
 -- Automatic PS uploader <email address hidden> Wed, 06 Mar 2013 05:01:25 +0000

Changed in libunity-webapps (Ubuntu Raring):
status: Triaged → Fix Released
Revision history for this message
Chris Coulson (chrisccoulson) wrote :

I tested this and it seems to work fine

description: updated
Changed in libunity-webapps:
status: Fix Committed → Fix Released
Revision history for this message
Rolf Leggewie (r0lf) wrote :

quantal has seen the end of its life and is no longer receiving any updates. Marking the quantal task for this ticket as "Won't Fix".

Changed in libunity-webapps (Ubuntu Quantal):
status: Triaged → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.