Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#10195 closed defect (fixed)

Tor Browser crashing in 64-bit Linux builds

Reported by: erinn Owned by: mikeperry
Priority: Very High Milestone:
Component: Applications/Tor bundles/installation Version:
Severity: Keywords:
Cc: gk Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

A user reports on tor-qa that they are able to reliably reproduce crashes in the 64-bit Linux TBBs. https://lists.torproject.org/pipermail/tor-qa/2013-November/000238.html

I've confirmed this on my own setup.

I recently fixed the mozconfigs for Linux so that 64-bit was building with --enable-optimize. Assuming this was the culprit, I built a test bundle for myself with --disable-optimize. This one doesn't crash, but after running it for maybe half an hour it slows to a crawl and spikes my load to 5, which is not the behavior with 2.4.17-rc-1 (which also has --disable-optimize). Is there possibly something funny happening with this release of Firefox that could be the cause?

Marking as critical since it's a repeatable crash bug, assigning to Mike since... I tried what I could think of so far. Halp.

Child Tickets

Change History (10)

comment:1 Changed 6 years ago by tmpname0901

Try building with --enable-optimize="-O2".

Also, state your environment and development tool versions.

comment:2 Changed 6 years ago by gk

FWIW: This happens as well with the latest TBB stable. What you could do is compiling a vanilla gcc and using that one (you don't have to install it, just point CC, CXX, LD... in the .mozconfig to the proper executables) to verify that it is a compiler bug in the gcc/g++ Debian includes (which it probably is).

comment:3 Changed 6 years ago by boklm

As an experiment I have been building tor-browser with commit
6010f5137e50eadae47eeeb76aa2c17c993d0233 from tor-browser.git on 3
different distributions :

  • Debian Wheezy (gcc 4.7.2)
  • Mageia 3 (gcc 4.7.2)
  • Ubuntu lucid (gcc 4.4.3)

I can reproduce the crash on the build from Ubuntu lucid, but cannot
reproduce it on the build made on the other distributions.

comment:4 Changed 6 years ago by erinn

Resolution: fixed
Status: newclosed

Hey boklm, thanks for testing! The build machine is using squeeze. I think at this point there is probably no point in upgrading it in order to fix this since TBB 3.x is stable soon.

Meanwhile, I pushed new bundles out with --disable-optimize. If anyone sees problems with them (like my heisenbug with my load going crazy) please let me know, though I don't think it will crash, so don't reopen this one.

BTW tmpname0901 I tried with -O2 but it still crashed. :(

comment:5 Changed 6 years ago by boklm

About TBB 3.x, if I understood the build process correctly, it is done by gitian in an Ubuntu lucid VM, so maybe the --disable-optimize will be needed there too.

Hopefully this will be a problem we can detect when we have automated tests on tor-browser.

comment:6 in reply to:  3 Changed 6 years ago by gk

Replying to boklm:

  • Ubuntu lucid (gcc 4.4.3)

I can reproduce the crash on the build from Ubuntu lucid, but cannot
reproduce it on the build made on the other distributions.

Interesting. The TBB 3.0 is not crashing for me but using 4.4.3 as well. How do you reproduce the crash? As mentioned on the tor-qa list? Could you post your about:buildconfig?

Version 0, edited 6 years ago by gk (next)

comment:7 Changed 6 years ago by boklm

Yes, visiting webtropia.com and waiting a few seconds is enought to reproduce the crash.

I can't reproduce with TBB3.0, but only tested with beta1.

The content of about:buildconfig on the build that is crashing :

Build platform
target
x86_64-unknown-linux-gnu

Build tools
Compiler 	Version 	Compiler flags
gcc 	gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) 	-pedantic -Wall -Wpointer-arith -Wdeclaration-after-statement -Werror=return-type -Wtype-limits -Wempty-body -Wno-unused -Wno-overlength-strings -Wcast-align -Wno-long-long -frandom-seed=tor -fno-strict-aliasing -ffunction-sections -fdata-sections -pthread -pipe -DNDEBUG -DTRIMMED -g -Os -freorder-blocks -fomit-frame-pointer
c++ 	gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) 	-pedantic -Wall -Wpointer-arith -Woverloaded-virtual -Werror=return-type -Wtype-limits -Wempty-body -Wno-ctor-dtor-privacy -Wno-overlength-strings -Wno-invalid-offsetof -Wno-variadic-macros -Wcast-align -Wno-long-long -frandom-seed=tor -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fshort-wchar -pthread -pipe -DNDEBUG -DTRIMMED -g -Os -freorder-blocks -fomit-frame-pointer

Configure arguments
--enable-application=browser --enable-optimize --enable-official-branding --disable-strip --disable-install-strip --disable-tests --disable-debug --disable-maintenance-service --disable-crashreporter --disable-webrtc

comment:8 Changed 6 years ago by gk

TBB 3.0 uses Ubuntu 4.4.3-4ubuntu5.1. My guess is then, they fixed the problem in the .1 release...

comment:9 Changed 6 years ago by gk

This is indeed a compiler bug fixed in the .1 release https://launchpad.net/ubuntu/+source/gcc-4.4/4.4.3-4ubuntu5.1 which points to https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/931637 which points to the relevant Mozilla and GCC bug entry.

Last edited 6 years ago by gk (previous) (diff)

comment:10 Changed 6 years ago by boklm

Oops, I forgot to enable the updates repository in my ubuntu-lucid chroot. I can confirm that after installing updated gcc packages and rebuilding tor-browser, it doesn't crash anymore.

Note: See TracTickets for help on using tickets.