Various notes:

Good point by Chituc. I had assumed this was already cross-compiled, but 
according to the Ubuntu build log:
> checking whether cross compiling... no

Who here knows how the Arch Linux armhf package is built?

It's also still possible that a newer toolchain could fix things. I read
somewhere that Ubuntu 18.04 Bionic would be upgrading to gcc 7. Anyone
tried Firefox 58 or 59 on there?

The SkJumper_generated source is available on Mercurial:
https://hg.mozilla.org/mozilla-central/raw-
file/tip/gfx/skia/skia/src/jumper/SkJumper_generated.S

It's possible to take a closer look at the "illegal instruction" with
firefox -g. At the crash point in gdb, run: layout asm; set arm
fallback-mode arm; tui disable; disas /r <starting instruction>,<ending
instruction>. Initially it gets confused about the instruction layout,
but after trying different ranges it'll eventually decode properly:

(gdb) disas /r 0xf458bb28,0xf458bb3e
Dump of assembler code from 0xf458bb28 to 0xf458bb3e:
   0xf458bb28:  92 2c 44 f2     vfma.f32        d18, d20, d2
   0xf458bb2c:  93 3c 44 f2     vfma.f32        d19, d20, d3
   0xf458bb30:  b0 01 20 f2     vorr    d0, d16, d16
   0xf458bb34:  b1 11 21 f2     vorr    d1, d17, d17
   0xf458bb38:  b2 21 22 f2     vorr    d2, d18, d18
   0xf458bb3c:  b3 31 23 f2     vorr    d3, d19, d19
End of assembler dump.

However, those are exactly the instructions specified for _sk_xor__vfp4
in SkJumper_generated.S. It's hard to see how the compiler or binutils
could be directly responsible for generating an illegal instruction
here.

You can actually hexedit libxul.so and change those four vorr
instructions into NOPs. Firefox then makes it past this point but
crashes obscurely elsewhere, with different crash signatures on Firefox
58 vs 59.

Firefox arm64 (Pi 3 or other 64-bit board required) 58 and 59 still
work.

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to firefox in Ubuntu.
https://bugs.launchpad.net/bugs/1711337

Title:
  Firefox crashes at start on armv7L after 55.0.1 update

Status in Mozilla Firefox:
  Confirmed
Status in firefox package in Ubuntu:
  Fix Released

Bug description:
  Firefox always crashes when launched after the 55.0.1 update on an
  Orange Pi PC Plus (a single-board computer similar to a Raspberry Pi),
  even in safe mode.

  I did a fresh install of Armbian (a Ubuntu Xenial 16.04 re-spin for
  ARM single-board computer) on a similar board (Orange Pi Plus 2e),
  installed Firefox and experienced the same problem--it won't load
  without crashing.

  ProblemType: Bug
  DistroRelease: Ubuntu 16.04
  Package: firefox 55.0.1+build2-0ubuntu0.16.04.2
  Uname: Linux 3.4.113-sun8i armv7l
  AddonCompatCheckDisabled: False
  AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.25.
  ApportVersion: 2.20.1-0ubuntu2.10
  Architecture: armhf
  AudioDevicesInUse:
   USER        PID ACCESS COMMAND
   /dev/snd/controlC1:  jim        1138 F.... pulseaudio
   /dev/snd/controlC0:  jim        1138 F.... pulseaudio
  BuildID: 20170814194718
  Card0.Amixer.info:
   Card hw:0 'audiocodec'/'audiocodec'
     Mixer name : ''
     Components : ''
     Controls      : 12
     Simple ctrls  : 12
  Card1.Amixer.info:
   Card hw:1 'sndhdmi'/'sndhdmi'
     Mixer name : ''
     Components : ''
     Controls      : 1
     Simple ctrls  : 1
  Card1.Amixer.values:
   Simple mixer control 'hdmi audio format Function',0
     Capabilities: enum
     Items: 'null' 'pcm' 'AC3' 'MPEG1' 'MP3' 'MPEG2' 'AAC' 'DTS' 'ATRAC' 
'ONE_BIT_AUDIO' 'DOLBY_DIGITAL_PLUS' 'DTS_HD' 'MAT' 'WMAPRO'
     Item0: 'pcm'
  Channel: Unavailable
  CurrentDesktop: XFCE
  Date: Thu Aug 17 05:37:00 2017
  Extensions: extensions.sqlite corrupt or missing
  ForcedLayersAccel: False
  IncompatibleExtensions: Unavailable (corrupt or non-existant 
compatibility.ini or extensions.sqlite)
  IpRoute:
   default via 192.168.10.1 dev eth0 
   default via 192.168.10.1 dev wlan0  proto static  metric 600 
   169.254.0.0/16 dev eth0  scope link  metric 1000 
   192.168.10.0/24 dev eth0  proto kernel  scope link  src 192.168.10.107 
   192.168.10.0/24 dev wlan0  proto kernel  scope link  src 192.168.10.108  
metric 600
  Locales: extensions.sqlite corrupt or missing
  PciMultimedia:
   
  PciNetwork:
   
  Profiles: Profile0 (Default) - LastVersion=55.0.1/20170814194718
  RfKill:
   0: phy0: Wireless LAN
        Soft blocked: no
        Hard blocked: no
  RunningIncompatibleAddons: False
  SourcePackage: firefox
  Themes: extensions.sqlite corrupt or missing
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/firefox/+bug/1711337/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to