Tor keeps needing to be restarted

When I first got this laptop Whonix and Tor were working fine. Then one day all of a sudden I needed to restart Tor to get a connection in my whonix browser, and every day since I need to restart every 45 minutes or so, which means I have to keep rewatching my videos. Does anyone know what the problem is? (I tried to copy-paste my Tor log but it’s too long.)

Tor Connectivity Troubleshooting

Pasting Logs for Support

None of the stuff on the troubleshooting guide worked.

Here is a log of systemcheck --verbose --leak-tests:

[INFO] [systemcheck] sys-whonix | Whonix-Gateway | whonix-gw-15 TemplateBased ProxyVM | Fri 23 Jul 2021 06:03:06 PM UTC
[INFO] [systemcheck] Check sudo Result: OK
[INFO] [systemcheck] Whonix build version: 3:4.4-1
[INFO] [systemcheck] whonix-gateway-packages-dependencies-cli: 21.5-1
[INFO] [systemcheck] derivative_major_release_version /etc/whonix_version: 15
[INFO] [systemcheck] Whonix Support Status of this Major Version: Ok.
[WARNING] [systemcheck] Hardened Malloc: Disabled.
[INFO] [systemcheck] Spectre Meltdown Test: skipping since spectre_meltdown_check=false, ok.
[INFO] [systemcheck] Package Manager Consistency Check Result: Output of command dpkg --audit was empty, ok.
[INFO] [systemcheck] systemd journal check Result:
warnings:
########################################

########################################

failed:
########################################
Jul 23 16:37:06 host systemd[1]: apparmor.service: Failed with result ‘exit-code’.
Jul 23 16:37:06 host systemd[1]: Failed to start Load AppArmor profiles.
########################################

errors:
########################################
Jul 23 16:37:05 host kernel: ACPI Error: No handler or method for GPE 00, disabling event (20190816/evgpe-841)
Jul 23 16:37:05 host kernel: ACPI Error: No handler or method for GPE 01, disabling event (20190816/evgpe-841)
Jul 23 16:37:05 host kernel: ACPI Error: No handler or method for GPE 03, disabling event (20190816/evgpe-841)
Jul 23 16:37:05 host kernel: ACPI Error: No handler or method for GPE 04, disabling event (20190816/evgpe-841)
Jul 23 16:37:05 host kernel: ACPI Error: No handler or method for GPE 05, disabling event (20190816/evgpe-841)
Jul 23 16:37:05 host kernel: ACPI Error: No handler or method for GPE 06, disabling event (20190816/evgpe-841)
Jul 23 16:37:05 host kernel: ACPI Error: No handler or method for GPE 07, disabling event (20190816/evgpe-841)
Jul 23 16:37:05 host kernel: Error: Driver ‘pcspkr’ is already registered, aborting…
Jul 23 16:53:28 host xdg-desktop-por[7955]: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
########################################

denied:
########################################

########################################

ordering cycle:
########################################

########################################

To see this for yourself…

  1. Open a terminal. (dom0 → Start Menu → ServiceVM: sys-whonix → Terminal)
  2. Run. sudo journalctl | grep -i warn
  3. Run. sudo journalctl | grep -i fail
  4. Run. sudo journalctl | grep -i error
  5. Run. sudo journalctl | grep -i denied
  6. Run. sudo journalctl | grep -i “ordering cycle”

If you know what you are doing, feel free to disable this check.
Create a file /etc/systemcheck.d/50_user.conf and add:
systemcheck_skip_functions+=" check_journal "
[INFO] [systemcheck] check network interfaces Result: Ok.
[INFO] [systemcheck] Qubes qubes-db Test Result: Connection to local qubes-db daemon succeeded, ok.
[INFO] [systemcheck] Qubes Settings Test Result: Ok. (GATEWAY_IP: 127.0.0.1)
[INFO] [systemcheck] Qubes Settings Test Result: Ok, qubes_vm_type is ProxyVM.
[INFO] [systemcheck] Check Kernel Messages Test Result: Found nothing remarkable, ok.
[INFO] [systemcheck] Whonix firewall systemd unit check Result: Ok.
[INFO] [systemcheck] Check setup-dist Result: done, ok.
[INFO] [systemcheck] Check Package Manager Running Result: None running, ok.
[INFO] [systemcheck] Tor Check Result: “DisableNetwork 1” not active, ok.
[INFO] [systemcheck] Tor Config Check Result: Tor config ok.
[INFO] [systemcheck] Tor Pid Check Result: Pid 840 running.
[INFO] [systemcheck] Control Port Filter Proxy Test Result: OK
[INFO] [systemcheck] check_anondate_do debugging information:

tor_consensus_status : verified
current_time_in_valid_range: true

current_time_torish : 2021-07-23 18:03:10
tor_consensus_valid_after : 2021-07-23 16:00:00
tor_consensus_valid_until : 2021-07-23 19:00:00
tor_consensus_middle_range : 2021-07-23 17:30:00

