Re: broken linuxulator in -current as of Jan 8 17:51:45 CET

From: Alexander Leidinger <Alexander_at_Leidinger.net>
Date: Mon, 8 Jan 2007 21:58:21 +0100
Quoting Divacky Roman <xdivac02_at_stud.fit.vutbr.cz> (Mon, 8 Jan 2007 21:15:59 +0100):

> > > I dont have anything like that set... it looks like a bug in kernel/linux_base
> > > because the trace looks like:
> > > 
> > > Jan  8 18:57:59 witten kernel: linux(1582): open(/lib/tls/librt.so.1, 0x0, 0x0)
> > > Jan  8 18:57:59 witten kernel: linux(1582): open returns error 2
> > 
> > % errno 2
> > ENOENT          2               /* No such file or directory */
> > 
> > Right, does not exist.
> > 
> > > Jan  8 18:57:59 witten kernel: linux(1582): open(/compat/linux/lib/librt.so.1, 0x0, 0x0)
> > > Jan  8 18:57:59 witten kernel: linux(1582): open returns error 0
> > 
> > This is a link to librt-2.3.6.so.
> > 
> > > Jan  8 18:57:59 witten kernel: linux(1582): open(/usr/lib/tls/librt.so.1, 0x0, 0x0)
> > > Jan  8 18:57:59 witten kernel: linux(1582): open returns error 2
> > 
> > Right, does not exist.
> > 
> > > Jan  8 18:57:59 witten kernel: linux(1582): open(/usr/lib/librt.so.1, 0x0, 0x0)
> > > Jan  8 18:57:59 witten kernel: linux(1582): open returns error 0
> > 
> > Does not exist in /comapt/linux (linux one) but in / (FreeBSD one).
>  
> 
> 1) the open trace shows REAL path ie. after possible prefixing with /compat/linux
> 2) the problem is not in existance/nonexistance of the libs, the problem is
> that when it opens the right library it doesnt use it and keep searching!

Yes, see my "the question is" below (quoted).

> > > Jan  8 18:57:59 witten kernel: linux(1582): exit_group(127)
> > > 
> > > ie. it opens the right library but IGNORES it and the iterates through the rest
> > > and then stops on fbsd library saying that its not compatible...
> > 
> > This may not be a _new_ bug in the kernel. We know that we have
> > problems when a FreeBSD lib has the same name and version as the linux
> > one. It may be the case that the introduction of a new linux syscall
> > changes the behavior of some linux userland code. glibc can do this
> > based upon the osversion.
> 
> I dont claim to know whats going on but it worked "yesterday" (lets say
> 20-40 hours ago) and suddenly it doesnt work and NO MAJOR change happened
> in the linuxulator in the time. Those locking changes cannot affect this
> behaviour (in fact I tried to backout them).

For the benefit of those not seeing the ICQ discussion: I have a plain
-current as of Dec 28 around, and it shows the same behavior.

> > The question is: why does it try to load the FreeBSD one, when open
> > does not error out with the linux one. This is not something which
> > happens in the kernel, the linux syscalls seem to work just fine.
> 
> I dont think we (you :)) commited anything bad to linuxulator but
> we definitely DIDNT change the userland part. so it must be in the
> kernel.

I'm not convinced that it is in the kernel. It may be in the kernel, or
a sideeffect of a kernel change (addition of a syscal resulting in
different userland behavior).

Bye,
Alexander.

-- 
It was OK before you touched it.
http://www.Leidinger.net  Alexander _at_ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org     netchild _at_ FreeBSD.org  : PGP ID = 72077137
Received on Mon Jan 08 2007 - 19:58:33 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:04 UTC