Just for the archives, this turned out to be a problem with updating the ezjail 
basejail directory.  I had run ezjail-admin update -i, but for some reason it 
did not install the new libc.so.7 while it did install pretty much everything 
else.  Moving the old basejail out of the way and installing a new basejail 
from scratch solved the problem.  Its not clear why ezjail's cpio command 
failed to update the libc.so.7 file in the first place.

Sorry for the noise.

- Ben

On Sep 5, 2011, at 7:17 PM, Ben Kelly wrote:

> Hello all,
> 
> I upgraded my server today to a recent HEAD from its old sources from about 
> October 2010.  After the upgrade I ran into an unusual problem.  I've worked 
> around the issue for now, but I was wondering if anyone could help me solve 
> it correctly.
> 
> The problem is that all PAM related operations fail inside jails.  Initially 
> I was getting this error in /var/log/messages:
> 
> passwd: in openpam_load_module(): no pam_unix.so found
> 
> That file was clearly there, however, so I dug into PAM and enabled some 
> debug in pam_dynamic.c.  This got me the following message:
> 
> openpam_dynamic(): /usr/lib/pam_unix.so: /lib/libutil.so.9: Undefined symbol 
> "setloginclass"
> 
> This is a syscall added to the system in March, 2011.  The link process works 
> fine normally, but fails in any jail.  I went as far as turning on rtld debug 
> to verify it was giving up on libutil about half way through when it could 
> not resolve the symbol.  I verified that libc.so.7 was the same both inside 
> and outside the jail.  The setloginclass symbol was defined as a WEAK 
> reference.
> 
> Looking through past e-mail I noticed trasz@ said he was going to explicitly 
> put in code to support setloginclass from root in a jail.  I think I see this 
> code in the prison privilege checking as well.  Its just not clear to me why 
> its not linking.
> 
> To work around the issue I hacked setloginclass out of libutil for now.  This 
> is clearly not ideal as I'm not sure when and where that will blow up on me.  
> It did let me log back into my e-mail, however.
> 
> For reference:
> 
> FreeBSD ianto.in.wanderview.com 9.0-BETA2 FreeBSD 9.0-BETA2 #1 r278M: Mon Sep 
>  5 18:54:58 UTC 2011     
> r...@ianto.in.wanderview.com:/usr/obj/usr/src/sys/SERVER  i386
> 
> The system is using zfs, nullfs, and ezjail to manage the jails.  I did 
> upgrade my zfs pools to the latest version at this same time, but so far I 
> can't tie that to this problem.
> 
> Does anyone know why a jail would prevent rtld from linking in a particular 
> syscall?  Any help or advice is greatly appreciated.
> 
> Thank you.
> 
> Ben

_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to