tor_cert_lifetime_output :
tor_cert_lifetime_valid : true
tor_cert_valid_after :

tor_consensus_user_permission : debian-tor
tor_consensus_group_permission: debian-tor

[INFO] [systemcheck] Tor SocksPort Reachability Test Result: Reachable. (curl exit code: 22 | curl status message: [22] - [HTTP page not retrieved. The requested url was not found or returned another error with the HTTP error code being 400 or above. This return code only appears if -f, --fail is used.])
[INFO] [systemcheck] Tor Connection Result:

  • Connecting for 0 seconds. | 100 % done.
  • Tor Circuit: not established.
  • Tor reports: NOTICE BOOTSTRAP PROGRESS=100 TAG=done SUMMARY=“Done”
  • Timesync status: done.
  • sdwdate reports: Success.
    [INFO] [systemcheck] Tor Connection Result:
  • Connecting for 2 seconds. | 100 % done.
  • Tor Circuit: not established.
  • Tor reports: NOTICE BOOTSTRAP PROGRESS=100 TAG=done SUMMARY=“Done”
  • Timesync status: done.
  • sdwdate reports: Success.
    [INFO] [systemcheck] Tor Connection Result:
  • Connecting for 4 seconds. | 100 % done.
  • Tor Circuit: not established.
  • Tor reports: NOTICE BOOTSTRAP PROGRESS=100 TAG=done SUMMARY=“Done”
  • Timesync status: done.
  • sdwdate reports: Success.
    [INFO] [systemcheck] Tor Connection Result:
  • Connecting for 6 seconds. | 100 % done.
  • Tor Circuit: not established.
  • Tor reports: NOTICE BOOTSTRAP PROGRESS=100 TAG=done SUMMARY=“Done”
  • Timesync status: done.
  • sdwdate reports: Success.
    [INFO] [systemcheck] Tor Connection Result:
  • Connecting for 8 seconds. | 100 % done.
  • Tor Circuit: not established.
  • Tor reports: NOTICE BOOTSTRAP PROGRESS=100 TAG=done SUMMARY=“Done”
  • Timesync status: done.
  • sdwdate reports: Success.
    [INFO] [systemcheck] Tor Connection Result:
  • Connecting for 10 seconds. | 100 % done.
  • Tor Circuit: not established.
  • Tor reports: NOTICE BOOTSTRAP PROGRESS=100 TAG=done SUMMARY=“Done”
  • Timesync status: done.
  • sdwdate reports: Success.
    [INFO] [systemcheck] Tor Connection Result:
  • Connecting for 12 seconds. | 100 % done.
  • Tor Circuit: not established.
  • Tor reports: NOTICE BOOTSTRAP PROGRESS=100 TAG=done SUMMARY=“Done”
  • Timesync status: done.
  • sdwdate reports: Success.
    [INFO] [systemcheck] Tor Connection Result:
  • Connecting for 14 seconds. | 100 % done.
  • Tor Circuit: not established.
  • Tor reports: NOTICE BOOTSTRAP PROGRESS=100 TAG=done SUMMARY=“Done”
  • Timesync status: done.
  • sdwdate reports: Success.

(this message repeats with incrementing “Connected for X seconds” messages, then…)

[INFO] [systemcheck] Tor Connection Result:

  • Connecting for 140 seconds. | 100 % done.
  • Tor Circuit: not established.
  • Tor reports: NOTICE BOOTSTRAP PROGRESS=100 TAG=done SUMMARY=“Done”
  • Timesync status: done.
  • sdwdate reports: Success.
    [INFO] [systemcheck] Tor Connection Result:
  • Connecting for 142 seconds. | 100 % done.
  • Tor Circuit: not established.
  • Tor reports: NOTICE BOOTSTRAP PROGRESS=100 TAG=done SUMMARY=“Done”
  • Timesync status: done.
  • sdwdate reports: Success.
    [INFO] [systemcheck] Tor Connection Result:
  • Connecting for 144 seconds. | 100 % done.
  • Tor Circuit: not established.
  • Tor reports: NOTICE BOOTSTRAP PROGRESS=100 TAG=done SUMMARY=“Done”
  • Timesync status: done.
  • sdwdate reports: Success.
    [INFO] [systemcheck] Tor Connection Result:
  • Connecting for 146 seconds. | 100 % done.
  • Tor Circuit: not established.
  • Tor reports: NOTICE BOOTSTRAP PROGRESS=100 TAG=done SUMMARY=“Done”
  • Timesync status: done.
  • sdwdate reports: Success.
    [INFO] [systemcheck] Tor Connection Result:
  • Connecting for 148 seconds. | 100 % done.
  • Tor Circuit: not established.
  • Tor reports: NOTICE BOOTSTRAP PROGRESS=100 TAG=done SUMMARY=“Done”
  • Timesync status: done.
  • sdwdate reports: Success.
    [ERROR] [systemcheck] Tor Connection Result:
    systemcheck gave up waiting.
    Tor Circuit: not established
    Connection 100 % done. Tor reports: NOTICE BOOTSTRAP PROGRESS=100 TAG=done SUMMARY=“Done”

