--- kern_kse.c~ Tue Aug 10 03:16:17 2004 +++ kern_kse.c Fri Aug 13 22:23:25 2004 @@ -995,7 +995,9 @@ kg = td->td_ksegrp; if (kg->kg_upquantum && ticks >= kg->kg_nextupcall) { mtx_lock_spin(&sched_lock); - td->td_upcall->ku_flags |= KUF_DOUPCALL; + /* fuword can block, check again */ + if (td->td_upcall) + td->td_upcall->ku_flags |= KUF_DOUPCALL; mtx_unlock_spin(&sched_lock); } return (0);