Hi! Seems to work. I haven't triggered the assert anymore. Thanks.
Rivo On 19/06/2017, 11:23, "Martin Pieuchot" <[email protected]> wrote: Hi, On 15/06/17(Thu) 06:18, Rivo Nurges wrote: > >Synopsis: netlock locking against myself > >Environment: > System : OpenBSD 6.1 > Details : OpenBSD 6.1-current (GENERIC) #4: Mon Jun 12 12:53:00 MDT 2017 > [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC > > Architecture: OpenBSD.amd64 > Machine : amd64 > >Description: > 2 identical machines have crashed with excatly the same traceback: > current: Thanks for the report, diff below should fix the problem. Could you confirm? > 0xffff800021370d20: > https://www.openbsd.org/ddb.html describes the minimum info required in bug > reports. Insufficient info makes it difficult to find and fix bugs. > ddb> trace > db_enter(ffffffff81808f7e,ffff800021370818,ffffffff81797348,10,ffff8000213707f8 > ,282) at db_enter+0x9 > panic(ffffffff81797348,ffffff007e513a00,ffffffff81966fd0,ffffffff81797400,ffff8 > 000ffffe904,2) at panic+0x102 > _rw_enter(ffffffff81966fd0,1,0,0,ffffffff819c4040,ffffffff8165c570) at _rw_ente > r+0x1e0 > solock(ffffff0056c61350,4,ffff800021370a00,ffff800021370a00,ffffffff812a3381,ff > ff8000213709e8) at solock+0x31 > soidle(ffffff0056c61350,4,ffffffff8165c570,ffffff0056c61350,651bd208e90047,4) a > t soidle+0x1c > timeout_run(ffffff00581e2cc0,ffffff00568cd5b8,ffffffff819c4058,0,ffffff007b336a > c8,80) at timeout_run+0x47 > softclock(0,4,ffff800000062b00,ffff800000062b00,619850,ffff8000ffffe900) at sof > tclock+0x146 > softintr_dispatch(0,ffffffff8109033f,0,ffffffff811c6b9c,0,0) at softintr_dispat > ch+0x7f > Xsoftclock() at Xsoftclock+0x1f Index: kern/uipc_socket.c =================================================================== RCS file: /cvs/src/sys/kern/uipc_socket.c,v retrieving revision 1.186 diff -u -p -r1.186 uipc_socket.c --- kern/uipc_socket.c 31 May 2017 08:55:10 -0000 1.186 +++ kern/uipc_socket.c 19 Jun 2017 08:22:19 -0000 @@ -1157,7 +1157,7 @@ sosplice(struct socket *so, int fd, off_ so->so_idletv = *tv; else timerclear(&so->so_idletv); - timeout_set(&so->so_idleto, soidle, so); + timeout_set_proc(&so->so_idleto, soidle, so); task_set(&so->so_splicetask, sotask, so); /*
