Soft assert in HS3 with vanguards ([warn] Invalid signature for service descriptor signing key: expired)
I recently got the following soft assert on my HSv3 with latest master:
Jul 22 09:05:41.000 [warn] Invalid signature for service descriptor signing key: expired
Jul 22 09:05:41.000 [warn] tor_bug_occurred_(): Bug: src/feature/hs/hs_descriptor.c:2367: hs_desc_encode_descriptor: Non-fatal assertion !(ret < 0) failed. (on Tor 0.3.5.0-alpha-dev e2b744ce38edb890)
Jul 22 09:05:41.000 [warn] Bug: Non-fatal assertion !(ret < 0) failed in hs_desc_encode_descriptor at src/feature/hs/hs_descriptor.c:2367. Stack trace: (on Tor 0.3.5.0-alpha-dev e2b744ce38edb890)
Jul 22 09:05:41.000 [warn] Bug: ./tor/src/app/tor(log_backtrace_impl+0x47) [0x7f9979f5b437] (on Tor 0.3.5.0-alpha-dev e2b744ce38edb890)
Jul 22 09:05:41.000 [warn] Bug: ./tor/src/app/tor(tor_bug_occurred_+0xbe) [0x7f9979f56d0e] (on Tor 0.3.5.0-alpha-dev e2b744ce38edb890)
Jul 22 09:05:41.000 [warn] Bug: ./tor/src/app/tor(hs_desc_encode_descriptor+0xb2) [0x7f9979e5dba2] (on Tor 0.3.5.0-alpha-dev e2b744ce38edb890)
Jul 22 09:05:41.000 [warn] Bug: ./tor/src/app/tor(hs_service_run_scheduled_events+0x1a75) [0x7f9979e64ac5] (on Tor 0.3.5.0-alpha-dev e2b744ce38edb890)
Jul 22 09:05:41.000 [warn] Bug: ./tor/src/app/tor(+0x51fb1) [0x7f9979dc4fb1] (on Tor 0.3.5.0-alpha-dev e2b744ce38edb890)
Jul 22 09:05:41.000 [warn] Bug: ./tor/src/app/tor(+0x593b1) [0x7f9979dcc3b1] (on Tor 0.3.5.0-alpha-dev e2b744ce38edb890)
Jul 22 09:05:41.000 [warn] Bug: /usr/lib/x86_64-linux-gnu/libevent-2.0.so.5(event_base_loop+0x7fc) [0x7f99793f63dc] (on Tor 0.3.5.0-alpha-dev e2b744ce38edb890)
Jul 22 09:05:41.000 [warn] Bug: ./tor/src/app/tor(do_main_loop+0x203) [0x7f9979dc8e13] (on Tor 0.3.5.0-alpha-dev e2b744ce38edb890)
Jul 22 09:05:41.000 [warn] Bug: ./tor/src/app/tor(tor_run_main+0x2a5) [0x7f9979dca325] (on Tor 0.3.5.0-alpha-dev e2b744ce38edb890)
Jul 22 09:05:41.000 [warn] Bug: ./tor/src/app/tor(tor_main+0x3a) [0x7f9979dc364a] (on Tor 0.3.5.0-alpha-dev e2b744ce38edb890)
Jul 22 09:05:41.000 [warn] Bug: ./tor/src/app/tor(main+0x19) [0x7f9979dc33b9] (on Tor 0.3.5.0-alpha-dev e2b744ce38edb890)
Jul 22 09:05:41.000 [warn] Bug: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1) [0x7f99785e92b1] (on Tor 0.3.5.0-alpha-dev e2b744ce38edb890)
Jul 22 09:05:41.000 [warn] Bug: ./tor/src/app/tor(_start+0x2a) [0x7f9979dc340a] (on Tor 0.3.5.0-alpha-dev e2b744ce38edb890)
I'm suspecting it might have to do with the #25552 (moved) fix because the code changed there is relevant to this bug, altho I don't see how it can cause this bug.
Based on the logs, it seems like my HSv3 kept that descriptor around for about 56 hours when the descriptor signing key cert lifetime is 54 hours (see HS_DESC_CERT_LIFETIME
).