Hi,

I've just upgraded via bsd.rd to the 31st of July snapshot and the
crash is still 100% reproductible, please see below.

Syscall 28 is sendmsg so I'm pretty sure that the crash happens the
very first time unbound tries to send a DNS request via the PPPoE
interface. I'm using very similar PF & unbound configs on another
machine and I don't see any issues there. This APU3 box where I see
the crashes is the only one with a PPPoE interface.

Any help to troubleshoot this further is greatly appreciated.

root@APU3 ~ $ sysctl kern.version
kern.version=OpenBSD 6.1-current (GENERIC.MP) #29: Mon Jul 31 16:03:57 MDT 2017
    dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP

root@APU3 ~ $ ls -lsah /sbin/pfctl
1184 -r-xr-xr-x  1 root  bin   562K Aug  1 00:54 /sbin/pfctl

root@APU3 ~ $ ls -lsah /usr/sbin/unbound
1504 -r-xr-xr-x  1 root  bin   725K Aug  1 00:55 /usr/sbin/unbound

root@APU3 ~ $ uptime
 9:19AM  up 9 mins, 2 users, load averages: 0.05, 0.06, 0.01

root@APU3 ~ $ ifconfig pppoe0
pppoe0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1492
        description: XXXXX Internet Access
        index 17 priority 0 llprio 3
        dev: em0 state: session
        sid: 0xfb0 PADI retries: 1 PADR retries: 0 time: 152d 05:19:04
        sppp: phase network authproto pap authname "YYYYYYYYYYYYYY" 
        groups: pppoe OUTSIDE egress
        status: active
        inet6 fe80::200:0:bc19:6932%pppoe0 ->  prefixlen 64 scopeid 0x11
        inet 256.256.256.256 --> 257.257.257.257 netmask 0xffffffff

root@APU3 ~ $ pfctl -s rules | egrep -i ppp
match out on pppoe0 inet proto udp all nat-to (pppoe0) round-robin
match out on pppoe0 inet proto tcp all nat-to (pppoe0) round-robin
match out on pppoe0 inet proto icmp all nat-to (pppoe0) round-robin
pass out on pppoe0 inet proto udp from 0.0.0.0 to any
pass out on pppoe0 inet proto tcp from 0.0.0.0 to any flags S/SA
pass out on pppoe0 inet proto icmp from 0.0.0.0 to any
pass out on pppoe0 inet proto udp from <LOCAL_NETS> to any
pass out on pppoe0 inet proto tcp from <LOCAL_NETS> to any flags S/SA
pass out on pppoe0 inet proto icmp from <LOCAL_NETS> to any
pass in on pppoe0 inet proto tcp from ! <INET_BOGONS> to 0.0.0.0 port = 8080 
keep state (source-track rule, max-src-conn 10, max-src-conn-rate 10/5, 
overload <BRUTEFORCE> flush global, src.track 5) rdr-to 1.2.3.4
block drop in on pppoe0 inet from no-route to any
block drop in on pppoe0 inet from urpf-failed to any

root@APU3 ~ $ rcctl stop unbound
unbound(ok)

root@APU3 ~ $ pfctl -f /etc/pf.conf

root@APU3 ~ $ pfctl -s rules | egrep -i ppp
match out on pppoe0 inet proto udp all nat-to (pppoe0) round-robin
match out on pppoe0 inet proto tcp all nat-to (pppoe0) round-robin
match out on pppoe0 inet proto icmp all nat-to (pppoe0) round-robin
pass out on pppoe0 inet proto udp from 256.256.256.256 to any
pass out on pppoe0 inet proto tcp from 256.256.256.256 to any flags S/SA
pass out on pppoe0 inet proto icmp from 256.256.256.256 to any
pass out on pppoe0 inet proto udp from <LOCAL_NETS> to any
pass out on pppoe0 inet proto tcp from <LOCAL_NETS> to any flags S/SA
pass out on pppoe0 inet proto icmp from <LOCAL_NETS> to any
pass in on pppoe0 inet proto tcp from ! <INET_BOGONS> to 256.256.256.256 port = 
8080 keep state (source-track rule, max-src-conn 10, max-src-conn-rate 10/5, 
overload <BRUTEFORCE> flush global, src.track 5) rdr-to 1.2.3.4
block drop in on pppoe0 inet from no-route to any
block drop in on pppoe0 inet from urpf-failed to any

root@APU3 ~ $ rcctl start unbound
unbound(ok)
root@APU3 ~ $ WARNING: SPL NOT LOWERED ON SYSCALL 28 19 EXIT a042fe00 7
Stopped at      Xsyscall+0x1d5: movl    $0,%gs:0x4e0
ddb{1}> 
ddb{1}> trace
Xsyscall(c31fbeffa00,c3231757380,c32d41f9b1f,0,1c,c321b7e7000) at Xsyscall+0x1d5
(null)(c320aa35e00,c32b3118e00,c31fbeffa00,c320aa35e30,0,c3231757380) at 
0xc2ff21663a7
(null)(c31fbeffa00,c324dd88800,c324dd88800,c2ff216d5c0,c320aa35e00,a2c109991f039405)
 at 0xc2ff216c588
