A reoccurring issue (#8930 (closed)), when any google drive document completes loading, 64-bit browser will crash on Debian. It doesn't seem to affect the 32-bit windows version nor the 32-bit linux version on Xubuntu.
I didn't notice any recent tickets related to this, but if there is, sorry for the duplicate.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related.
Learn more.
I'm also seeing this, on x86_64 Debian with TBB 2.3.25-15. Not on Google drive, but on random news sites etc.
I've looked into to debugging this. My first attempt was running 'start-tor-browser --debug' but that seems to be for debugging Vidalia not the browser. I had a look a the 'start-tor-browser' script but it seems like firefox is not actually launched by the script but by Vidalia.
I'd like to run the TBB firefox under GDB, but can't figure out how it gets started by Vidalia. Is there any documentation on how to debug TTB crashes? I searched the Trac, but nothing came up.
I'd like to run the TBB firefox under GDB, but can't figure out how it gets started by Vidalia. Is there any documentation on how to debug TTB crashes? I searched the Trac, but nothing came up.
Running gdb on it is pretty easy, though it will be rather hard to understand because the firefox in TBB has been compiled and then stripped of its debug symbols. To my knowledge, the TBB-2.4 series was never compiled with debugging info, meaning that there aren't any debug symbols for your version and to get them you would have to recompile your TBB-2.4.x yourself.
Enabling debug logs
If you're deadset on figuring out what's going on with your TBB-2.4, you could try seeing what information you can get out of the debug logs. To enable those, set these preferences in your about:config:
SETTING NAME
VALUE
extensions.torbutton.loglevel
2
extensions.torbutton.logmethod
0
If you're running TBB-3.0 with TorLauncher, you'll likely want these ones too:
extensions.torlauncher.loglevel
2
extensions.torlauncher.logmethod
0
And then find the line in the start-tor-browser script in your TBB directory which starts firefox, and change it like this:
# for TBB-2.4, find this line:./App/vidalia --datadir Data/Vidalia/ -style Cleanlooks# and change it to:./App/vidalia --loglevel debug --logfile vidalia-debug.log --datadir Data/Vidalia/ -style Cleanlooks &>> ./tbb-debug.log# for TBB-3.0, find this line:./Browser/firefox -no-remote -profile Data/Browser/profile.default# and change it to:./Browser/firefox -no-remote -profile Data/Browser/profile.default &>> ./tbb-debug.log
Those logs might give you hints as to what's crashing it. For TBB-2.4, you'll probably need to run a system Tor daemon, and tell TorButton what its SocksPort is set to. For information on what the magic preference numbers mean, see the TorButton design docs.
Using gdb
Attaching an already running TBB
You could still attach a your TBB firefox process to a gdb instance, it's just that everything will be a bit gibberish with lots of ?? () instead of nice line numbers and function names. To do this, find the pid of your running TBB firefox, then tell gdb to attach the running process:
$ for p in `pgrep firefox` ; do ps -v $p ; done[...find the pid for your TBB firefox...]$ gdb$ attach <pid>
for example:
∃!isisⒶwintermute:(master *+$)~/dt/tor-browser_en-US ∴ lsBrowser Data Debug Docs tor-browser-selenium.log start-tor-browser tbb-debug.log tbb3.0b1.core.1342 Tor∃!isisⒶwintermute:(master *+$)~/dt/tor-browser_en-US ∴ for p in `pgrep firefox` ; do ps -v $p ; done PID TTY STAT TIME MAJFL TRS DRS RSS %MEM COMMAND 1515 ? Sl 32:16 127 74 1723329 723804 9.0 ./Browser/firefox -no-remote -profile Data/Browser/profile.default PID TTY STAT TIME MAJFL TRS DRS RSS %MEM COMMAND26120 ? Ssl 140:30 376 112 1438855 392396 4.9 firefox∃!isisⒶwintermute:(master *+$)~/dt/tor-browser_en-US ∴ gdb -q(gdb) attach 1515Attaching to process 1515Reading symbols from /home/isis/dt/tor-browser-3.0-b1/Browser/firefox...(no debugging symbols found)...done.warning: Could not load shared library symbols for linux-vdso.so.1.Do you need "set solib-search-path" or "set sysroot"?Reading symbols from /lib/x86_64-linux-gnu/libpthread.so.0...Reading symbols from /usr/lib/debug/lib/x86_64-linux-gnu/libpthread-2.17.so...done.done.[New LWP 17232][New LWP 12369][…][Thread debugging using libthread_db enabled]Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".Loaded symbols for /lib/x86_64-linux-gnu/libpthread.so.0Reading symbols from /lib/x86_64-linux-gnu/libdl.so.2...Reading symbols from /usr/lib/debug/lib/x86_64-linux-gnu/libdl-2.17.so...done.done.Loaded symbols for /lib/x86_64-linux-gnu/libdl.so.2Reading symbols from /usr/lib/x86_64-linux-gnu/libstdc++.so.6...(no debugging symbols found)...done.[…](gdb) bt#0 0x00003a87be1a824d in poll () at ../sysdeps/unix/syscall-template.S:81#1 0x00003a87bb5890c3 in ?? () from /home/isis/dt/tor-browser-3.0-b1/Browser/libxul.so#2 0x00003a87b94a3194 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0#3 0x00003a87b94a329c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0#4 0x00003a87bb588f4f in ?? () from /home/isis/dt/tor-browser-3.0-b1/Browser/libxul.so#5 0x00003a87bb5a0b35 in ?? () from /home/isis/dt/tor-browser-3.0-b1/Browser/libxul.so#6 0x00003a87bb5a0d2a in ?? () from /home/isis/dt/tor-browser-3.0-b1/Browser/libxul.so#7 0x00003a87bb74de76 in ?? () from /home/isis/dt/tor-browser-3.0-b1/Browser/libxul.so#8 0x00003a87bb7209be in ?? () from /home/isis/dt/tor-browser-3.0-b1/Browser/libxul.so#9 0x00003a87bb6559c5 in ?? () from /home/isis/dt/tor-browser-3.0-b1/Browser/libxul.so#10 0x00003a87bb76d7d6 in ?? () from /home/isis/dt/tor-browser-3.0-b1/Browser/libxul.so#11 0x00003a87bb5a0e69 in ?? () from /home/isis/dt/tor-browser-3.0-b1/Browser/libxul.so#12 0x00003a87bb45ed60 in ?? () from /home/isis/dt/tor-browser-3.0-b1/Browser/libxul.so#13 0x00003a87babc9ab5 in ?? () from /home/isis/dt/tor-browser-3.0-b1/Browser/libxul.so#14 0x00003a87babcd7de in ?? () from /home/isis/dt/tor-browser-3.0-b1/Browser/libxul.so#15 0x00003a87babcda2a in XRE_main () from /home/isis/dt/tor-browser-3.0-b1/Browser/libxul.so#16 0x00003a87bf2d4d4a in _start ()(gdb) x/10i 0x00003a87bf2d4d4a 0x3a87bf2d4d4a <_start+1402>: mov %eax,%ebx 0x3a87bf2d4d4c <_start+1404>: mov 0x20(%rsp),%rdi 0x3a87bf2d4d51 <_start+1409>: test %rdi,%rdi 0x3a87bf2d4d54 <_start+1412>: je 0x3a87bf2d4d5c <_start+1420> 0x3a87bf2d4d56 <_start+1414>: mov (%rdi),%rax 0x3a87bf2d4d59 <_start+1417>: callq *0x10(%rax) 0x3a87bf2d4d5c <_start+1420>: callq 0x3a87bf2d5703 <_start+3891> 0x3a87bf2d4d61 <_start+1425>: callq 0x3a87bf2d5969 <_start+4505> 0x3a87bf2d4d66 <_start+1430>: jmp 0x3a87bf2d4d6d <_start+1437> 0x3a87bf2d4d68 <_start+1432>: mov $0xff,%ebx(gdb) detachDetaching from program: /home/isis/dt/tor-browser-3.0-b1/Browser/firefox, process 1515(gdb) q∃!isisⒶwintermute:(master *+$)~/dt/tor-browser_en-US ∴
Starting firefox from inside gdb
Starting firefox inside gdb, getting stacktraces and coredumps:
Start firefox with
./App/Firefox/firefox -no-remote -profile ./Data/profile -g
(for TBB-2.4) or
./Browser/firefox -no-remote -profile Data/Browser/profile.default -g
(for TBB-3.0).
At the gdb prompt (gdb), type:
run --safe-mode.
To get a stacktrace from a gdb shell, do:
thread apply all bt full.
To get a stacktrace from a coredump file (e.g. 'core.1234'), do:
gdb <name-of-program> <core-filename>
then the command from step 3. Note that some distros disable coredumps by default in /etc/profile, to enable it temporarily in a shell do:
ulimit -c unlimited.
The easiest thing to do
Rather than go to all the work of reading assembler backtraces, or recompiling TBB, (equally difficult tasks, the latter of which would soon be undone, as soon as a stable TBB-3.0 is released and we deprecate the 2.4 series), you could try using one of the new TBB-3.0 builds. I believe that support for detached debug symbols was first enabled in TBB-3.0.2a (see #10126 (closed)). If you were to get a copy of the new TBB-3.0 release candidate bundle, in that directory there should also be a tor-browser-linux64-debug.tar.gz file. You'd want to untarball that debug.tar.gz archive in the top level of its corresponding TBB-3.0 directory. (In the example above, where I did ls, you can see the Debug/ directory - that comes from untarballing the debug.tar.gz.) Then load the TBB firefox into gdb, as above, and then (I believe) the gdb command you want is:
(gdb) thread apply all load ./Debug/Browser/libxul.so
or whichever lib*.so in ./Debug/Browser you're still missing symbols from.
A tiny request
If you discover anything helpful while figuring out how to debug your firefox, could you try to document it and add it to this ticket, so that myself or someone else can make a better HACKING doc for TBB? It will help save other hackers the trouble in the future. :)
Trac: Status: new to needs_information Component: - Select a component to Tor bundles/installation Cc: N/Ato isis
Resolving this as duplicate of #10195 (closed). (Really good debugging instructions, isis. We should fold them into a HACKING doc for TBB >= 3.0 some day...)
Trac: Status: needs_information to closed Resolution: N/Ato duplicate