Date: Mon, 24 Jun 2002 13:18:03 -0700 (PDT) From: Greg Quinlan <gwq_uk@yahoo.com> To: freebsd-gnats-submit@FreeBSD.org Subject: i386/39802: iBCS2 emulation fork process core dumps Message-ID: <200206242018.g5OKI35o016438@www.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 39802 >Category: i386 >Synopsis: iBCS2 emulation fork process core dumps >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Jun 24 13:20:04 PDT 2002 >Closed-Date: >Last-Modified: >Originator: Greg Quinlan >Release: 4.6-Stable >Organization: >Environment: 4.6-Stable >Description: Using iBCS2 emulation ONLY with IBCS2 Binaries ONLY; Any iBCS2 (COFF/SCO) binary which forks a process (child process) will get the next PID (ranging from X to 99999, see /sys/sys/proc.h), but most iBCS2 binaries have an upper PID limit of around 32700 (short int). So after the PID count exceeds this value, the program will crash (core dump). It may give an error of 'can't fork process' or similar. >How-To-Repeat: The problem will not reproduce itself until the current PID reaches around 32700 which may not happen for some time after a boot or reboot. Wait for the PID number to exceed 'short int', and for an iBCS2 program to fork a child process. >Fix: - Modify the /sys/sys/proc.h change PID_MAX from 99999 to a safe value of 32759, and also change NO_PID from 100000 to a safe value of 32760. - Remake the kernel & reboot. This should be included as a WARNING in the documentation for IBCS2 emulation. Or modified automatically if the option for iBCS2 is included in the /etc/rc.conf file. >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200206242018.g5OKI35o016438>