(null)(c31fbeffa00,c31fbeffa00,c324dd88850,c324dd88800,c324dd88800,1781f039405) 
at 0xc2ff216c398
(null)(c32b3118e00,c32a3be8ca0,a2c109991f039405,17800000000,c32a3be8ca0,10) at 
0xc2ff216dcdf
(null)(10,c32b0d06398,0,c32b0d06080,c32b0d08558,a2c109991f039405) at 
0xc2ff216e0cf
(null)(10,c32b0d078b8,c32b0d06298,c32b0d06080,0,801000000000) at 0xc2ff2110954
(null)(c32b0d06080,1,c32b0d06080,c32b0d06298,1,a2c109991f039405) at 
0xc2ff217189f
(null)(c32b0d06030,c32b0d06080,0,c3287fc5200,4,a2c109991f039405) at 
0xc2ff216f8d2
(null)(100,1,73d4,7f7ffffc3890,1,c3287fc5218) at 0xc2ff2135cbc
(null)(0,7f7ffffc3890,c325bdfb0e0,7f7ffffc3a08,c325bdfb000,a2c109991f039405) at 
0xc2ff21355a0
(null)(3,7f7ffffc3a10,c3299506c00,0,c324ad77a00,a2c109991f039405) at 
0xc2ff210fd14
(null)(c324ad74110,c32c727d048,c3248f5bd60,a2c109991f039405,c32c727d040,9bcfdc32b0015bc4)
 at 0xc2ff2166ba6
(null)(c321e347000,1,e861,0,c2ff2281214,9bcfdc32b0015bc4) at 0xc32c70748d5
(null)(c2ff2281214,c3248f5cf80,c2ff2166211,7f7ffffc3c10,c321e347000,1) at 
0xc2ff2166211
(null)(c321e347000,7f7ffffc3e3f,0,c3299506800,1,c324ad3b000) at 0xc2ff21046f8
(null)(c320d512000,3,0,7f7ffffc3d30,7f7ffffc3d38,a2c109991f039405) at 
0xc2ff210ddd3
(null)(0,0,0,c2ff21010d0,c2ff2101124,7f7ffffc3d20) at 0xc2ff2101124
end trace frame: 0x0, count: -18
ddb{1}> 
ddb{1}> show all procs /n
   PID     TID   PPID    UID  S       FLAGS  WAIT          COMMAND
 60855  137480  69955      0  3    0x100083  nanosleep     sleep
