#579·proxygen

hq crashes immediately if IPv6 is not available

Author: radon-at-beeperCreated Oct 16, 2025Updated Oct 16, 2025

If you try to run the hq tool provided by this binary in an environment where IPv6 is not available, it immediately crashes catastrophically.

E1016 11:02:04.554917 984903 main.cpp:42] Cannot open /tmp/logs
W1016 11:02:04.603056 984903 QuicServerWorker.cpp:1231] HostId is already set to 0
W1016 11:02:04.603096 984903 QuicServerWorker.cpp:1231] HostId is already set to 0
W1016 11:02:04.603099 984903 QuicServerWorker.cpp:1231] HostId is already set to 0
W1016 11:02:04.603104 984903 QuicServerWorker.cpp:1231] HostId is already set to 0
W1016 11:02:04.603111 984903 QuicServerWorker.cpp:1231] HostId is already set to 0
W1016 11:02:04.603116 984903 QuicServerWorker.cpp:1231] HostId is already set to 0
W1016 11:02:04.603121 984903 QuicServerWorker.cpp:1231] HostId is already set to 0
W1016 11:02:04.603155 984903 QuicServerWorker.cpp:1231] HostId is already set to 0
W1016 11:02:04.603161 984903 QuicServerWorker.cpp:1231] HostId is already set to 0
W1016 11:02:04.603165 984903 QuicServerWorker.cpp:1231] HostId is already set to 0
W1016 11:02:04.603173 984903 QuicServerWorker.cpp:1231] HostId is already set to 0
W1016 11:02:04.603180 984903 QuicServerWorker.cpp:1231] HostId is already set to 0
W1016 11:02:04.603193 984903 QuicServerWorker.cpp:1231] HostId is already set to 0
W1016 11:02:04.603199 984903 QuicServerWorker.cpp:1231] HostId is already set to 0
W1016 11:02:04.603201 984903 QuicServerWorker.cpp:1231] HostId is already set to 0
W1016 11:02:04.603207 984903 QuicServerWorker.cpp:1231] HostId is already set to 0
W1016 11:02:04.603212 984903 QuicServerWorker.cpp:1231] HostId is already set to 0
W1016 11:02:04.603216 984903 QuicServerWorker.cpp:1231] HostId is already set to 0
W1016 11:02:04.603220 984903 QuicServerWorker.cpp:1231] HostId is already set to 0
W1016 11:02:04.603224 984903 QuicServerWorker.cpp:1231] HostId is already set to 0
W1016 11:02:04.603227 984903 QuicServerWorker.cpp:1231] HostId is already set to 0
W1016 11:02:04.603230 984903 QuicServerWorker.cpp:1231] HostId is already set to 0
W1016 11:02:04.603233 984903 QuicServerWorker.cpp:1231] HostId is already set to 0
W1016 11:02:04.603238 984903 QuicServerWorker.cpp:1231] HostId is already set to 0
E1016 11:02:04.603979 984920 ExceptionTracer.cpp:217] terminate() called, exception stack follows
E1016 11:02:04.604229 984921 ExceptionTracer.cpp:217] terminate() called, exception stack follows
E1016 11:02:04.604498 984923 ExceptionTracer.cpp:217] terminate() called, exception stack follows
E1016 11:02:04.604744 984925 ExceptionTracer.cpp:217] terminate() called, exception stack follows
E1016 11:02:04.605010 984927 ExceptionTracer.cpp:217] terminate() called, exception stack follows
E1016 11:02:04.605201 984928 ExceptionTracer.cpp:217] terminate() called, exception stack follows
E1016 11:02:04.605392 984929 ExceptionTracer.cpp:217] terminate() called, exception stack follows
E1016 11:02:04.605721 984931 ExceptionTracer.cpp:217] terminate() called, exception stack follows
E1016 11:02:04.606081 984932 ExceptionTracer.cpp:217] terminate() called, exception stack follows
E1016 11:02:04.606281 984934 ExceptionTracer.cpp:217] terminate() called, exception stack follows
E1016 11:02:04.606518 984935 ExceptionTracer.cpp:217] terminate() called, exception stack follows
E1016 11:02:04.606736 984937 ExceptionTracer.cpp:217] terminate() called, exception stack follows
E1016 11:02:04.623790 984938 ExceptionTracer.cpp:217] terminate() called, exception stack follows
E1016 11:02:04.624017 984939 ExceptionTracer.cpp:217] terminate() called, exception stack follows
E1016 11:02:04.624197 984941 ExceptionTracer.cpp:217] terminate() called, exception stack follows
E1016 11:02:04.624449 984943 ExceptionTracer.cpp:217] terminate() called, exception stack follows
E1016 11:02:04.604512 984923 ExceptionTracer.cpp:219] Exception type: folly::AsyncSocketException (19 frames)
    @ 000000000011646d __cxa_throw
    @ 000000000004c09f (unknown)
    @ 00000000000420ad quic::QuicServerWorker::bind(folly::SocketAddress const&, folly::AsyncUDPSocket::BindOptions)
    @ 00000000000260f3 (unknown)
    @ 0000000000219086 (unknown)
    @ 000000000021e06b (unknown)
    @ 000000000021e6ad (unknown)
    @ 0000000000222ff1 (unknown)
    @ 0000000000232ec8 folly::EventHandler::libeventCallback(int, short, void*)
    @ 0000000000019829 (unknown)
    @ 000000000001b48f event_base_loop
    @ 000000000021efcf folly::EventBase::loopMain(int, folly::EventBase::LoopOptions)
    @ 000000000021f54b folly::EventBase::loopBody(int, folly::EventBase::LoopOptions)
    @ 000000000021f645 folly::EventBase::loop()
    @ 000000000021f6a0 folly::EventBase::loopForever()
    @ 000000000025dceb (unknown)
    @ 000000000004e3e4 (unknown)
    @ 0000000000071f54 start_thread
    @ 00000000000f532c __clone3

