Subject: kern/24750: panic: psignal: Invalid process state 1. during fork handling SIGIO
To: None <gnats-bugs@gnats.NetBSD.org>
From: Frank Kardel <kardel@pip.acrys.com>
List: netbsd-bugs
Date: 03/11/2004 23:18:42
>Number:         24750
>Category:       kern
>Synopsis:       panic: psignal: Invalid process state 1. during fork handling SIGIO
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Mar 11 22:19:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     Frank Kardel
>Release:        NetBSD 1.6ZK current-20040311-204106
>Organization:
	
>Environment:
	
	
System: NetBSD pip 1.6ZK NetBSD 1.6ZK (SYSPIP_ISDN) #1: Thu Mar 11 22:42:48 MET 2004 kardel@pip:/fs/IC35L180AVV207-1-n/IC35L120AVV207-0-e/src/NetBSD/netbsd/sys/arch/i386/compile/obj.i386/SYSPIP_ISDN i386
Architecture: i386
Machine: i386
>Description:
	During boot (when running rc) ntpd has a reference clock configured (generating SIGIOs) and forks to
	have a separate process doing name server lookups. When a SIGIO occurs during fork() the kernel
	panics with "psignal: Invalid process state 1.".
	Sorry no stack trace as the msgbuf was overwritten during startup and dumping failed.
	The stack trace show ntpd being in fork() and serial line io leading to processing of
	SIGIO.
	The problem exists for at least two weeks.
>How-To-Repeat:
	Configure a refclock for ntpd and be unlucky during start up.
>Fix:
	check signal handling code wrt to states and fork() condition.
	The comment above the panic() is /* else what? */ maybe this
	looks like a race condition to be investigated,
>Release-Note:
>Audit-Trail:
>Unformatted: