Opened 4 months ago

Last modified 3 months ago

#27110 needs_information defect

TBB segfaults on I/O error and silently fails to restart

Reported by: traumschule Owned by: tbb-team
Priority: Medium Milestone:
Component: Applications/Tor Browser Version:
Severity: Normal Keywords:
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

After turning off an external drive, TBB 8.0a9 was started from, it segfaults:

Aug 12 13:47:17 x86 kernel: [1971770.627095] EXT4-fs warning (device dm-6): dx_probe:745: inode #102236259: lblock 0: comm Cache2 I/O: error -5 reading directory block
Aug 12 13:47:17 x86 kernel: [1971770.627185] EXT4-fs warning (device dm-6): dx_probe:745: inode #102236259: lblock 0: comm Cache2 I/O: error -5 reading directory block
Aug 12 13:47:29 x86 kernel: [1971782.202525] EXT4-fs error (device dm-6): ext4_find_entry:1437: inode #102236233: comm DOM Worker: reading directory lblock 0
Aug 12 13:47:29 x86 kernel: [1971782.202548] EXT4-fs (dm-6): previous I/O error to superblock detected
Aug 12 13:47:29 x86 kernel: [1971782.202696] Buffer I/O error on dev dm-6, logical block 0, lost sync page write
Aug 12 13:47:59 x86 kernel: [1971812.552221] EXT4-fs error (device dm-6): ext4_find_entry:1437: inode #102236256: comm StreamT~s #1422: reading directory lblock 0
Aug 12 13:47:59 x86 kernel: [1971812.552243] EXT4-fs (dm-6): previous I/O error to superblock detected
Aug 12 13:47:59 x86 kernel: [1971812.552398] Buffer I/O error on dev dm-6, logical block 0, lost sync page write
Aug 12 13:49:11 x86 kernel: [1971884.170995] EXT4-fs error (device dm-6): ext4_find_entry:1437: inode #101585396: comm Gecko_IOThread: reading directory lblock 0
Aug 12 13:49:11 x86 kernel: [1971884.171023] EXT4-fs (dm-6): previous I/O error to superblock detected
Aug 12 13:49:11 x86 kernel: [1971884.171266] Buffer I/O error on dev dm-6, logical block 0, lost sync page write
Aug 12 13:50:36 x86 kernel: [1971969.303373] EXT4-fs warning (device dm-6): dx_probe:745: inode #102236259: lblock 0: comm Cache2 I/O: error -5 reading directory block
Aug 12 13:50:38 x86 kernel: [1971971.122734] Chrome_~dThread[20024]: segfault at 0 ip af213ca7 sp ae9c6080 error 6 in libxul.so[aed68000+6b9e000]
Aug 12 13:50:38 x86 kernel: [1971971.123304] Chrome_~dThread[3967]: segfault at 0 ip af198ca7 sp ae94b080 error 6 in libxul.so[aeced000+6b9e000]
Aug 12 13:50:38 x86 kernel: [1971971.297396] Chrome_~dThread[6821]: segfault at 0 ip af1f6ca7 sp ae9a6080 error 6 in libxul.so[aed4b000+6b9e000]