Possible issues:

  • Is the host’s internet connection working?
  • Whonix-Gateway will need a few moments for bootstrapping the Tor network.
  • Do you live in a censored area?
  • (link redacted)
  • Tor needs a reasonable correct time to be able to connect.

Recommendations:

Please check, that the time inside this virtual machine (23/07/2021 18:06:07) is correct. (A clock that
is slow or fast up to 30 minutes is okay.) If the time is incorrect, please manually fix it.

  1. Open a terminal. (dom0 → Start Menu → ServiceVM: sys-whonix → Terminal)
  2. Use the manual clock setting tool. sudo --set-home clock-random-manual-gui

Shut down Whonix and try to get the Tor Browser Bundle from (link redacted)
working on your host. If you cannot get the Tor Browser Bundle to work, you will most certainly not get Whonix to work either.

The Tor Browser Bundle is great for testing if you live in a censored area. If you need bridges for the Tor Browser Bundle,
you will need them for Whonix as well.

Try again: dom0 → Start Menu → ServiceVM: sys-whonix → systemcheck
or in Terminal: systemcheck
or more verbose in Terminal: systemcheck --verbose --gui --cli

Use Nyx, connection page two, to see if Tor is connected:
dom0 → Start Menu → ServiceVM: sys-whonix → Nyx
or in Terminal: nyx
check_anondate_do debugging information:

tor_consensus_status : verified
current_time_in_valid_range: true

current_time_torish : 2021-07-23 18:06:07
tor_consensus_valid_after : 2021-07-23 16:00:00
tor_consensus_valid_until : 2021-07-23 19:00:00
tor_consensus_middle_range : 2021-07-23 17:30:00

tor_cert_lifetime_output :
tor_cert_lifetime_valid : true
tor_cert_valid_after :

tor_consensus_user_permission : debian-tor
tor_consensus_group_permission: debian-tor

This log is from when it doesn’t work. The only other thing I can tell you with any certainty is that I saw, over time, the number of connections in nyx’s connections view decrements until it reaches 0, at which point it stops working. This usually takes just under an hour.

Some tests not mentioned yet.

5. Check if Tor Browser works on the host. Reason: Network Obstacle

9. Tor Connectivity Troubleshooting.


Connectivity Troubleshooting

8. Sometimes a Tor Consensus Re-Download can help.

9. Tor Log Analysis.

10. vanguards Log Analysis

11. See also Network Obstacle and Bridges.

Added just now:

12. See Tor Generic Bug Reproduction.

Are you using obfs4 bridge by any chance? If so, check if connecting directly solves the problem.

Added to documentation just now.

12. Unnecessary use of Bridges.

Using Bridges if not really needed can cause connectivity issues. Users not living in censored areas should consider not using bridges. As mentioned on the Bridges wiki page:

Quote [archive] Roger Dingledine, cofounder of Tor:

[…] Bridges are less reliable and tend to have lower performance than other entry points. If you live in a uncensored area, they are not necessarily more secure than entry guards. […]

I was using obfs4 bridge, but connecting directly did not solve the problem.

If it helps, I think there was a problem with the clock at first, but fixing that did not ultimately solve the problem.

Can you confirm this is specific to Whonix?

  • Create a non-Whonix VM, preferably Debian, with NetVM sys-firewall. Extract a copy of the vanilla Tor Browser Bundle from Tor Project website. Use it for an hour or two and see if the same problem occurs. (Tip: run it in a terminal with --verbose for more detailed logs.)
  • Create a non-Whonix VM, this time with NetVM sys-whonix. Extract vanilla Tor Browser Bundle and start it from the terminal with TOR_TRANSPROXY=1 TOR_SKIP_LAUNCH=1. Use it for an hour or two and see what happens.
  • Make sure Tor works properly for at least an hour on another device and/or operating system when connected via the same network.

These are temporary troubleshooting VMs. Don’t use them for anything risky or sensitive, obviously.

AFAIK, a clock problem will usually prevent Tor from bootstrapping altogether. It seems unlikely that Tor would bootstrap successfully and then just stop working after 45 minutes, unless the clock was changed during that time. Can you confirm the clock is still correct after Tor loses its connection?

If that’s the case, it seems unlikely for it to be network-level issue, since obfs4 is a different protocol and is meant to be censorship resistant. However, it wouldn’t hurt to run an OONI probe, just in case.

1 Like

I take this error too. İs it leak for anything? I check anon-log and leak test but ı didn’t found error. Im just see this ACPI error

journal won’t include any leaks. (Unless anyone can come up with more clever stuff than what’s listed on Leak Tests)
Unsuitable Connectivity Troubleshooting Tools could be rewritten for “Unsuitable Leak Tests”.
How leak testing is actually done → Leak Tests

There are way too many confusing messages which are non-issues. → Support Request Policy