E1016 11:02:04.624572 984923 ExceptionTracer.cpp:221] exception stack complete
terminate called after throwing an instance of 'folly::AsyncSocketException'
  what():  AsyncSocketException: failed to bind the async udp socket for:[::1]:6666, type = Socket not open, errno = 99 (Cannot assign requested address)
*** Aborted at 1760637724 (Unix time, try 'date -d @1760637724') ***
*** Signal 6 (SIGABRT) (0x3e8000f0747) received by PID 984903 (pthread TID 0x7fe59cff96c0) (linux TID 984923) (maybe from PID 984903, UID 1000) (code: -6), stack trace: ***
E1016 11:02:04.604759 984925 ExceptionTracer.cpp:219] Exception type: folly::AsyncSocketException (19 frames)
    @ 000000000011646d __cxa_throw
    @ 000000000004c09f (unknown)
    @ 00000000000420ad quic::QuicServerWorker::bind(folly::SocketAddress const&, folly::AsyncUDPSocket::BindOptions)
    @ 00000000000260f3 (unknown)
    @ 0000000000219086 (unknown)
    @ 000000000021e06b (unknown)
    @ 000000000021e6ad (unknown)
    @ 0000000000222ff1 (unknown)
    @ 0000000000232ec8 folly::EventHandler::libeventCallback(int, short, void*)
    @ 0000000000019829 (unknown)
    @ 000000000001b48f event_base_loop
    @ 000000000021efcf folly::EventBase::loopMain(int, folly::EventBase::LoopOptions)
    @ 000000000021f54b folly::EventBase::loopBody(int, folly::EventBase::LoopOptions)
    @ 000000000021f645 folly::EventBase::loop()
    @ 000000000021f6a0 folly::EventBase::loopForever()
    @ 000000000025dceb (unknown)
    @ 000000000004e3e4 (unknown)
    @ 0000000000071f54 start_thread
    @ 00000000000f532c __clone3

