broken linuxulator in -current as of Jan 8 17:51:45 CET
Alexander Leidinger
Alexander at Leidinger.net
Mon Jan 8 20:58:33 UTC 2007
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 @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID = 72077137
More information about the freebsd-current
mailing list