Hi,
I do periodic `smtpctl spf walk` of Big Mail Corps domains and
some other domains which I know I'm registered at.
smtpctl spf walk < nospamd-domains.txt
wc -l < nospamd-domains.txt
103
In recent weeks I've noticed that above command gets stuck with
smtpctl spinning at 80%+ of CPU.
I can reproduce this once in a while, not always. I've rebuild
smtpctl and libevent with env DEBUG=-g CFLAGS='-O0 -pipe -g' make
and I got following gdb backtrace when I find the process stuck:
(gdb) bt
#0 _thread_sys_read () at -:3
#1 0x0000030cc63c6f9e in _libc_read_cancel (fd=Variable "fd" is not
available.) at /usr/src/lib/libc/sys/w_read.c:27
#2 0x0000030cc63dc01b in res_send_async_run (as=0x30cdac73500,
ar=0x7f7ffffce808) at /usr/src/lib/libc/asr/res_send_async.c:581
#3 0x0000030cc63d53d3 in _libc_asr_run (as=0x30cdac73500, ar=Variable "ar" is
not available.) at /usr/src/lib/libc/asr/asr.c:148
#4 0x0000030cd7cc8bd4 in event_asr_dispatch (fd=62, ev=2, arg=0x30c93d4e000)
at /data/04-spf-walk-spin/libevent/event.c:945
#5 0x0000030cd7cc7eff in event_process_active (base=0x30cda925400) at
/data/04-spf-walk-spin/libevent/event.c:333
#6 0x0000030cd7cc767b in event_base_loop (base=0x30cda925400, flags=0) at
/data/04-spf-walk-spin/libevent/event.c:483
#7 0x0000030cd7cc73e7 in event_loop (flags=0) at
/data/04-spf-walk-spin/libevent/event.c:409
#8 0x0000030cd7cc7399 in event_dispatch () at
/data/04-spf-walk-spin/libevent/event.c:347
#9 0x0000030a4c91e202 in spfwalk (argc=-1, argv=0x108) at
/data/04-spf-walk-spin/smtpd/smtpctl/../spfwalk.c:100
#10 0x0000030a4c8fe16d in do_spf_walk (argc=0, argv=0x0) at
/data/04-spf-walk-spin/smtpd/smtpctl/../smtpctl.c:1034
#11 0x0000030a4c8f2a7f in cmd_run (argc=2, argv=0x7f7ffffd3120) at
/data/04-spf-walk-spin/smtpd/smtpctl/../parser.c:219
#12 0x0000030a4c8fc4f7 in main (argc=3, argv=0x7f7ffffd3118) at
/data/04-spf-walk-spin/smtpd/smtpctl/../smtpctl.c:1107
This is from:
OpenBSD 6.6-beta (GENERIC.MP) #313: Tue Sep 10 23:30:52 MDT 2019
[email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
Could someone hit me with a cluestick, how to dive into this deeper?
--
Regards,
Mikolaj