E1016 11:02:04.624804 984925 ExceptionTracer.cpp:221] exception stack complete
terminate called recursively
E1016 11:02:04.604243 984921 ExceptionTracer.cpp:219] Exception type: folly::AsyncSocketException (19 frames)
    @ 000000000011646d __cxa_throw
    @ 000000000004c09f (unknown)
    @ 00000000000420ad quic::QuicServerWorker::bind(folly::SocketAddress const&, folly::AsyncUDPSocket::BindOptions)
    @ 00000000000260f3 (unknown)
    @ 0000000000219086 (unknown)
    @ 000000000021e06b (unknown)
    @ 000000000021e6ad (unknown)
    @ 0000000000222ff1 (unknown)
    @ 0000000000232ec8 folly::EventHandler::libeventCallback(int, short, void*)
    @ 0000000000019829 (unknown)
    @ 000000000001b48f event_base_loop
    @ 000000000021efcf folly::EventBase::loopMain(int, folly::EventBase::LoopOptions)
    @ 000000000021f54b folly::EventBase::loopBody(int, folly::EventBase::LoopOptions)
    @ 000000000021f645 folly::EventBase::loop()
    @ 000000000021f6a0 folly::EventBase::loopForever()
    @ 000000000025dceb (unknown)
    @ 000000000004e3e4 (unknown)
    @ 0000000000071f54 start_thread
    @ 00000000000f532c __clone3

E1016 11:02:04.624902 984921 ExceptionTracer.cpp:221] exception stack complete
terminate called recursively
E1016 11:02:04.603993 984920 ExceptionTracer.cpp:219] Exception type: folly::AsyncSocketException (19 frames)
    @ 000000000011646d __cxa_throw
    @ 000000000004c09f (unknown)
    @ 00000000000420ad quic::QuicServerWorker::bind(folly::SocketAddress const&, folly::AsyncUDPSocket::BindOptions)
    @ 00000000000260f3 (unknown)
    @ 0000000000219086 (unknown)
    @ 000000000021e06b (unknown)
    @ 000000000021e6ad (unknown)
    @ 0000000000222ff1 (unknown)
    @ 0000000000232ec8 folly::EventHandler::libeventCallback(int, short, void*)
    @ 0000000000019829 (unknown)
    @ 000000000001b48f event_base_loop
    @ 000000000021efcf folly::EventBase::loopMain(int, folly::EventBase::LoopOptions)
    @ 000000000021f54b folly::EventBase::loopBody(int, folly::EventBase::LoopOptions)
    @ 000000000021f645 folly::EventBase::loop()
    @ 000000000021f6a0 folly::EventBase::loopForever()
    @ 000000000025dceb (unknown)
    @ 000000000004e3e4 (unknown)
    @ 0000000000071f54 start_thread
    @ 00000000000f532c __clone3

E1016 11:02:04.605027 984927 ExceptionTracer.cpp:219] Exception type: folly::AsyncSocketException (19 frames)
    @ 000000000011646d __cxa_throw
    @ 000000000004c09f (unknown)
    @ 00000000000420ad quic::QuicServerWorker::bind(folly::SocketAddress const&, folly::AsyncUDPSocket::BindOptions)
    @ 00000000000260f3 (unknown)
    @ 0000000000219086 (unknown)
    @ 000000000021e06b (unknown)
    @ 000000000021e6ad (unknown)
    @ 0000000000222ff1 (unknown)
    @ 0000000000232ec8 folly::EventHandler::libeventCallback(int, short, void*)
    @ 0000000000019829 (unknown)
    @ 000000000001b48f event_base_loop
    @ 000000000021efcf folly::EventBase::loopMain(int, folly::EventBase::LoopOptions)
    @ 000000000021f54b folly::EventBase::loopBody(int, folly::EventBase::LoopOptions)
    @ 000000000021f645 folly::EventBase::loop()
    @ 000000000021f6a0 folly::EventBase::loopForever()
    @ 000000000025dceb (unknown)
    @ 000000000004e3e4 (unknown)
    @ 0000000000071f54 start_thread
    @ 00000000000f532c __clone3

E1016 11:02:04.624962 984920 ExceptionTracer.cpp:221] exception stack complete
terminate called recursively
E1016 11:02:04.605733 984931 ExceptionTracer.cpp:219] Exception type: folly::AsyncSocketException (19 frames)
    @ 000000000011646d __cxa_throw
    @ 000000000004c09f (unknown)
    @ 00000000000420ad quic::QuicServerWorker::bind(folly::SocketAddress const&, folly::AsyncUDPSocket::BindOptions)
    @ 00000000000260f3 (unknown)
    @ 0000000000219086 (unknown)
    @ 000000000021e06b (unknown)
    @ 000000000021e6ad (unknown)
    @ 0000000000222ff1 (unknown)
    @ 0000000000232ec8 folly::EventHandler::libeventCallback(int, short, void*)
    @ 0000000000019829 (unknown)
    @ 000000000001b48f event_base_loop
    @ 000000000021efcf folly::EventBase::loopMain(int, folly::EventBase::LoopOptions)
    @ 000000000021f54b folly::EventBase::loopBody(int, folly::EventBase::LoopOptions)
    @ 000000000021f645 folly::EventBase::loop()
    @ 000000000021f6a0 folly::EventBase::loopForever()
    @ 000000000025dceb (unknown)
    @ 000000000004e3e4 (unknown)
    @ 0000000000071f54 start_thread
    @ 00000000000f532c __clone3

E1016 11:02:04.625042 984931 ExceptionTracer.cpp:221] exception stack complete
terminate called recursively
E1016 11:02:04.605206 984928 ExceptionTracer.cpp:219] Exception type: folly::AsyncSocketException (19 frames)
    @ 000000000011646d __cxa_throw
    @ 000000000004c09f (unknown)
    @ 00000000000420ad quic::QuicServerWorker::bind(folly::SocketAddress const&, folly::AsyncUDPSocket::BindOptions)
    @ 00000000000260f3 (unknown)
    @ 0000000000219086 (unknown)
    @ 000000000021e06b (unknown)
    @ 000000000021e6ad (unknown)
    @ 0000000000222ff1 (unknown)
    @ 0000000000232ec8 folly::EventHandler::libeventCallback(int, short, void*)
    @ 0000000000019829 (unknown)
    @ 000000000001b48f event_base_loop
    @ 000000000021efcf folly::EventBase::loopMain(int, folly::EventBase::LoopOptions)
    @ 000000000021f54b folly::EventBase::loopBody(int, folly::EventBase::LoopOptions)
    @ 000000000021f645 folly::EventBase::loop()
    @ 000000000021f6a0 folly::EventBase::loopForever()
    @ 000000000025dceb (unknown)
    @ 000000000004e3e4 (unknown)
    @ 0000000000071f54 start_thread
    @ 00000000000f532c __clone3

E1016 11:02:04.605401 984929 ExceptionTracer.cpp:219] Exception type: folly::AsyncSocketException (19 frames)
    @ 000000000011646d __cxa_throw
    @ 000000000004c09f (unknown)
    @ 00000000000420ad quic::QuicServerWorker::bind(folly::SocketAddress const&, folly::AsyncUDPSocket::BindOptions)
    @ 00000000000260f3 (unknown)
    @ 0000000000219086 (unknown)
    @ 000000000021e06b (unknown)
    @ 000000000021e6ad (unknown)
    @ 0000000000222ff1 (unknown)
    @ 0000000000232ec8 folly::EventHandler::libeventCallback(int, short, void*)
    @ 0000000000019829 (unknown)
    @ 000000000001b48f event_base_loop
    @ 000000000021efcf folly::EventBase::loopMain(int, folly::EventBase::LoopOptions)
    @ 000000000021f54b folly::EventBase::loopBody(int, folly::EventBase::LoopOptions)
    @ 000000000021f645 folly::EventBase::loop()
    @ 000000000021f6a0 folly::EventBase::loopForever()
    @ 000000000025dceb (unknown)
    @ 000000000004e3e4 (unknown)
    @ 0000000000071f54 start_thread
    @ 00000000000f532c __clone3