This is not unexpected although it could be handled to inform the user and close the virtual fs. The left behind process prevents the OS (debian buster) to remount the partition. (tor-browser_en-US and a swap partition sit on an external drive that wasn't turned on again before resume from suspend)

/media/user/external/src is linked to /home/user/src

$ lsof|grep Browser
gvfsd-met  5787                    user  mem       REG      254,2     32768    1729380 /home/user/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/home-2c0742ce.log
gvfsd-met  5787                    user  mem       REG      254,6     32768  102238628 /media/user/external/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/uuid-57c3410d-3392-409c-a36d-bff9fd86bdfb-fb3931d1.log
gvfsd-met  5787                    user  mem       REG      254,6     37124  102239578 /media/user/external/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/root
gvfsd-met  5787                    user  mem       REG      254,6     32768  102239579 /media/user/external/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/root-5a546c95.log
gvfsd-met  5787                    user  mem       REG      254,6      2068  102238576 /media/user/external/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/uuid-57c3410d-3392-409c-a36d-bff9fd86bdfb
gvfsd-met  5787                    user  mem       REG      254,2      2028    1729336 /home/user/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/home
gvfsd-met  5787                    user   10r      REG      254,6     37124  102239578 /media/user/external/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/root
gvfsd-met  5787                    user   11u      REG      254,6     32768  102239579 /media/user/external/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/root-5a546c95.log
gvfsd-met  5787                    user   15r      REG      254,2      2028    1729336 /home/user/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/home
gvfsd-met  5787                    user   16u      REG      254,2     32768    1729380 /home/user/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/home-2c0742ce.log
gvfsd-met  5787                    user   17r      REG      254,6      2068  102238576 /media/user/external/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/uuid-57c3410d-3392-409c-a36d-bff9fd86bdfb
gvfsd-met  5787                    user   18u      REG      254,6     32768  102238628 /media/user/external/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/uuid-57c3410d-3392-409c-a36d-bff9fd86bdfb-fb3931d1.log
gmain      5787  5788              user  mem       REG      254,2     32768    1729380 /home/user/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/home-2c0742ce.log
gmain      5787  5788              user  mem       REG      254,6     32768  102238628 /media/user/external/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/uuid-57c3410d-3392-409c-a36d-bff9fd86bdfb-fb3931d1.log
gmain      5787  5788              user  mem       REG      254,6     37124  102239578 /media/user/external/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/root
gmain      5787  5788              user  mem       REG      254,6     32768  102239579 /media/user/external/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/root-5a546c95.log
gmain      5787  5788              user  mem       REG      254,6      2068  102238576 /media/user/external/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/uuid-57c3410d-3392-409c-a36d-bff9fd86bdfb
gmain      5787  5788              user  mem       REG      254,2      2028    1729336 /home/user/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/home
gmain      5787  5788              user   10r      REG      254,6     37124  102239578 /media/user/external/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/root
gmain      5787  5788              user   11u      REG      254,6     32768  102239579 /media/user/external/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/root-5a546c95.log
gmain      5787  5788              user   15r      REG      254,2      2028    1729336 /home/user/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/home
gmain      5787  5788              user   16u      REG      254,2     32768    1729380 /home/user/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/home-2c0742ce.log
gmain      5787  5788              user   17r      REG      254,6      2068  102238576 /media/user/external/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/uuid-57c3410d-3392-409c-a36d-bff9fd86bdfb
gmain      5787  5788              user   18u      REG      254,6     32768  102238628 /media/user/external/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/uuid-57c3410d-3392-409c-a36d-bff9fd86bdfb-fb3931d1.log
gdbus      5787  5789              user  mem       REG      254,2     32768    1729380 /home/user/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/home-2c0742ce.log
gdbus      5787  5789              user  mem       REG      254,6     32768  102238628 /media/user/external/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/uuid-57c3410d-3392-409c-a36d-bff9fd86bdfb-fb3931d1.log
gdbus      5787  5789              user  mem       REG      254,6     37124  102239578 /media/user/external/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/root
gdbus      5787  5789              user  mem       REG      254,6     32768  102239579 /media/user/external/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/root-5a546c95.log
gdbus      5787  5789              user  mem       REG      254,6      2068  102238576 /media/user/external/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/uuid-57c3410d-3392-409c-a36d-bff9fd86bdfb
gdbus      5787  5789              user  mem       REG      254,2      2028    1729336 /home/user/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/home
gdbus      5787  5789              user   10r      REG      254,6     37124  102239578 /media/user/external/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/root
gdbus      5787  5789              user   11u      REG      254,6     32768  102239579 /media/user/external/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/root-5a546c95.log
gdbus      5787  5789              user   15r      REG      254,2      2028    1729336 /home/user/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/home
gdbus      5787  5789              user   16u      REG      254,2     32768    1729380 /home/user/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/home-2c0742ce.log
gdbus      5787  5789              user   17r      REG      254,6      2068  102238576 /media/user/external/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/uuid-57c3410d-3392-409c-a36d-bff9fd86bdfb
gdbus      5787  5789              user   18u      REG      254,6     32768  102238628 /media/user/external/src/tor/tor-browser_en-US/Browser/.local/share/gvfs-metadata/uuid-57c3410d-3392-409c-a36d-bff9fd86bdfb-fb3931d1.log

The easy solution to kill this process was not without consequences because TBB failed to start again:

$ cd tor-browser_en-US/Browser
$ ./start-tor-browser

# silently quits

$ ./start-tor-browser --debug
Fontconfig warning: "/home/user/src/tor/tor-browser_en-US/Browser/TorBrowser/Data/fontconfig/fonts.conf", line 85: unknown element "blank"
./start-tor-browser: line 377: 28341 Segmentation fault      TOR_CONTROL_PASSWD=${TOR_CONTROL_PASSWD} ./firefox --class "Tor Browser" -profile TorBrowser/Data/Browser/profile.default "${@}" < /dev/null

$ ./firefox --class "Tor Browser" -profile TorBrowser/Data/Browser/profile.default "${@}" < /dev/null

/media/user/src/tor/tor-browser_en-US/Browser/TorBrowser/Tor/tor: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory                                       
alloc factor 0,900000 0,900000                                                                                  
alloc factor 0,900000 0,900000
1534092224538   addons.webextension.jid1-MnnxcxisBPnSXQ@jetpack WARN    Loading extension 'jid1-MnnxcxisBPnSXQ@je
tpack': Reading manifest: Error processing update_url: An unexpected property was found in the WebExtension manifest.
1534092224634   addons.webextension.{73a6fe31-595d-460b-a920-fcc0f8843232}      WARN    Loading extension '{73a6e31-595d-460b-a920-fcc0f8843232}': Reading manifest: Error processing background.persistent: Event pages are not
currently supported. This will run as a persistent background page.
1534092225116   addons.webextension.jid1-ZAdIEUB7XOzOJw@jetpack WARN    Please specify whether you want browser_style or not in your browser_action options.
1534092225118   addons.webextension.{ff257424-87c5-46d1-bebd-f45cc8d2a4bf}      WARN    Please specify whether you want browser_style or not in your browser_action options.
JavaScript error: , line 0: TypeError: NetworkError when attempting to fetch resource.
[...]
JavaScript error: jar:file:///media/user/src/tor/tor-browser_en-US/Browser/omni.ja!/components/nsPrompter.js, line 339: NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMWindowUtils.isParentWindowMainWidgetVisible]
/media/user/src/tor/tor-browser_en-US/Browser/TorBrowser/Tor/tor: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory
/media/user/src/tor/tor-browser_en-US/Browser/TorBrowser/Tor/tor: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory
JavaScript error: resource://gre/modules/AutoCompletePopup.jsm, line 109: NS_ERROR_FAILURE: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIObserverService.removeObserver]

At '[...]' the window showed "Tor unexpectedly exited.", tried to "Restart Tor" two times, then quit. Note the "tor: error while loading shared libraries".

$ strace -e file ./TorBrowser/Tor/tor 2>tor_failed.log
$ grep ssl tor_failed.log
openat(AT_FDCWD, "/lib/i386-linux-gnu/tls/i686/sse2/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i386-linux-gnu/tls/i686/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i386-linux-gnu/tls/sse2/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i386-linux-gnu/tls/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i386-linux-gnu/i686/sse2/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i386-linux-gnu/i686/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i386-linux-gnu/sse2/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i386-linux-gnu/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/tls/i686/sse2/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/tls/i686/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/tls/sse2/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/tls/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/i686/sse2/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/i686/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/sse2/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/tls/i686/sse2/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/tls/i686/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/tls/sse2/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/tls/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i686/sse2/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i686/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/sse2/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/tls/i686/sse2/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/tls/i686/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/tls/sse2/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/tls/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/i686/sse2/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/i686/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/sse2/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
./TorBrowser/Tor/tor: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory

# pobably irrelevant due to virtual fs
$ ls /usr/lib/libssl.so.1.0.0
ls: cannot access '/usr/lib/libssl.so.1.0.0': No such file or directory
$ apt-file search /usr/lib/libssl.so.1.0.0
$ apt-file search /usr/lib/libssl.so
$ apt-file search libssl.so.1.0.0
$ apt-file search libssl.so.1.0.
libssl1.0.2: /usr/lib/i386-linux-gnu/libssl.so.1.0.2
$ apt-file search libssl.so.1.
libssl1.0.2: /usr/lib/i386-linux-gnu/libssl.so.1.0.2
libssl1.1: /usr/lib/i386-linux-gnu/libssl.so.1.1
$ apt-file search libssl.so
libssl-dev: /usr/lib/i386-linux-gnu/libssl.so
libssl1.0-dev: /usr/lib/i386-linux-gnu/libssl.so
libssl1.0.2: /usr/lib/i386-linux-gnu/libssl.so.1.0.2
libssl1.1: /usr/lib/i386-linux-gnu/libssl.so.1.1
$ grep ssl tor_failed.log |grep -v libssl.so.1.0.0

$ grep -v libssl.so.1.0.0 tor_failed.log
execve("./TorBrowser/Tor/tor", ["./TorBrowser/Tor/tor"], 0xbff43f78 /* 39 vars */) = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i386-linux-gnu/libz.so.1", O_RDONLY|O_CLOEXEC) = 3
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/i386-linux-gnu/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/libevent-2.1.so.6", O_RDONLY|O_CLOEXEC) = 3
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
stat64("/lib/i386-linux-gnu/tls/i686/sse2", 0xbfb280f0) = -1 ENOENT (No such file or directory)
stat64("/lib/i386-linux-gnu/tls/i686", 0xbfb280f0) = -1 ENOENT (No such file or directory)
stat64("/lib/i386-linux-gnu/tls/sse2", 0xbfb280f0) = -1 ENOENT (No such file or directory)
stat64("/lib/i386-linux-gnu/tls", 0xbfb280f0) = -1 ENOENT (No such file or directory)
stat64("/lib/i386-linux-gnu/i686/sse2", 0xbfb280f0) = -1 ENOENT (No such file or directory)
stat64("/lib/i386-linux-gnu/i686", 0xbfb280f0) = -1 ENOENT (No such file or directory)
stat64("/lib/i386-linux-gnu/sse2", 0xbfb280f0) = -1 ENOENT (No such file or directory)
stat64("/lib/i386-linux-gnu", {st_mode=S_IFDIR|0755, st_size=16384, ...}) = 0
stat64("/usr/lib/i386-linux-gnu/tls/i686/sse2", 0xbfb280f0) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i386-linux-gnu/tls/i686", 0xbfb280f0) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i386-linux-gnu/tls/sse2", 0xbfb280f0) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i386-linux-gnu/tls", 0xbfb280f0) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i386-linux-gnu/i686/sse2", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/lib/i386-linux-gnu/i686", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/lib/i386-linux-gnu/sse2", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/lib/i386-linux-gnu", {st_mode=S_IFDIR|0755, st_size=266240, ...}) = 0
stat64("/lib/tls/i686/sse2", 0xbfb280f0) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/i686", 0xbfb280f0)     = -1 ENOENT (No such file or directory)
stat64("/lib/tls/sse2", 0xbfb280f0)     = -1 ENOENT (No such file or directory)
stat64("/lib/tls", 0xbfb280f0)          = -1 ENOENT (No such file or directory)
stat64("/lib/i686/sse2", 0xbfb280f0)    = -1 ENOENT (No such file or directory)
stat64("/lib/i686", 0xbfb280f0)         = -1 ENOENT (No such file or directory)
stat64("/lib/sse2", 0xbfb280f0)         = -1 ENOENT (No such file or directory)
stat64("/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/lib/tls/i686/sse2", 0xbfb280f0) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls/i686", 0xbfb280f0) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls/sse2", 0xbfb280f0) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls", 0xbfb280f0)      = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i686/sse2", 0xbfb280f0) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i686", 0xbfb280f0)     = -1 ENOENT (No such file or directory)
stat64("/usr/lib/sse2", 0xbfb280f0)     = -1 ENOENT (No such file or directory)
stat64("/usr/lib", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
+++ exited with 127 +++

Maybe worth noting that Debian testing has 1.0.2:

[2018-04-02] openssl1.0 1.0.2o-1 MIGRATED to testing (Debian testing watch)
[2018-03-30] Accepted openssl1.0 1.0.2l-2+deb9u3 (source) into proposed-updates->stable-new, proposed-updates (Sebastian Andrzej Siewior)
[2018-03-29] Accepted openssl1.0 1.0.2l-2+deb9u3 (source) into stable->embargoed, stable (Sebastian Andrzej Siewior)
[2018-03-27] Accepted openssl1.0 1.0.2o-1 (source) into unstable (Sebastian Andrzej Siewior) 

To summarize I see several issues:

  • TBB should catch I/O errors and tell the user that something terrible has happened and it has to quit.
  • The firefox segfault at the start should be caught.
  • When firefox fails to start there should be a message in the terminal instead of the usual Tor Launcher window.
  • Tor Launcher should show the Tor log to enable users to report the error.
  • Update libssl to 10.0.2 after the coming security release

Thanks for your hard work!

Child Tickets

Change History (3)

comment:1 Changed 4 months ago by gk

Status: newneeds_information

Tor Browser 8.0a9 ships with OpenSSL 1.0.2o which is used when starting Tor Browser regularly via the usual start script (which is for instance setting LD_LIBRARY_PATH to point to the OpenSSL lib we actually ship).

Regarding the segfault and I/O errors: What is a vanilla Firefox 60 ESR doing in your example scenario? If it behaves the same please file upstream bugs (and link to them from this ticket) for Mozilla being at least aware of this issue.

comment:2 Changed 4 months ago by traumschule

short update, this is all I could get so far:

$ ./firefox --version
Mozilla Firefox 63.0a1
./firefox --debug
ExceptionHandler::GenerateDump cloned child 3022
ExceptionHandler::SendContinueSignalToChild sent continue signal to child                                       
ExceptionHandler::WaitForContinueSignal waiting for continue signal...                                          
[Child 2138, Chrome_ChildThread] WARNING: pipe error (3): Connection reset by peer: file /builds/worker/workspace/build/src/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 356
Bus error

Looking into ways to simulate disk errors, like dm-flakey and e2fuzz to avoid kernel panics and get the fs flagged as unclean. Firejail is another option, but there's an issues with TB (#27407) and it should be used with caution because it is exploitable.

Last edited 3 months ago by traumschule (previous) (diff)

comment:3 Changed 3 months ago by traumschule

reported it upstream: https://bugzilla.mozilla.org/show_bug.cgi?id=1491537

Hit segfault at 0 ip af1f6ca7 sp ae9a6080 error 6 in libxul.so[aed4b000+6b9e000] once more, this time reloading trac:

JavaScript error: http://ea5faa5po25cf7fb.onion/projects/tor/chrome/autocomplete/js/autocomplete.js, line 96: TypeError: $.browser is undefined
ASSERT: Giving up waiting for the tab closing animation to finish (bug 608589)
./Browser/start-tor-browser: line 375: 19262 Segmentation fault      TOR_CONTROL_PASSWD=${TOR_CONTROL_PASSWD}
./firefox --class "Tor Browser" -profile TorBrowser/Data/Browser/profile.default "${@}" < /dev/null

syslog showed

Sep 15 10:37:45 t43 kernel: [1075156.616000] Chrome_~dThread[19315]: segfault at 0 ip af20d0a7 sp ae9b9080 error 6 in libxul.so[aed61000+6bb0000]
Sep 15 10:37:46 t43 kernel: [1075157.839491] Chrome_~dThread[19578]: segfault at 0 ip af1940a7 sp ae940080 error 6 in libxul.so[aece8000+6bb0000]
Sep 15 10:37:46 t43 kernel: [1075159.792345] Chrome_~dThread[19538]: segfault at 0 ip af24a0a7 sp ae9f6080 error 6 in libxul.so[aed9e000+6bb0000]
Sep 15 10:37:52 t43 kernel: [1075166.289269] Chrome_~dThread[19559]: segfault at 0 ip af20e0a7 sp ae9ba080 error 6 in libxul.so[aed62000+6bb0000]

dpkg upgraded libc and other packages shortly before, wonder if this is related. dpkg.log:

2018-09-15 09:47:10 upgrade emacsen-common:all 3.0.2 3.0.3
2018-09-15 10:01:39 upgrade gir1.2-gtksource-3.0:i386 3.24.8-1 3.24.9-1
2018-09-15 10:08:40 upgrade gnome-settings-daemon:i386 3.28.1-1 3.30.0-1
2018-09-15 10:12:57 upgrade libarchive-zip-perl:all 1.63-1 1.64-1
2018-09-15 10:17:59 upgrade libgc1c2:i386 1:7.4.2-8.3 1:7.6.4-0.4
2018-09-15 10:25:39 upgrade libgtksourceview-3.0-common:all 3.24.8-1 3.24.9-1
2018-09-15 10:31:45 upgrade libgweather-3-15:i386 3.28.1-1 3.28.2-1

The system was heavily swapping during the upgrade and load was at 8 for long periods of time, so maybe I/O timout again.

Found users who caught the same:
https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/1656065
https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/1766875
https://forums.linuxmint.com/viewtopic.php?t=266558

Note: See TracTickets for help on using tickets.