From netch@grizzly.carrier.kiev.ua  Thu Dec 18 06:29:33 2003
Return-Path: <netch@grizzly.carrier.kiev.ua>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 2438B16A4CE
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 18 Dec 2003 06:29:33 -0800 (PST)
Received: from grizzly.carrier.kiev.ua (grizzly.carrier.kiev.ua [193.193.193.138])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 4813E43D4C
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 18 Dec 2003 06:29:31 -0800 (PST)
	(envelope-from netch@grizzly.carrier.kiev.ua)
Received: from grizzly.carrier.kiev.ua (localhost [127.0.0.1])
	by grizzly.carrier.kiev.ua (8.12.10/8.12.10) with ESMTP id hBIETSdB096208;
	Thu, 18 Dec 2003 16:29:28 +0200 (EET)
	(envelope-from netch@grizzly.carrier.kiev.ua)
Received: (from root@localhost)
	by grizzly.carrier.kiev.ua (8.12.10/8.12.10/Submit) id hBIESgfk096193;
	Thu, 18 Dec 2003 16:28:42 +0200 (EET)
	(envelope-from netch)
Message-Id: <200312181428.hBIESgfk096193@grizzly.carrier.kiev.ua>
Date: Thu, 18 Dec 2003 16:28:42 +0200 (EET)
From: Valentin Nechayev <netch@netch.kiev.ua>
Reply-To: Valentin Nechayev <netch@netch.kiev.ua>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: Erroneous "(core dumped)" in process death message
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         60367
>Category:       kern
>Synopsis:       Erroneous "(core dumped)" in process death message
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    rwatson
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Dec 18 06:30:15 PST 2003
>Closed-Date:    Mon Jan 03 12:01:56 GMT 2005
>Last-Modified:  Mon Jan 03 12:01:56 GMT 2005
>Originator:     Valentin Nechayev
>Release:        FreeBSD 5.2-RC-20031208 i386
>Organization:
private
>Environment:
FreeBSD 5.2-RC
FreeBSD 4.8-RELEASE

>Description:

On mortal signal, sigexit() in sys/kern/kern_sig.c calls coredump()
for some signals (with SA_CORE flag in property table) and marks exit status
with WCOREFLAG if it returned 0.
coredump() in the same source file returns 0 on successful core write,
and errno codes in most cases, but not when core dump is prohibited
by resource limit (p->p_rlimit[RLIMIT_CORE].rlim_cur), instead returning 0.
I think it is simply typo. As result, kernel says "process exited on signal
N (core dumped)" when no core was even supposed to be dumped.

>How-To-Repeat:

ulimit -Sc 0 (in sh/bash) and run something which deads on SIGSEGV.

>Fix:

For 5.2:

--- kern_sig.c.0	Mon Nov  3 14:09:06 2003
+++ kern_sig.c	Thu Dec 18 16:20:00 2003
@@ -2546,7 +2546,7 @@
 	limit = p->p_rlimit[RLIMIT_CORE].rlim_cur;
 	if (limit == 0) {
 		PROC_UNLOCK(p);
-		return 0;
+		return (ENOSPC);
 	}
 	PROC_UNLOCK(p);
 
For 4.8, the same patch is to be apply in some different context
(without PROC_UNLOCK).

I selected ENOSPC, but really error code doesn't matter while it is !=0.
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->rwatson 
Responsible-Changed-By: rwatson 
Responsible-Changed-When: Sat Jan 10 18:08:19 PST 2004 
Responsible-Changed-Why:  
I'll grab ownership of this one. 


http://www.freebsd.org/cgi/query-pr.cgi?pr=60367 
State-Changed-From-To: open->patched 
State-Changed-By: rwatson 
State-Changed-When: Sat Jan 10 18:26:35 PST 2004 
State-Changed-Why:  
Committed to 5.3-CURRENT as kern_sig.c:1.266; I went with EFBIG since 
it's the error number used in other places due to resource limits 
placing bounds on file allocation.  As you point out, it makes no 
difference as the actual value is lost.  I'll merge to RELENG_4 after 
a short waiting period.  Thanks for the patch! 


http://www.freebsd.org/cgi/query-pr.cgi?pr=60367 
State-Changed-From-To: patched->feedback 
State-Changed-By: rwatson 
State-Changed-When: Sat Jan 24 10:57:02 PST 2004 
State-Changed-Why:  
I've merged this patch to RELENG_4, and the result should appear in the 
next 4.x release.  I've left the PR open so you can let me know if it 
resolved the problem for you.  I'll close it in a couple of weeks if I 
don't hear anything. 


http://www.freebsd.org/cgi/query-pr.cgi?pr=60367 
State-Changed-From-To: feedback->closed 
State-Changed-By: rwatson 
State-Changed-When: Mon Jan 3 12:01:36 GMT 2005 
State-Changed-Why:  
Closed as bug is believed fixed; no further feedback from submitter. 


http://www.freebsd.org/cgi/query-pr.cgi?pr=60367 
>Unformatted:
