Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Sep 2006 07:36:16 +0200
From:      Alexander Leidinger <Alexander@Leidinger.net>
To:        Jung-uk Kim <jkim@FreeBSD.org>
Cc:        freebsd-emulation@FreeBSD.org, jhb@FreeBSD.org
Subject:   Re: linuxulator on -CURRENT
Message-ID:  <20060928073616.yyu76vcnc4g0sowc@webmail.leidinger.net>
In-Reply-To: <200609272020.35161.jkim@FreeBSD.org>
References:  <200609261733.48398.jkim@FreeBSD.org> <20060927103401.ml5fhn8cg0swc0go@webmail.leidinger.net> <200609272020.35161.jkim@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Quoting Jung-uk Kim <jkim@FreeBSD.org> (from Wed, 27 Sep 2006 20:20:32 -0400=
):

jhb@ CCed... we try to hunt down the bug which was introduced to amd64 =20
with the commits which removed the stackgap.

> On Wednesday 27 September 2006 04:34 am, Alexander Leidinger wrote:
>> Quoting Jung-uk Kim <jkim@FreeBSD.org> (from Tue, 26 Sep 2006  =20
>> 17:33:44 -0400):

>> Maybe instead of playing with gdb/ddb/printfs it may be also
>> possible to use the linux test project testcases to frind the
>> problem. You can download a precompiled version of it from:
>> http://www.leidinger.net/FreeBSD/linuxolator/ltp-full-20060822-read
>> y.tar.bz2
>>
>> Have a look at http://wiki.FreeBSD.org/linux-kernel for a
>> description how to use it and what tests are known to hang on i386
>> (they may or may not hand on amd64, and some of the tests are known
>> to need a little bit of time). I suggest to do this in a
>> gentoo-chroot (linux_dist port, not the linux_base port).
>
> Well, problem is the tool is using shell scripts heavily and it
> doesn't work because it has the exact same problems. :-(
> I ran some binaries manually, though.  I got:

In the archive of LTP on my site there's a verbose logfile in the root =20
of the ltp directory. There you can see in which order and with which =20
parameters the tests are called. Could you please run them (at least =20
until the first syscall, the rest isn't important as long as there is =20
this bug) by hand and add a corresponding status and comment to the =20
wiki? It may be the case that the problem is somewhere in waitpid, but =20
it could also be the case it is somewhere else (fork, clone, ...). But =20
we need to see the big picture to determine this.