E1016 11:02:04.625005 984927 ExceptionTracer.cpp:221] exception stack complete
E1016 11:02:04.625135 984929 ExceptionTracer.cpp:221] exception stack complete
terminate called recursively
E1016 11:02:04.625084 984928 ExceptionTracer.cpp:221] exception stack complete
terminate called recursively
E1016 11:02:04.625046 984944 ExceptionTracer.cpp:217] terminate() called, exception stack follows
terminate called recursively
E1016 11:02:04.625305 984945 ExceptionTracer.cpp:217] terminate() called, exception stack follows
E1016 11:02:04.606741 984937 ExceptionTracer.cpp:219] Exception type: folly::AsyncSocketException (19 frames)
    @ 000000000011646d __cxa_throw
    @ 000000000004c09f (unknown)
    @ 00000000000420ad quic::QuicServerWorker::bind(folly::SocketAddress const&, folly::AsyncUDPSocket::BindOptions)
    @ 00000000000260f3 (unknown)
    @ 0000000000219086 (unknown)
    @ 000000000021e06b (unknown)
    @ 000000000021e6ad (unknown)
    @ 0000000000222ff1 (unknown)
    @ 0000000000232ec8 folly::EventHandler::libeventCallback(int, short, void*)
    @ 0000000000019829 (unknown)
    @ 000000000001b48f event_base_loop
    @ 000000000021efcf folly::EventBase::loopMain(int, folly::EventBase::LoopOptions)
    @ 000000000021f54b folly::EventBase::loopBody(int, folly::EventBase::LoopOptions)
    @ 000000000021f645 folly::EventBase::loop()
    @ 000000000021f6a0 folly::EventBase::loopForever()
    @ 000000000025dceb (unknown)
    @ 000000000004e3e4 (unknown)
    @ 0000000000071f54 start_thread
    @ 00000000000f532c __clone3

E1016 11:02:04.625368 984937 ExceptionTracer.cpp:221] exception stack complete
terminate called recursively
E1016 11:02:04.606534 984935 ExceptionTracer.cpp:219] Exception type: folly::AsyncSocketException (19 frames)
    @ 000000000011646d __cxa_throw
    @ 000000000004c09f (unknown)
    @ 00000000000420ad quic::QuicServerWorker::bind(folly::SocketAddress const&, folly::AsyncUDPSocket::BindOptions)
    @ 00000000000260f3 (unknown)
    @ 0000000000219086 (unknown)
    @ 000000000021e06b (unknown)
    @ 000000000021e6ad (unknown)
    @ 0000000000222ff1 (unknown)
    @ 0000000000232ec8 folly::EventHandler::libeventCallback(int, short, void*)
    @ 0000000000019829 (unknown)
    @ 000000000001b48f event_base_loop
    @ 000000000021efcf folly::EventBase::loopMain(int, folly::EventBase::LoopOptions)
    @ 000000000021f54b folly::EventBase::loopBody(int, folly::EventBase::LoopOptions)
    @ 000000000021f645 folly::EventBase::loop()
    @ 000000000021f6a0 folly::EventBase::loopForever()
    @ 000000000025dceb (unknown)
    @ 000000000004e3e4 (unknown)
    @ 0000000000071f54 start_thread
    @ 00000000000f532c __clone3

E1016 11:02:04.623797 984938 ExceptionTracer.cpp:219] Exception type: folly::AsyncSocketException (19 frames)
    @ 000000000011646d __cxa_throw
    @ 000000000004c09f (unknown)
    @ 00000000000420ad quic::QuicServerWorker::bind(folly::SocketAddress const&, folly::AsyncUDPSocket::BindOptions)
    @ 00000000000260f3 (unknown)
    @ 0000000000219086 (unknown)
    @ 000000000021e06b (unknown)
    @ 000000000021e6ad (unknown)
    @ 0000000000222ff1 (unknown)
    @ 0000000000232ec8 folly::EventHandler::libeventCallback(int, short, void*)
    @ 0000000000019829 (unknown)
    @ 000000000001b48f event_base_loop
    @ 000000000021efcf folly::EventBase::loopMain(int, folly::EventBase::LoopOptions)
    @ 000000000021f54b folly::EventBase::loopBody(int, folly::EventBase::LoopOptions)
    @ 000000000021f645 folly::EventBase::loop()
    @ 000000000021f6a0 folly::EventBase::loopForever()
    @ 000000000025dceb (unknown)
    @ 000000000004e3e4 (unknown)
    @ 0000000000071f54 start_thread
    @ 00000000000f532c __clone3

