libunity-webapps pulls gtk 3 in to Firefox

Bug #1138473 reported by Chris Coulson on 2013-03-01
This bug affects 7 people
Affects Status Importance Assigned to Milestone
WebApps: libunity-webapps
Alexandre Abreu
libunity-webapps (Ubuntu)

Bug Description



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

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)

@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
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
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 ;)

@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?

Chris Coulson (chrisccoulson) wrote :

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

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
Chris Coulson (chrisccoulson) wrote :

I tested this and it seems to work fine

description: updated
Changed in libunity-webapps:
status: Fix Committed → Fix Released
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  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers