From nobody@FreeBSD.org  Sat Dec 12 02:02:02 2009
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 68DF61065676
	for <freebsd-gnats-submit@FreeBSD.org>; Sat, 12 Dec 2009 02:02:02 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id 3E2FC8FC08
	for <freebsd-gnats-submit@FreeBSD.org>; Sat, 12 Dec 2009 02:02:02 +0000 (UTC)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.3/8.14.3) with ESMTP id nBC221Nv089575
	for <freebsd-gnats-submit@FreeBSD.org>; Sat, 12 Dec 2009 02:02:01 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.3/8.14.3/Submit) id nBC221gT089574;
	Sat, 12 Dec 2009 02:02:01 GMT
	(envelope-from nobody)
Message-Id: <200912120202.nBC221gT089574@www.freebsd.org>
Date: Sat, 12 Dec 2009 02:02:01 GMT
From: "Thomas E. Spanjaard" <tgen@deepbone.net>
To: freebsd-gnats-submit@FreeBSD.org
Subject: login(1) or PAM broken after -CURRENT upgrade
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         141390
>Category:       kern
>Synopsis:       login(1) or PAM broken after -CURRENT upgrade
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    ed
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Dec 12 02:10:03 UTC 2009
>Closed-Date:    Sat Dec 12 07:19:24 UTC 2009
>Last-Modified:  Sat Dec 12 07:19:24 UTC 2009
>Originator:     Thomas E. Spanjaard
>Release:        9.0-CURRENT
>Organization:
>Environment:
FreeBSD ara.ssr.netphreax.net 9.0-CURRENT FreeBSD 9.0-CURRENT #0 r200414: Fri Dec 11 20:02:44 UTC 2009     tgen@ara.ssr.netphreax.net:/usr/obj/usr/home/tgen/Work/FreeBSD-HEAD/sys/ARA  amd64

>Description:
login(1) doesn't work anymore after I updated my system (late October 9.0-CURRENT) as per the procedure outlined in http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html . login(1) invariably segfaults if you enter the right credentials, making logins on the console impossible. SSH still works, which is how I was able to get the following information:

Program received signal SIGSEGV, Segmentation fault.
0x0000000800a55d08 in strncpy () from /lib/libc.so.7
(gdb) bt
#0  0x0000000800a55d08 in strncpy () from /lib/libc.so.7
#1  0x0000000801a44b0e in ulog_login () from /lib/libulog.so.0
#2  0x0000000801941d66 in pam_sm_open_session () from /usr/lib/pam_lastlog.so.5
#3  0x000000080076159a in openpam_dispatch () from /usr/lib/libpam.so.5
#4  0x0000000000403574 in main (argc=0, argv=0x7fffffffeb08)
    at /usr/home/tgen/Work/FreeBSD-HEAD/usr.bin/login/login.c:525
(gdb) list 525
520			pam_syslog("pam_setcred()");
521			bail(NO_SLEEP_EXIT, 1);
522		}
523		pam_cred_established = 1;
524	
525		pam_err = pam_open_session(pamh, pam_silent);
526		if (pam_err != PAM_SUCCESS) {
527			pam_syslog("pam_open_session()");
528			bail(NO_SLEEP_EXIT, 1);
529		}


Smells like a null pointer dereference, but where and why I have no idea. As SSH logins work, and I assume that uses PAM as well, the problem must be elsewhere. Mergemaster was tedious, as it complained about all sorts of files in /etc having CVS Ids instead of SVN ones, including /etc/login.*. I did run a cap_mkdb though, so that shouldn't be the problem.
>How-To-Repeat:
Ostensibly, updating a late October 9.0-CURRENT system to HEAD. After a reboot, console logins shouldn't work anymore (well, they should, but don't... you get what I mean ;)).
>Fix:


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->ed 
Responsible-Changed-By: linimon 
Responsible-Changed-When: Sat Dec 12 04:41:26 UTC 2009 
Responsible-Changed-Why:  
Ed, can you take a look at this? 

http://www.freebsd.org/cgi/query-pr.cgi?pr=141390 
State-Changed-From-To: open->closed 
State-Changed-By: ed 
State-Changed-When: Sat Dec 12 07:19:22 UTC 2009 
State-Changed-Why:  
My bad! I fixed this the other day, so building the latest libulog 
should fix this. Thanks for reporting! 

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