From owner-freebsd-standards@FreeBSD.ORG Mon Apr 13 11:07:02 2009 Return-Path: Delivered-To: freebsd-standards@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 141DD1065676 for ; Mon, 13 Apr 2009 11:07:02 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 009218FC12 for ; Mon, 13 Apr 2009 11:07:02 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n3DB71LJ085103 for ; Mon, 13 Apr 2009 11:07:01 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n3DB71b3085099 for freebsd-standards@FreeBSD.org; Mon, 13 Apr 2009 11:07:01 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 13 Apr 2009 11:07:01 GMT Message-Id: <200904131107.n3DB71b3085099@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: gnats set sender to owner-bugmaster@FreeBSD.org using -f From: FreeBSD bugmaster To: freebsd-standards@FreeBSD.org Cc: Subject: Current problem reports assigned to freebsd-standards@FreeBSD.org X-BeenThere: freebsd-standards@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Standards compliance List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Apr 2009 11:07:02 -0000 Note: to view an individual PR, use: http://www.freebsd.org/cgi/query-pr.cgi?pr=(number). The following is a listing of current problems submitted by FreeBSD users. These represent problem reports covering all versions including experimental development code and obsolete releases. S Tracker Resp. Description -------------------------------------------------------------------------------- o stand/133369 standards [patch] test(1) with 3 or 4 arguments o stand/130067 standards Wrong numeric limits in system headers? o stand/129554 standards lp(1) [patch] Implement -m and -t options o stand/129524 standards FreeBSD 7.0 isnt detecting my hardrives with raid5 o stand/128546 standards ls -p does not follow symlinks o bin/125855 standards sh(1) allows for multiline, non-escaped control struct o stand/124860 standards flockfile(3) doesn't work when the memory has been exh o stand/123688 standards POSIX standard changes in unistd.h and grp.h o stand/121921 standards [patch] Add leap second support to at(1), atrun(8) o stand/121568 standards [patch] ln(1): wrong "ln -s" behaviour o stand/120947 standards xsm ignores system.xsm and .xsmstartup o stand/119804 standards [locale] [patch] Invalid (long)date format in pl_PL.IS o stand/116826 standards [patch] sh support for POSIX character classes o stand/116477 standards rm(1): rm behaves unexpectedly when using -r and relat o bin/116413 standards incorrect getconf(1) handling of unsigned constants gi o stand/116081 standards make does not work with the directive sinclude p stand/107561 standards [libc] [patch] [request] Missing SUS function tcgetsid o stand/104743 standards [headers] [patch] Wrong values for _POSIX_ minimal lim o stand/100017 standards [Patch] Add fuser(1) functionality to fstat(1) o stand/96236 standards [patch] [posix] sed(1) incorrectly describes a functio o stand/96016 standards [headers] clock_getres et al should be in o stand/94729 standards [libc] fcntl() throws undocumented ENOTTY o kern/93705 standards [headers] [patch] ENODATA and EGREGIOUS (for glibc com o stand/92362 standards [headers] [patch] Missing SIGPOLL in kernel headers a stand/86484 standards [patch] mkfifo(1) uses wrong permissions o stand/83845 standards [libm] [patch] add log2() and log2f() support for libm o stand/82654 standards C99 long double math functions are missing o stand/81287 standards [patch] fingerd(8) might send a line not ending in CRL a stand/80293 standards sysconf() does not support well-defined unistd values o stand/79056 standards [feature request] [atch] regex(3) regression tests o stand/70813 standards [patch] ls(1) not Posix compliant o stand/66357 standards make POSIX conformance problem ('sh -e' & '+' command- s kern/64875 standards [libc] [patch] [request] add a system call: fdatasync( s stand/62858 standards malloc(0) not C99 compliant o stand/56476 standards cd9660 unicode support simple hack p stand/55112 standards glob.h, glob_t's gl_pathc should be "size_t", not "int o stand/54839 standards [pcvt] pcvt deficits o stand/54833 standards [pcvt] more pcvt deficits o stand/54410 standards one-true-awk not POSIX compliant (no extended REs) o stand/46119 standards Priority problems for SCHED_OTHER using pthreads o stand/44425 standards getcwd() succeeds even if current dir has perm 000. p stand/41576 standards POSIX compliance of ln(1) o stand/39256 standards snprintf/vsnprintf aren't POSIX-conformant for strings s stand/36076 standards Implementation of POSIX fuser command o kern/27835 standards [libc] execve() doesn't conform to execve(2) spec in s a docs/26003 standards getgroups(2) lists NGROUPS_MAX but not syslimits.h o stand/25777 standards [kernel] [patch] atime not updated on exec o bin/25542 standards sh(1) null char in quoted string s stand/24590 standards timezone function not compatible witn Single Unix Spec o bin/24390 standards ln(1) Replacing old dir-symlinks when using /bin/ln o stand/21519 standards sys/dir.h should be deprecated some more s bin/14925 standards getsubopt isn't poisonous enough 52 problems total. From owner-freebsd-standards@FreeBSD.ORG Thu Apr 16 12:42:16 2009 Return-Path: Delivered-To: freebsd-standards@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8D7851065825; Thu, 16 Apr 2009 12:42:16 +0000 (UTC) (envelope-from gavin@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 7574A8FC26; Thu, 16 Apr 2009 12:42:16 +0000 (UTC) (envelope-from gavin@FreeBSD.org) Received: from freefall.freebsd.org (gavin@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n3GCgGin063940; Thu, 16 Apr 2009 12:42:16 GMT (envelope-from gavin@freefall.freebsd.org) Received: (from gavin@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n3GCgG4u063936; Thu, 16 Apr 2009 12:42:16 GMT (envelope-from gavin) Date: Thu, 16 Apr 2009 12:42:16 GMT Message-Id: <200904161242.n3GCgG4u063936@freefall.freebsd.org> To: alan@pair.com, gavin@FreeBSD.org, freebsd-bugs@FreeBSD.org, freebsd-standards@FreeBSD.org From: gavin@FreeBSD.org Cc: Subject: Re: bin/108390: [libc] [patch] wait4() erroneously waits for all children when SIGCHLD is SIG_IGN [regression] X-BeenThere: freebsd-standards@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Standards compliance List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2009 12:42:21 -0000 Synopsis: [libc] [patch] wait4() erroneously waits for all children when SIGCHLD is SIG_IGN [regression] State-Changed-From-To: closed->open State-Changed-By: gavin State-Changed-When: Thu Apr 16 12:37:19 UTC 2009 State-Changed-Why: Reopen, there's some question about whether the bug reported here is indeed a bug: FreeBSD behaves differently to both Solaris 10 and Linux (Ubuntu 8.04) in how wait4() functions. Responsible-Changed-From-To: freebsd-bugs->freebsd-standards Responsible-Changed-By: gavin Responsible-Changed-When: Thu Apr 16 12:37:19 UTC 2009 Responsible-Changed-Why: Over to -standards. There is some debate as to what the correct behaviour is here, hopefully -standards will be able to provide an opinion. http://www.freebsd.org/cgi/query-pr.cgi?pr=108390 From owner-freebsd-standards@FreeBSD.ORG Thu Apr 16 12:50:03 2009 Return-Path: Delivered-To: freebsd-standards@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 51B161065702 for ; Thu, 16 Apr 2009 12:50:03 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 3CF398FC20 for ; Thu, 16 Apr 2009 12:50:03 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n3GCo3C5064226 for ; Thu, 16 Apr 2009 12:50:03 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n3GCo3YX064225; Thu, 16 Apr 2009 12:50:03 GMT (envelope-from gnats) Date: Thu, 16 Apr 2009 12:50:03 GMT Message-Id: <200904161250.n3GCo3YX064225@freefall.freebsd.org> To: freebsd-standards@FreeBSD.org From: Gavin Atkinson Cc: Subject: Re: standards/108390: [libc] [patch] wait4() erroneously waits for all children when SIGCHLD is SIG_IGN [regression] X-BeenThere: freebsd-standards@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Gavin Atkinson List-Id: Standards compliance List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2009 12:50:04 -0000 The following reply was made to PR standards/108390; it has been noted by GNATS. From: Gavin Atkinson To: bug-followup@FreeBSD.org Cc: Subject: Re: standards/108390: [libc] [patch] wait4() erroneously waits for all children when SIGCHLD is SIG_IGN [regression] Date: Thu, 16 Apr 2009 13:45:44 +0100 Results from supplied test script on Solaris 10: default SIGCHLD 1239885904 2692 P spawned running child 1239885904 2693 C1 Long child sleeping 1239885904 2692 P spawned short running child; waitpid 1239885904 2694 C2 short child: exiting immediately 1239885904 2692 P short child finished 1239885904 2692 P waiting for long running child 1239885914 2693 C1 Long exiting 1239885914 2692 P long child finished. End of test. IGNORE SIGCHLD 1239885914 2692 P spawned running child 1239885914 2695 C1 Long child sleeping 1239885914 2692 P spawned short running child; waitpid 1239885914 2696 C2 short child: exiting immediately 1239885914 2692 P short child finished 1239885914 2692 P waiting for long running child 1239885924 2695 C1 Long exiting 1239885924 2692 P long child finished. End of test. Results from Linux (Ubuntu 8.10): default SIGCHLD 1239885858 2057 P spawned running child 1239885858 2058 C1 Long child sleeping 1239885858 2059 C2 short child: exiting immediately 1239885858 2057 P spawned short running child; waitpid 1239885858 2057 P short child finished 1239885858 2057 P waiting for long running child 1239885868 2058 C1 Long exiting 1239885868 2057 P long child finished. End of test. IGNORE SIGCHLD 1239885868 2057 P spawned running child 1239885868 2060 C1 Long child sleeping 1239885868 2061 C2 short child: exiting immediately 1239885868 2057 P spawned short running child; waitpid 1239885868 2057 P short child finished 1239885868 2057 P waiting for long running child 1239885878 2060 C1 Long exiting 1239885878 2057 P long child finished. End of test. From owner-freebsd-standards@FreeBSD.ORG Thu Apr 16 22:30:03 2009 Return-Path: Delivered-To: freebsd-standards@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3BC3E106566C for ; Thu, 16 Apr 2009 22:30:03 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 291E08FC22 for ; Thu, 16 Apr 2009 22:30:03 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n3GMU2ur042696 for ; Thu, 16 Apr 2009 22:30:02 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n3GMU2lL042689; Thu, 16 Apr 2009 22:30:02 GMT (envelope-from gnats) Date: Thu, 16 Apr 2009 22:30:02 GMT Message-Id: <200904162230.n3GMU2lL042689@freefall.freebsd.org> To: freebsd-standards@FreeBSD.org From: Jilles Tjoelker Cc: Subject: Re: kern/27835: [libc] execve() doesn't conform to execve(2) spec in syscall manual X-BeenThere: freebsd-standards@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Jilles Tjoelker List-Id: Standards compliance List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2009 22:30:03 -0000 The following reply was made to PR kern/27835; it has been noted by GNATS. From: Jilles Tjoelker To: bug-followup@FreeBSD.org, jyliu@163.net Cc: Subject: Re: kern/27835: [libc] execve() doesn't conform to execve(2) spec in syscall manual Date: Fri, 17 Apr 2009 00:26:57 +0200 POSIX says that passing 0 arguments in execve() is allowed, but an application doing it is not strictly POSIX compliant, and that applications must handle being started with 0 arguments. The Solaris 10 man page says something similar. The test program fails with EFAULT on 7.x, but passing 0 arguments is still possible by changing the execve call to execve("/bin/sh", (char*[]){ NULL }, NULL) That change is good because a null pointer for argv yields undefined behaviour (like any function parameter outside the permitted domain). Another reason not to apply the patch to the kernel is that it uses EINVAL which POSIX already defines for a different purpose that seems useful to me: to indicate binaries with correct permissions and a valid file format that are not supported (e.g. wrong architecture). This situation currently results in ENOEXEC. Implementing the POSIX EINVAL could improve the 'Syntax error: "(" unexpected' message you get when trying to execute an ELF binary for the wrong architecture in sh; some other shells and the execlp(3) and execvp(3) libc functions also assume an executable is a shell script when they get ENOEXEC. -- Jilles Tjoelker