Hi!
Couple of days ago i tried to find out how 5.9-beta behaves as Xen
guest under network load using 20160119 snapshot
OpenBSD 5.9-beta (GENERIC.MP) #1851: Mon Jan 18 16:57:00 MST 2016
[email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
and found that nc client side works like this
server# nc -l 1234 > /dev/null
client# dd if=/dev/zero bs=1M count=100 | nc 192.168.10.128 1234
100+0 records in
100+0 records out
104857600 bytes transferred in 2.160 secs (48534355 bytes/sec)
but sending more data crashes like this
client# dd if=/dev/zero bs=1M count=10000 | nc 192.168.10.128 1234
panic: xnf0: save vs spell: 215
Stopped at Debugger+0x9: leave
TID PID UID PRFLAGS PFLAGS CPU COMMAND
*20690 20690 0 0x100003 0 0 nc
Debugger() at Debugger+0x9
panic() at panic+0xfe
xnf_encap() at xnf_encap+0x1a9
xnf_start() at xnf_start+0x7f
ifq_serialize() at ifq_serialize+0xd9
if_enqueue() at if_enqueue+0x71
ether_output() at ether_output+0x166
ip_output() at ip_output+0x6d3
tcp_output() at tcp_output+0x87e
tcp_usrreq() at tcp_usrreq+0x3fc
sosend() at sosend+0x3d8
dofilewritev() at dofilewritev+0x205
sys_write() at sys_write+0x89
syscall() at syscall+0x368
--- syscall (number 4) ---
end of kernel
end trace frame: 0x7f7ffffdd9c0, count: 1
0x647c3d4379a:
http://www.openbsd.org/ddb.html describes the minimum info required in
bug
reports. Insufficient info makes it difficult to find and fix bugs.
ddb{0}> trace
Debugger() at Debugger+0x9
panic() at panic+0xfe
xnf_encap() at xnf_encap+0x1a9
xnf_start() at xnf_start+0x7f
ifq_serialize() at ifq_serialize+0xd9
if_enqueue() at if_enqueue+0x71
ether_output() at ether_output+0x166
ip_output() at ip_output+0x6d3
tcp_output() at tcp_output+0x87e
tcp_usrreq() at tcp_usrreq+0x3fc
sosend() at sosend+0x3d8
dofilewritev() at dofilewritev+0x205
sys_write() at sys_write+0x89
syscall() at syscall+0x368
--- syscall (number 4) ---
end of kernel
end trace frame: 0x7f7ffffdd9c0, count: -14
0x647c3d4379a:
ddb{0}> ps
TID PPID PGRP UID S FLAGS WAIT COMMAND
*20690 1161 19848 0 7 0x100003 nc
19848 1161 19848 0 3 0x100083 pipewr dd
1161 1 1161 0 3 0x10008b pause ksh
10194 1 10194 0 3 0x100083 ttyin getty
14647 1 14647 0 3 0x100083 ttyin getty
15254 1 15254 0 3 0x100083 ttyin getty
19020 1 19020 0 3 0x100083 ttyin getty
22018 1 22018 0 3 0x100083 ttyin getty
23809 1 23809 0 3 0x100098 poll cron
12789 1 12789 110 3 0x100090 poll sndiod
24171 1 24171 99 3 0x100090 poll sndiod
12516 10365 10365 95 3 0x100090 kqread smtpd
14650 10365 10365 95 3 0x100090 kqread smtpd
22059 10365 10365 95 3 0x100090 kqread smtpd
21283 10365 10365 95 3 0x100090 kqread smtpd
9188 10365 10365 95 3 0x100090 kqread smtpd
10482 10365 10365 103 3 0x100090 kqread smtpd
10365 1 10365 0 3 0x100080 kqread smtpd
18508 1 18508 0 3 0x80 select sshd
30336 17193 24098 83 3 0x100090 poll ntpd
17193 24098 24098 83 3 0x100090 poll ntpd
24098 1 24098 0 3 0x100080 poll ntpd
1012 25162 25162 74 3 0x100090 bpf pflogd
Before sending in this report i checked today with
install59.iso-20160129 and it does not crash that way. Instead it gives
nice 50 MByte/s
client# dd if=/dev/zero bs=1M count=10000 | nc 192.168.10.215 1234
10000+0 records in
10000+0 records out
10485760000 bytes transferred in 189.840 secs (55234480 bytes/sec)
OpenBSD 5.9-beta (GENERIC.MP) #1865: Thu Jan 28 20:18:15 MST 2016
[email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
So, it seems that this is fixed now one way or another and i am sorry
for the noice but i thought to sent it in anyway.
Best regards,
Imre