E1016 11:02:04.625437 984938 ExceptionTracer.cpp:221] exception stack complete
terminate called recursively
E1016 11:02:04.624204 984941 ExceptionTracer.cpp:219] Exception type: folly::AsyncSocketException (19 frames)
    @ 000000000011646d __cxa_throw
    @ 000000000004c09f (unknown)
    @ 00000000000420ad quic::QuicServerWorker::bind(folly::SocketAddress const&, folly::AsyncUDPSocket::BindOptions)
    @ 00000000000260f3 (unknown)
    @ 0000000000219086 (unknown)
    @ 000000000021e06b (unknown)
    @ 000000000021e6ad (unknown)
    @ 0000000000222ff1 (unknown)
    @ 0000000000232ec8 folly::EventHandler::libeventCallback(int, short, void*)
    @ 0000000000019829 (unknown)
    @ 000000000001b48f event_base_loop
    @ 000000000021efcf folly::EventBase::loopMain(int, folly::EventBase::LoopOptions)
    @ 000000000021f54b folly::EventBase::loopBody(int, folly::EventBase::LoopOptions)
    @ 000000000021f645 folly::EventBase::loop()
    @ 000000000021f6a0 folly::EventBase::loopForever()
    @ 000000000025dceb (unknown)
    @ 000000000004e3e4 (unknown)
    @ 0000000000071f54 start_thread
    @ 00000000000f532c __clone3

E1016 11:02:04.606290 984934 ExceptionTracer.cpp:219] Exception type: folly::AsyncSocketException (19 frames)
    @ 000000000011646d __cxa_throw
    @ 000000000004c09f (unknown)
    @ 00000000000420ad quic::QuicServerWorker::bind(folly::SocketAddress const&, folly::AsyncUDPSocket::BindOptions)
    @ 00000000000260f3 (unknown)
    @ 0000000000219086 (unknown)
    @ 000000000021e06b (unknown)
    @ 000000000021e6ad (unknown)
    @ 0000000000222ff1 (unknown)
    @ 0000000000232ec8 folly::EventHandler::libeventCallback(int, short, void*)
    @ 0000000000019829 (unknown)
    @ 000000000001b48f event_base_loop
    @ 000000000021efcf folly::EventBase::loopMain(int, folly::EventBase::LoopOptions)
    @ 000000000021f54b folly::EventBase::loopBody(int, folly::EventBase::LoopOptions)
    @ 000000000021f645 folly::EventBase::loop()
    @ 000000000021f6a0 folly::EventBase::loopForever()
    @ 000000000025dceb (unknown)
    @ 000000000004e3e4 (unknown)
    @ 0000000000071f54 start_thread
    @ 00000000000f532c __clone3

E1016 11:02:04.625466 984941 ExceptionTracer.cpp:221] exception stack complete
terminate called recursively
E1016 11:02:04.625420 984935 ExceptionTracer.cpp:221] exception stack complete
terminate called recursively
E1016 11:02:04.625504 984934 ExceptionTracer.cpp:221] exception stack complete
terminate called recursively
E1016 11:02:04.606097 984932 ExceptionTracer.cpp:219] Exception type: folly::AsyncSocketException (19 frames)
    @ 000000000011646d __cxa_throw
    @ 000000000004c09f (unknown)
    @ 00000000000420ad quic::QuicServerWorker::bind(folly::SocketAddress const&, folly::AsyncUDPSocket::BindOptions)
    @ 00000000000260f3 (unknown)
    @ 0000000000219086 (unknown)
    @ 000000000021e06b (unknown)
    @ 000000000021e6ad (unknown)
    @ 0000000000222ff1 (unknown)
    @ 0000000000232ec8 folly::EventHandler::libeventCallback(int, short, void*)
    @ 0000000000019829 (unknown)
    @ 000000000001b48f event_base_loop
    @ 000000000021efcf folly::EventBase::loopMain(int, folly::EventBase::LoopOptions)
    @ 000000000021f54b folly::EventBase::loopBody(int, folly::EventBase::LoopOptions)
    @ 000000000021f645 folly::EventBase::loop()
    @ 000000000021f6a0 folly::EventBase::loopForever()