Bug 12807

Summary: Tor 0.4.6.10 does not start properly with "Sandbox = 1" on Core Update 165 (testing)
Product: IPFire Reporter: Peter Müller <peter.mueller>
Component: ---Assignee: Peter Müller <peter.mueller>
Status: CLOSED FIXED QA Contact:
Severity: Crash    
Priority: Will affect an average number of users    
Version: 2   
Hardware: x86_64   
OS: All   

Description Peter Müller 2022-03-20 09:32:04 UTC
Attempting to start Tor 0.4.6.10 (whether in relay mode or as a Tor client only does not seem to matter) on Core Update 165 (testing) causes these log messages written:

Mar 19 10:08:24 maverick Tor[8131]: Bootstrapped 0% (starting): Starting 
Mar 19 10:08:24 maverick Tor[8131]: Starting with guard context "default" 
Mar 19 10:08:24 maverick Tor[8131]: tor_bug_occurred_(): Bug: src/lib/evloop/workqueue.c:353: workerthread_new: This line should not have been reached. (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug: Tor 0.4.6.10: Line unexpectedly reached at workerthread_new at src/lib/evloop/workqueue.c:353. Stack trace: (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /usr/bin/tor(log_backtrace_impl+0x5b) [0x5d8166ef7b7b] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /usr/bin/tor(tor_bug_occurred_+0x16f) [0x5d8166f02f6f] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /usr/bin/tor(threadpool_new+0x207) [0x5d816702cea7] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /usr/bin/tor(cpu_init+0x8d) [0x5d8166fc2bed] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /usr/bin/tor(run_tor_main_loop+0xe9) [0x5d8166e7a5f9] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /usr/bin/tor(tor_run_main+0x1e5) [0x5d8166e7ab45] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /usr/bin/tor(tor_main+0x4d) [0x5d8166e770ad] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /usr/bin/tor(main+0x1d) [0x5d8166e76bad] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /lib/libc.so.6(+0x29590) [0x72cee6f2c590] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /lib/libc.so.6(__libc_start_main+0x80) [0x72cee6f2c640] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /usr/bin/tor(_start+0x25) [0x5d8166e76cb5] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Can't launch worker thread. 
Mar 19 10:08:24 maverick Tor[8131]: tor_bug_occurred_(): Bug: src/lib/evloop/workqueue.c:519: threadpool_start_threads: This line should not have been reached. (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug: Tor 0.4.6.10: Line unexpectedly reached at threadpool_start_threads at src/lib/evloop/workqueue.c:519. Stack trace: (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /usr/bin/tor(log_backtrace_impl+0x5b) [0x5d8166ef7b7b] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /usr/bin/tor(tor_bug_occurred_+0x16f) [0x5d8166f02f6f] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /usr/bin/tor(threadpool_new+0x24c) [0x5d816702ceec] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /usr/bin/tor(cpu_init+0x8d) [0x5d8166fc2bed] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /usr/bin/tor(run_tor_main_loop+0xe9) [0x5d8166e7a5f9] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /usr/bin/tor(tor_run_main+0x1e5) [0x5d8166e7ab45] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /usr/bin/tor(tor_main+0x4d) [0x5d8166e770ad] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /usr/bin/tor(main+0x1d) [0x5d8166e76bad] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /lib/libc.so.6(+0x29590) [0x72cee6f2c590] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /lib/libc.so.6(__libc_start_main+0x80) [0x72cee6f2c640] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /usr/bin/tor(_start+0x25) [0x5d8166e76cb5] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: tor_bug_occurred_(): Bug: src/lib/evloop/workqueue.c:563: threadpool_new: This line should not have been reached. (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug: Tor 0.4.6.10: Line unexpectedly reached at threadpool_new at src/lib/evloop/workqueue.c:563. Stack trace: (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /usr/bin/tor(log_backtrace_impl+0x5b) [0x5d8166ef7b7b] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /usr/bin/tor(tor_bug_occurred_+0x16f) [0x5d8166f02f6f] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /usr/bin/tor(threadpool_new+0x27f) [0x5d816702cf1f] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /usr/bin/tor(cpu_init+0x8d) [0x5d8166fc2bed] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /usr/bin/tor(run_tor_main_loop+0xe9) [0x5d8166e7a5f9] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /usr/bin/tor(tor_run_main+0x1e5) [0x5d8166e7ab45] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /usr/bin/tor(tor_main+0x4d) [0x5d8166e770ad] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /usr/bin/tor(main+0x1d) [0x5d8166e76bad] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /lib/libc.so.6(+0x29590) [0x72cee6f2c590] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /lib/libc.so.6(__libc_start_main+0x80) [0x72cee6f2c640] (on Tor 0.4.6.10 ) 
Mar 19 10:08:24 maverick Tor[8131]: Bug:     /usr/bin/tor(_start+0x25) [0x5d8166e76cb5] (on Tor 0.4.6.10 ) 

Afterwards, Tor stalls forever. Disabling the "sandbox" feature "solves" the problem, which I believe might be due to the updated toolchain - perhaps we just need to ship libseccomp, too.
Comment 3 Peter Müller 2022-03-31 06:48:20 UTC
This is not a libseccomp issue at all:

https://community.ipfire.org/t/tor-0-4-6-10-crashed-with-update-165/7608

Fixed upstream: http://eweiibe6tdjsdprb4px6rqrzzcsi22m4koia44kc5pcjr7nec2rlxyad.onion/tpo/core/tor/-/commit/de3872656a8d3a79ca3d5fc55f1b64c4862b4c8a

Resetting this back to ASSIGNED - my fault, again. :-(
Comment 6 Peter Müller 2022-04-08 15:53:04 UTC
Nope:

$ /usr/bin/tor --defaults-torrc /usr/share/tor/defaults-torrc -f /etc/tor/torrc
Apr 08 17:51:56.841 [notice] Tor 0.4.6.10 running on Linux with Libevent 2.1.12-stable, OpenSSL 1.1.1n, Zlib 1.2.12, Liblzma 5.2.5, Libzstd 1.5.2 and Glibc 2.35 as libc.
Apr 08 17:51:56.842 [notice] Tor can't help you if you use it wrong! Learn how to be safe at https://support.torproject.org/faq/staying-anonymous/
Apr 08 17:51:56.842 [notice] Read configuration file "/usr/share/tor/defaults-torrc".
Apr 08 17:51:56.842 [notice] Read configuration file "/etc/tor/torrc".
Apr 08 17:51:56.847 [warn] Your ContactInfo config option is not set. Please strongly consider setting it, so we can contact you if your relay is misconfigured, end-of-life, or something else goes wrong. It is also possible that your relay might get rejected from the network due to a missing valid contact address.
Apr 08 17:51:56.847 [notice] Based on detected system memory, MaxMemInQueues is set to 2880 MB. You can override this by setting MaxMemInQueues by hand.
Apr 08 17:51:56.847 [warn] ControlPort is open, but no authentication method has been configured.  This means that any program on your computer can reconfigure your Tor.  That's bad!  You should upgrade your Tor controller as soon as possible.
Apr 08 17:51:56.851 [warn] You specified a public address '0.0.0.0:9050' for SocksPort. Other people on the Internet might find your computer and use it as an open proxy. Please don't allow this unless you have a good reason.
Apr 08 17:51:56.852 [notice] Opening Socks listener on 0.0.0.0:9050
Apr 08 17:51:56.852 [notice] Opened Socks listener connection (ready) on 0.0.0.0:9050
Apr 08 17:51:56.852 [notice] Opening Control listener on 127.0.0.1:9051
Apr 08 17:51:56.852 [notice] Opened Control listener connection (ready) on 127.0.0.1:9051
Apr 08 17:51:56.852 [notice] Opening OR listener on 0.0.0.0:9001
Apr 08 17:51:56.852 [notice] Opened OR listener connection (ready) on 0.0.0.0:9001
Fatal glibc error: rseq registration failed
Fatal glibc error: rseq registration failed
Segmentation fault