linuxulator on -CURRENT
Alexander Leidinger
Alexander at Leidinger.net
Wed Sep 27 22:36:57 PDT 2006
Quoting Jung-uk Kim <jkim at 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
with the commits which removed the stackgap.
> On Wednesday 27 September 2006 04:34 am, Alexander Leidinger wrote:
>> Quoting Jung-uk Kim <jkim at FreeBSD.org> (from Tue, 26 Sep 2006
>> 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
of the ltp directory. There you can see in which order and with which
parameters the tests are called. Could you please run them (at least
until the first syscall, the rest isn't important as long as there is
this bug) by hand and add a corresponding status and comment to the
wiki? It may be the case that the problem is somewhere in waitpid, but
it could also be the case it is somewhere else (fork, clone, ...). But
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 = 3
> waitpid08 3 FAIL : Child 2181 did not stopped
> waitpid08 4 FAIL : Kill of child 2181 failed, errno = 3
> waitpid08 5 FAIL : Child 2179 did not stopped
> waitpid08 6 FAIL : Kill of child 2179 failed, errno = 3
> waitpid08 7 FAIL : Child 2178 did not stopped
> waitpid08 8 FAIL : Kill of child 2178 failed, errno = 3
> waitpid08 9 FAIL : Child 2182 did not stopped
> waitpid08 10 FAIL : Kill of child 2182 failed, errno = 3
> waitpid08 11 FAIL : Child 2183 did not stopped
> waitpid08 12 FAIL : Kill of child 2183 failed, errno = 3
> waitpid08 13 FAIL : Child 2184 did not stopped
> waitpid08 14 FAIL : Kill of child 2184 failed, errno = 3
> waitpid08 15 FAIL : Child 2185 did not stopped
> waitpid08 16 FAIL : Kill of child 2185 failed, errno = 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
> ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-7-current/Latest/linux_kdump.tbz: File unavailable (e.g., file not found, no
> access)
> pkg_add: unable to fetch
> 'ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-7-current/Latest/linux_kdump.tbz' by
> URL
Yes, as long as there's the bug, we can't build it. The i386 one should work.
Bye,
Alexander.
--
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 = B0063FE7
http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID = 72077137
More information about the freebsd-emulation
mailing list