> %./waitpid06
> waitpid06    1  FAIL  :  Child 2097 did not exit normally
> status: 139
> waitpid06    2  FAIL  :  Child 2099 did not exit normally
> status: 139
> waitpid06    3  FAIL  :  Child 2098 did not exit normally
> status: 139
> waitpid06    4  FAIL  :  Child 2100 did not exit normally
> status: 139
> waitpid06    5  FAIL  :  Child 2101 did not exit normally
> status: 139
> waitpid06    6  FAIL  :  Child 2102 did not exit normally
> status: 139
> waitpid06    7  FAIL  :  Child 2103 did not exit normally
> status: 139
> waitpid06    8  FAIL  :  Child 2104 did not exit normally
> status: 139
> waitpid06    1  FAIL  :  child returned bad status
> waitpid06    2  FAIL  :  waitpid06 FAILED
> %./waitpid07
> waitpid07    1  FAIL  :  Child 2171 did not exit normally
> waitpid07    2  FAIL  :  Child 2170 did not exit normally
> waitpid07    3  FAIL  :  Child 2169 did not exit normally
> waitpid07    4  FAIL  :  Child 2168 did not exit normally
> waitpid07    5  FAIL  :  Child 2175 did not exit normally
> waitpid07    6  FAIL  :  Child 2174 did not exit normally
> waitpid07    7  FAIL  :  Child 2173 did not exit normally
> waitpid07    8  FAIL  :  Child 2172 did not exit normally
> waitpid07    1  FAIL  :  child returned bad status
> waitpid07    2  FAIL  :  waitpid07 FAILED
> %./waitpid08
> waitpid08    1  FAIL  :  Child 2180 did not stopped
> waitpid08    2  FAIL  :  Kill of child 2180 failed, errno =3D 3
> waitpid08    3  FAIL  :  Child 2181 did not stopped
> waitpid08    4  FAIL  :  Kill of child 2181 failed, errno =3D 3
> waitpid08    5  FAIL  :  Child 2179 did not stopped
> waitpid08    6  FAIL  :  Kill of child 2179 failed, errno =3D 3
> waitpid08    7  FAIL  :  Child 2178 did not stopped
> waitpid08    8  FAIL  :  Kill of child 2178 failed, errno =3D 3
> waitpid08    9  FAIL  :  Child 2182 did not stopped
> waitpid08   10  FAIL  :  Kill of child 2182 failed, errno =3D 3
> waitpid08   11  FAIL  :  Child 2183 did not stopped
> waitpid08   12  FAIL  :  Kill of child 2183 failed, errno =3D 3
> waitpid08   13  FAIL  :  Child 2184 did not stopped
> waitpid08   14  FAIL  :  Kill of child 2184 failed, errno =3D 3
> waitpid08   15  FAIL  :  Child 2185 did not stopped
> waitpid08   16  FAIL  :  Kill of child 2185 failed, errno =3D 3
> waitpid08    1  FAIL  :  child returned bad status
> waitpid08    2  FAIL  :  waitpid08 FAILED
> %./waitpid09
> waitpid09    1  FAIL  :  status value got 139 expected 0
> waitpid09    2  FAIL  :  case 1 FAILED
> waitpid09    3  PASS  :  case 2 PASSED
> waitpid09    1  BROK  :  child returned bad status
> %./waitpid10
> waitpid10    1  BROK  :  Unexpected signal 11 received.
> waitpid10    1  BROK  :  Unexpected signal 11 received.
> waitpid10    1  BROK  :  Unexpected signal 11 received.
> waitpid10    1  BROK  :  Unexpected signal 11 received.
> waitpid10    1  BROK  :  Unexpected signal 11 received.
> waitpid10    1  BROK  :  Unexpected signal 11 received.
> waitpid10    1  BROK  :  Unexpected signal 11 received.
> waitpid10    1  BROK  :  Unexpected signal 11 received.
> waitpid10    1  BROK  :  Unexpected signal 11 received.
> waitpid10    1  BROK  :  Unexpected signal 11 received.
> waitpid10    1  BROK  :  Unexpected signal 11 received.
> waitpid10    1  BROK  :  Unexpected signal 11 received.
> waitpid10    1  BROK  :  Unexpected signal 11 received.
> waitpid10    1  BROK  :  Unexpected signal 11 received.
> waitpid10    1  BROK  :  Unexpected signal 11 received.
> waitpid10    1  BROK  :  Unexpected signal 11 received.
> waitpid10    1  BROK  :  Unexpected signal 11 received.
> waitpid10    1  BROK  :  Unexpected signal 11 received.
> waitpid10    1  BROK  :  Unexpected signal 11 received.
> waitpid10    1  BROK  :  Unexpected signal 11 received.
> waitpid10    1  BROK  :  Unexpected signal 11 received.
> waitpid10    1  BROK  :  Unexpected signal 11 received.
> waitpid10    1  BROK  :  Unexpected signal 11 received.
> waitpid10    1  BROK  :  Unexpected signal 11 received.
> waitpid10    1  BROK  :  Unexpected signal 11 received.
> %./waitpid11
> waitpid11    1  FAIL  :  Child 861 did not exit normally
> waitpid11    2  FAIL  :  Child 863 did not exit normally
> waitpid11    3  FAIL  :  Child 862 did not exit normally
> waitpid11    4  FAIL  :  Child 864 did not exit normally
> waitpid11    5  FAIL  :  Child 860 did not exit normally
> waitpid11    6  FAIL  :  Child 859 did not exit normally
> waitpid11    7  FAIL  :  Child 858 did not exit normally
> waitpid11    8  FAIL  :  Child 857 did not exit normally
> waitpid11    9  FAIL  :  Test FAILED
> waitpid11    1  FAIL  :  child returned bad status
> waitpid11    2  FAIL  :  waitpid11 FAILED
> %./waitpid12
> waitpid12    1  BROK  :  Unexpected signal 11 received.
> waitpid12    1  BROK  :  Unexpected signal 11 received.
> waitpid12    1  BROK  :  Unexpected signal 11 received.
> waitpid12    1  BROK  :  Unexpected signal 11 received.
> waitpid12    1  BROK  :  Unexpected signal 11 received.
> waitpid12    1  BROK  :  Unexpected signal 11 received.
> waitpid12    1  BROK  :  Unexpected signal 11 received.
> waitpid12    1  BROK  :  Unexpected signal 11 received.
> waitpid12    1  FAIL  :  Child 874 exited with wrong status
> waitpid12    1  BROK  :  Unexpected signal 28 received.
> %waitpid12    2  FAIL  :  Expected 3 got 2
> waitpid12    3  FAIL  :  Child 873 exited with wrong status
> waitpid12    4  FAIL  :  Expected 3 got 2
> waitpid12    5  FAIL  :  Child 872 exited with wrong status
> waitpid12    6  FAIL  :  Expected 3 got 2
> waitpid12    7  FAIL  :  Child 871 exited with wrong status
> waitpid12    8  FAIL  :  Expected 3 got 2
> waitpid12    9  FAIL  :  Child 870 exited with wrong status
> waitpid12   10  FAIL  :  Expected 3 got 2
> waitpid12   11  FAIL  :  Child 869 exited with wrong status
> waitpid12   12  FAIL  :  Expected 3 got 2
> waitpid12   13  FAIL  :  Child 868 exited with wrong status
> waitpid12   14  FAIL  :  Expected 3 got 2
> waitpid12   15  FAIL  :  Child 867 exited with wrong status
> waitpid12   16  FAIL  :  Expected 3 got 2
> waitpid12   17  FAIL  :  Test FAILED
>
> Results from waitpid0[1-5] are the same as those of i386 from Wiki.
>
>> Feel free to add content to the wiki.
>>
>> > * PS: I have modified ports/devel/linux_kdump to build without
>> > gentoo. If anybody is interested, you can get it from here:
>> >
>> >       http://people.freebsd.org/~jkim/linux_kdump.tar.gz
>> >
>> >       I just added Linux header files as a patch. :-P
>>
>> I don't like this fix.
>
> Believe me, I don't like it myself.  That's why I didn't attempt to
> commit it. ;-)
>
>> Why not use the package from the build cluster instead?
>
> # uname -mr
> 7.0-CURRENT amd64
> # pkg_add -r linux_kdump
> Error: FTP Unable to get  =20
> ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-7-current/Latest/li=
nux_kdump.tbz: File unavailable (e.g., file not found, no  =20
> access)
> pkg_add: unable to fetch  =20
> 'ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-7-current/Latest/l=
inux_kdump.tbz' by  =20
> URL

Yes, as long as there's the bug, we can't build it. The i386 one should work=
.

Bye,
Alexander.

--=20
If you're wondering if you need to stop and pick up
bread and eggs on the way home, you do.

http://www.Leidinger.net    Alexander @ Leidinger.net: PGP ID =3D B0063FE7
http://www.FreeBSD.org       netchild @ FreeBSD.org  : PGP ID =3D 72077137




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060928073616.yyu76vcnc4g0sowc>