* 7693  453850      1     53  7        0x10                unbound
 69955   14566      1      0  3    0x100089  pause         sh
 33333  331599  78678   1000  3    0x100083  ttyin         ksh
 78678  338753  41833   1000  3        0x90  select        sshd
 41833   39252  40240      0  3        0x92  poll          sshd
 32608  393924      1      0  3    0x100083  ttyin         ksh
  1499  206189      1      0  3    0x100098  poll          cron
 45863  335368      1      0  3        0x80  nanosleep     collectd
 45863  241788      1      0  3   0x4000080  fsleep        collectd
 45863  247444      1      0  3   0x4000080  fsleep        collectd
 45863   52264      1      0  3   0x4000080  fsleep        collectd
 45863  482143      1      0  3   0x4000080  fsleep        collectd
 45863  190426      1      0  3   0x4000080  fsleep        collectd
 45863   76525      1      0  3   0x4000080  fsleep        collectd
 45863  476219      1      0  3   0x4000080  fsleep        collectd
 45863  343934      1      0  3   0x4000080  fsleep        collectd
 45863  195954      1      0  3   0x4000080  fsleep        collectd
 45863  333794      1      0  3   0x4000080  fsleep        collectd
 68054  355831      1    577  3        0x90  poll          openvpn
 85120  396287   7944     95  3    0x100092  kqread        smtpd
 76111  192394   7944    103  3    0x100092  kqread        smtpd
 99511  404639   7944     95  3    0x100092  kqread        smtpd
 25702  463676   7944     95  3    0x100092  kqread        smtpd
 83929    6587   7944     95  3    0x100092  kqread        smtpd
 65544  515369   7944     95  3    0x100092  kqread        smtpd
  7944  242004      1      0  3    0x100080  kqread        smtpd
 46250   71230      1     77  3    0x100090  poll          dhcpd
 40240  275373      1      0  3        0x80  select        sshd
 93502  387522  40730     83  3    0x100092  poll          ntpd
 40730   88004   8417     83  3    0x100092  poll          ntpd
  8417  311120      1      0  3    0x100080  poll          ntpd
 81760  424335  97650     74  3    0x100090  bpf           pflogd
 97650  324727      1      0  3        0x80  netio         pflogd
 99708  516374  94949     73  7    0x100090                syslogd
 94949  483041      1      0  3    0x100082  netio         syslogd
 39715  141848  25185    115  3    0x100092  kqread        slaacd
 69857   38925  25185    115  3    0x100092  kqread        slaacd
 25185    8549      1      0  3        0x80  kqread        slaacd
 72455  330353      0      0  3     0x14200  pgzero        zerothread
  5416   43026      0      0  3     0x14200  aiodoned      aiodoned
 16092   48096      0      0  3     0x14200  syncer        update
 66474  145955      0      0  3     0x14200  cleaner       cleaner
 61609  510514      0      0  3     0x14200  reaper        reaper
 92080  239404      0      0  3     0x14200  pgdaemon      pagedaemon
 27031  232921      0      0  3     0x14200  bored         crynlk
  8655  193834      0      0  3     0x14200  bored         crypto
 78189   36557      0      0  3     0x14200  pftm          pfpurge
 10281  493463      0      0  3     0x14200  bored         sensors
 23749  435096      0      0  3     0x14200  mmctsk        sdmmc0
   319  229128      0      0  3     0x14200  usbtsk        usbtask
 92006  310596      0      0  3     0x14200  usbatsk       usbatsk
 91388  419810      0      0  3  0x40014200  acpi0         acpi0
 13027  445825      0      0  7  0x40014200                idle3
 86346  324240      0      0  3  0x40014200                idle2
 33377  473579      0      0  3  0x40014200                idle1
 86612  372417      0      0  3     0x14200  bored         softnet
 91674   66300      0      0  3     0x14200  bored         systqmp
 95212  272582      0      0  3     0x14200  bored         systq
 56972  130113      0      0  3  0x40014200  bored         softclock
 58764  136829      0      0  7  0x40014200                idle0
 81273  324028      0      0  3     0x14200  bored         sbar
     1  305559      0      0  3        0x82  wait          init
     0       0     -1      0  3     0x10200  scheduler     swapper
ddb{1}>
ddb{1}> show all procs /o
    TID    PID    UID     PRFLAGS     PFLAGS  CPU  COMMAND
*453850   7693     53        0x10          0    1  unbound
 516374  99708     73    0x100010       0x80    2  syslogd
ddb{1}>
ddb{1}> boot reboot
panic: kernel diagnostic assertion "_kernel_lock_held()" failed: file 
"/usr/src/sys/net/rtsock.c", line 374
Starting stack trace...
panic(0,ffffff00df77f900,ffff800022250e50,ffff8000000bd000,ffffff0009828018,ffff800022250ad0)
 at panic+0x11b
__assert(ffffffff810c4da4,ffff800022250b60,0,ffffff00df77f900,ffff800022250e50,ffff8000000bd000)
 at __assert+0x24
rtm_report(ffffffff81a9b560,ffff800022250bd8,c31fbeffa00,ffff800022250e50,ffff8000000bd000,0)
 at rtm_report
if_down(ffff8000000bd000,0,ffffffff812f0d90,ffff800022250bc0,ffffffff81a9b560,ffff800022250bd8)
 at if_down+0x90
if_downall(ffffffff81ac7800,4804,c7218b6358b30eee,ffffffff81ac7800,ffff800022250e50,ffff800022250c78)
 at if_downall+0x51
boot(4804,0,ffffffff8105b926,ffff800022250c30,ffffffff81ac7800,4804) at 
boot+0x76
reboot(0,1,ffffffff812620bb,ffff800022250c50,4804,0) at reboot+0x4b
db_boot_reboot_cmd(ffffffff812d262e,ffff800022250c60,0,1,ffffffff812620bb,ffff800022250c50)
 at db_boot_reboot_cmd+0xe
db_command(1,0,0,c7218b6358b30eee,ffffffff812c22ea,ffff800022250d10) at 
db_command+0x28d
db_command_loop(0,c7218b6358b30eee,ffffffff812d2971,1,0,c31fbeffa00) at 
db_command_loop+0x86
db_trap(7,c7218b6358b30eee,813b6725,ffff800022250db0,ffffffff816d2734,ffff800022250db0)
 at db_trap+0x134
db_ktrap(ffff800022115418,ffff800022250e50,ffff80002224c000,1,ffffffff813de3e4,ffff800022250de0)
 at db_ktrap+0xe4
trap() at trap+0x3f4
--- trap (number 1) ---
end of kernel
end trace frame: 0x7f7ffffc2e80, count: 244
Xsyscall+0x1d5:
End of stack trace.
syncing disks... 

Reply via email to