From ventrex@under.suspicion.org  Mon Nov 30 08:18:46 1998
Received: from under.suspicion.org (UNDER.SUSPICION.ORG [216.27.37.14])
          by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id IAA11822
          for <FreeBSD-gnats-submit@freebsd.org>; Mon, 30 Nov 1998 08:18:45 -0800 (PST)
          (envelope-from ventrex@under.suspicion.org)
Received: (from root@localhost)
	by under.suspicion.org (8.9.1/8.9.1) id LAA15831;
	Mon, 30 Nov 1998 11:18:05 -0500 (EST)
	(envelope-from ventrex)
Message-Id: <199811301618.LAA15831@under.suspicion.org>
Date: Mon, 30 Nov 1998 11:18:05 -0500 (EST)
From: thomas@stromberg.org
Reply-To: thomas@stromberg.org
To: FreeBSD-gnats-submit@freebsd.org
Subject: newsyslog.c problem. 
X-Send-Pr-Version: 3.2

>Number:         8906
>Category:       bin
>Synopsis:       newsyslog errors out if PID is >30000
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Nov 30 08:20:01 PST 1998
>Closed-Date:    Thu Dec 24 20:07:10 PST 1998
>Last-Modified:  Thu Dec 24 20:09:23 PST 1998
>Originator:     Thomas Stromberg
>Release:        FreeBSD 3.0-CURRENT i386
>Organization:
Research Triangle Consultants, Inc.
>Environment:
	FreeBSD under.suspicion.org 3.0-CURRENT FreeBSD 3.0-CURRENT #0: 
	Tue Nov 24 10:04:39 EST 1998
	ventrex@under.suspicion.org:/vol/1/usr/src/sys/compile/blowntoad  i386

>Description:
	If syslogd is ever restarted and gets a PID with a PID >30000,
	newsyslog errors out with "preposterous process number"

	This comes from:
	#define MAX_PID         30000   /* was 65534, see /usr/include/sys/proc.h */

        if (pid < MIN_PID || pid > MAX_PID) {
        	warnx("preposterous process number: %d", (int)pid);
                pid = 0;
        }


>How-To-Repeat:

	Restart syslogd in a >30000 PID enviroment. This happened to me
	several times during the "dying daemons" bug. 


>Fix:
	
	Use this definition from /usr/include/sys/proc.h
	 #define PID_MAX         99999

	instead of #defining it inside of newsyslog.c ... -or- if your going
	to bother with defining it in newsyslog.c, at least boost it to 99999.
>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed  
State-Changed-By: cwt 
State-Changed-When: Thu Dec 24 20:07:10 PST 1998 
State-Changed-Why:  
Fixed by peter in rev. 1.21 of newsyslog.c. 
>Unformatted:
