Firefox segfaults on launch on armel

Bug #837685 reported by Tobin Davis on 2011-08-30
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Mozilla Firefox
Fix Released
Medium
firefox (Ubuntu)
High
Unassigned
Oneiric
High
Unassigned

Bug Description

On the latest armel+omap4 image (20110830), firefox segfaults on launch. Attached is an strace of the issue.

ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: firefox 7.0~b2+build1+nobinonly-0ubuntu1
ProcVersionSignature: User Name 3.0.0-1203.8-omap4 3.0.1
Uname: Linux 3.0.0-1203-omap4 armv7l
Architecture: armel
BuildID: 20110825211643
Date: Tue Aug 30 13:51:01 2011
Extensions: extensions.sqlite corrupt or missing
Locales: extensions.sqlite corrupt or missing
Plugins: pluginreg.dat isn't available
ProcEnviron:
 SHELL=/bin/bash
 LANG=en_US.UTF-8
Profiles: Profile0 (Default) - LastVersion=7.0/20110825211643
SourcePackage: firefox
Themes: extensions.sqlite corrupt or missing
UpgradeStatus: No upgrade log present (probably fresh install)

Thanks to this GNU ld bug: http://sourceware.org/bugzilla/show_bug.cgi?id=13049 , building with a recent GNU ld (>= 2.21.1 are affected for sure, not sure about older ones ; 2.19 is definitely not affected) on ARM leads to a crash.

Created attachment 549783
Work around recent ARM GNU ld bug with -fdata-sections and variables names starting with "stub" leading to crash

A workaround is to avoid using variables with a name starting with "stub".

js/src/jsdhash.cpp has the same variable name, but as it is compiled as C++, its name is mangled and thus doesn't start with "stub".

Can we use gold for this?

(In reply to comment #2)
> Can we use gold for this?

It's not only a problem for us. It's a problem for those that use GNU ld on ARM.

Comment on attachment 549783
Work around recent ARM GNU ld bug with -fdata-sections and variables names starting with "stub" leading to crash

Since pldhash is jsdhash, can we just compile it as C++ and move on?

Created attachment 551473
Compile pldhash as C++

> Since pldhash is jsdhash, can we just compile it as C++ and move on?

We can.

For the record, this requires a clobber to build successfully, or else you'll get errors like:
> make[8]: *** No rule to make target `pldhash.c', needed by `pldhash.o'. Stop.

(noting here in case any devs / projec-branch-owners encounter this error and do a bugzilla search to see if it's reported anywhere)

Tobin Davis (gruemaster) wrote :
tags: added: iso-testing
Micah Gersten (micahg) wrote :

For the record, this is fixed in Firefox 8, but we'll be shipping 7 for oneiric.

Changed in firefox (Ubuntu):
importance: Undecided → High
milestone: none → ubuntu-11.10
status: New → Triaged
Changed in firefox:
importance: Unknown → Medium
status: Unknown → Fix Released
Chris Coulson (chrisccoulson) wrote :

The upload I just did should fix this, although I forgot to add the bug number to the changelog:

firefox (7.0~b4+build2+nobinonly-0ubuntu1) oneiric; urgency=low

  * New upstream release from the beta channel (FIREFOX_7_0b4_BUILD2)

  [ Chris Coulson <email address hidden> ]
  * Update globalmenu-extension to 2.0
    - Only update a menu in realtime if it's parent is opening. For all other
      times, just invalidate the menu. Avoids spamming dbus everytime
      something changes in the menu
    - When removing a menuitem from its parent, check that the index is
      in-bounds. Should fix a frequent crash on startup, although it doesn't
      explain how it gets in to that state in the first place
    - Add the ability to turn on debugging without building Firefox with
      debugging on
  * Add upstream patch to only add ENABLE_JIT=1 to CXXFLAGS if any of trace/
    method/yarr jit is enabled. Fixes a build failure on PPC
    - add debian/patches/only-add-ENABLE_JIT-to-CXXFLAGS-if-jit-is-enabled.patch
    - update debian/patches/series
  * Add upstream patch to fix build failure with ENABLE_YARR_JIT=0
    - add debian/patches/build-fix-for-no-ENABLE_YARR_JIT.patch
    - update debian/patches/series
  * Add upstream patch to work around a linker bug
    - add debian/patches/compile-pldhash-as-C++.patch
    - update debian/patches/series

  [ Jamie Strandboge <email address hidden> ]
  * AppArmor
    - debian/usr.bin.firefox.apparmor.11.04: update for
      /sys/devices/system/cpu (LP: #819479)
 -- Chris Coulson <email address hidden> Mon, 05 Sep 2011 13:36:47 +0100

Although, I'm just guessing that it's fixed, as I don't have any way of testing it. If it's still broken, someone else will have to debug it

Changed in firefox (Ubuntu Oneiric):
status: Triaged → Fix Released
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

Remote bug watches

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