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

From: Divacky Roman <xdivac02_at_stud.fit.vutbr.cz>
Date: 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!
 
> > 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).

> 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 hope someone finds answer for this. I am busy for next week ;(

roman
Received on Mon Jan 08 2007 - 19:16:02 UTC

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