Discussion:
[parrot-tickets] [Parrot] #1087: Various tests fail on DragonFly/amd64
Parrot
2009-10-02 21:29:53 UTC
Permalink
#1087: Various tests fail on DragonFly/amd64
--------------------+-------------------------------------------------------
Reporter: reezer | Type: bug
Status: new | Priority: normal
Milestone: | Component: none
Version: trunk | Severity: medium
Keywords: | Lang:
Patch: | Platform: other
--------------------+-------------------------------------------------------
Since DragonFly BSD 2.4 there is an amd64 version of the system. While my
experiences on the x86 version were pretty good the amd64 port causes
various errors when running a smoke test. It's a SMP enabled system
(Phenom II, X2 545) btw, if this does matter.

Summary:
http://smolder.plusthree.com/app/public_projects/report_details/28463

t/op/inf_nan.t:
http://smolder.plusthree.com/app/public_projects/tap_stream/28463/103

t/src/atomic.t
http://smolder.plusthree.com/app/public_projects/tap_stream/28463/269

t/src/basic.t:
http://smolder.plusthree.com/app/public_projects/tap_stream/28463/270

t/src/embed.t
http://smolder.plusthree.com/app/public_projects/tap_stream/28463/271

t/src/exit.t
http://smolder.plusthree.com/app/public_projects/tap_stream/28463/272

t/src/extend.t
http://smolder.plusthree.com/app/public_projects/tap_stream/28463/273

t/src/warnings.t
http://smolder.plusthree.com/app/public_projects/tap_stream/28463/274

t/perl/Parrot_Test.t:
http://smolder.plusthree.com/app/public_projects/tap_stream/28463/278
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/1087>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
Parrot
2009-10-03 02:37:41 UTC
Permalink
#1087: Various tests fail on DragonFly/amd64
-----------------------------+----------------------------------------------
Reporter: reezer | Type: bug
Status: new | Priority: normal
Milestone: | Component: testing
Version: trunk | Severity: medium
Keywords: dragonfly amd64 | Lang:
Patch: | Platform: other
-----------------------------+----------------------------------------------
Changes (by jkeenan):

* keywords: => dragonfly amd64
* component: none => testing


Comment:

This is the failure message observed in the overwhelming majority of these
failures:
{{{
# Received:
# /usr/libexec/ld-elf.so.2: Shared object "libparrot.so.1.6.0" not found,
required by "[test_name]"
#
}}}
... every file except ''t/op/inf_nan.t'', AFAICT. So if we can figure out
why you're not finding this very important file, most of your tests may
clear up. Can you locate ''libparrot.so.1.6.0'' at all?

(Probably OT side note: I recently upgraded from Debian 4.1 to 5.0.
While at 4.1, I had build Perl 5.10.0 and then 5.10.1 from source. When I
tried to run `/usr/local/bin/perl -v` after the distro upgrade, I got a
missing shared object failure much like yours.)

kid51
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/1087#comment:1>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
Parrot
2009-10-04 16:41:20 UTC
Permalink
#1087: Various tests fail on DragonFly/amd64
-----------------------------+----------------------------------------------
Reporter: reezer | Type: bug
Status: new | Priority: normal
Milestone: | Component: testing
Version: trunk | Severity: medium
Keywords: dragonfly amd64 | Lang:
Patch: | Platform: other
-----------------------------+----------------------------------------------

Comment(by reezer):

it's in blib/lib

at the OT stuff: perl -v works fine here.
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/1087#comment:2>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
Parrot
2009-10-04 17:50:22 UTC
Permalink
#1087: Various tests fail on DragonFly/amd64
-----------------------------+----------------------------------------------
Reporter: reezer | Type: bug
Status: new | Priority: normal
Milestone: | Component: testing
Version: trunk | Severity: medium
Keywords: dragonfly amd64 | Lang:
Patch: | Platform: other
-----------------------------+----------------------------------------------
Post by Parrot
it's in blib/lib
at the OT stuff: perl -v works fine here.
reezer:

Since postings on our Smolder report "age out" after a while and are no
longer fully accessible, would it be possible for you to call `prove -v`
on all the test files that are experiencing failures, redirect both STDOUT
and STDERR to a file, and post the file as an attachment to this ticket?

Also, is there anything obvious in ''config/init/hints/dragonfly.pm'' that
won't work because you're on a 64-bit platform? (I believe all previous
Dragonfly smoke reports have been from 32-bit systems.)

I don't think any of our core developers currently works on
Dragonfly/AMD64. But we have people who might be able to spot a pattern
and suggest a patch.

Thank you very much.

kid51
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/1087#comment:3>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
Parrot
2009-10-14 19:13:34 UTC
Permalink
#1087: Various tests fail on DragonFly/amd64
-----------------------------+----------------------------------------------
Reporter: reezer | Type: bug
Status: new | Priority: normal
Milestone: | Component: testing
Version: trunk | Severity: medium
Keywords: dragonfly amd64 | Lang:
Patch: | Platform: other
-----------------------------+----------------------------------------------

Comment(by reezer):

Sorry for the delay, but now I added it.

About the hints file: I don't know enough about that. Maybe ask on the
dragonfly mailing list or in IRC on #dragonflybsd on EFnet. Since there is
a package for parrot in pkgsrc I guess some of them would be happy to help
out, if more specific information is needed.

Of course I will try to provide any information required.
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/1087#comment:4>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
Parrot
2009-10-14 22:55:29 UTC
Permalink
#1087: Various tests fail on DragonFly/amd64
-----------------------------+----------------------------------------------
Reporter: reezer | Type: bug
Status: new | Priority: normal
Milestone: | Component: testing
Version: trunk | Severity: medium
Keywords: dragonfly amd64 | Lang:
Patch: | Platform: other
-----------------------------+----------------------------------------------

Comment(by dukeleto):

The inf/nan failures look like dragonfly has a different math library
implementation in libc than all the other *BSDs. It could be a bug in
their libc.
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/1087#comment:5>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
Parrot
2009-10-15 02:22:30 UTC
Permalink
#1087: Various tests fail on DragonFly/amd64
-----------------------------+----------------------------------------------
Reporter: reezer | Type: bug
Status: new | Priority: normal
Milestone: | Component: testing
Version: trunk | Severity: medium
Keywords: dragonfly amd64 | Lang:
Patch: | Platform: other
-----------------------------+----------------------------------------------
Post by Parrot
Of course I will try to provide any information required.
Would you be able to attach your ''lib/Parrot/Config/Generated.pm''?
Since most of the errors stem from an inability to locate ''libparrot.so''
(which we have established is in ''blib/lib'' at the point the tests are
run), I'd be interested in seeing the results of your Parrot
configuration. (Though I concede this is unexplored territory for me.)

Thank you very much.

kid51
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/1087#comment:6>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
Parrot
2009-10-15 19:15:16 UTC
Permalink
#1087: Various tests fail on DragonFly/amd64
-----------------------------+----------------------------------------------
Reporter: reezer | Type: bug
Status: new | Priority: normal
Milestone: | Component: testing
Version: trunk | Severity: medium
Keywords: dragonfly amd64 | Lang:
Patch: | Platform: other
-----------------------------+----------------------------------------------

Comment(by reezer):

Could it have something to do with the amd64 vs x86_64?
Either inside parrot (the stuff inside config/) or because perl is x86_64,
while DragonFly calls it amd64.
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/1087#comment:7>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
Parrot
2009-10-17 01:59:19 UTC
Permalink
#1087: Various tests fail on DragonFly/amd64
-----------------------------+----------------------------------------------
Reporter: reezer | Type: bug
Status: new | Priority: normal
Milestone: | Component: testing
Version: trunk | Severity: medium
Keywords: dragonfly amd64 | Lang:
Patch: | Platform: other
-----------------------------+----------------------------------------------
Post by Parrot
Could it have something to do with the amd64 vs x86_64?
Either inside parrot (the stuff inside config/) or because perl is
x86_64, while DragonFly calls it amd64.

I don't know enough to say one way or the other. Perhaps some other
64-bit users can respond.

Thanks for posting your Parrot::Config::Generated. For research purposes,
I configured Parrot on my Linux/i386, changed the homedir path in your
''Generated.pm'' to ''/home/user/'' and did likewise with mine, then
called `diff -w` on the two versions of ''Generated.pm''. I am attaching
the result as ''linux.dragonfly.diff''. But here I'm posting what I
suspect are the most relevant differences between my ''Generated.pm'' and
yours.
{{{
122c117
< 'archname' => 'i686-linux',
---
Post by Parrot
'archname' => 'x86_64-dragonfly-thread-multi',
...
322c304
< 'ld_load_flags' => '-shared -O2 -L/usr/local/lib -fstack-protector
-fPIC',
---
Post by Parrot
'ld_load_flags' => '-Wl,-R/usr/pkg/lib -shared ',
324,325c306,307
< 'ld_share_flags' => '-shared -O2 -L/usr/local/lib -fstack-protector
-fPIC',
< 'ldflags' => ' -fstack-protector -L/usr/local/lib',
---
Post by Parrot
'ld_share_flags' => '-Wl,-R/usr/pkg/lib -shared ',
'ldflags' => '-Wl,-R/usr/pkg/lib -pthread -Wl,-E ',
337,338c319,320
< 'libs' => '-lnsl -ldl -lm -lcrypt -lutil -lpthread -lrt -lgmp
-lreadline ',
< 'link' => 'cc',
---
Post by Parrot
'libs' => '-lm -lcrypt -lpthread',
'link' => 'g++',
340,341c322,323
< 'link_dynamic' => '-Wl,-E',
< 'linkflags' => ' -fstack-protector -L/usr/local/lib -Wl,-E',
---
Post by Parrot
'link_dynamic' => ' -Wl,-R/usr/pkg/lib/perl5/5.10.0/x86_64-dragonfly-
thread-multi/CORE',
Post by Parrot
'linkflags' => '-Wl,-R/usr/pkg/lib -pthread -Wl,-E ',
...
389,391c369,371
< 'rpath' => '-Wl,-rpath=',
< 'rpath_blib' => '-Wl,-rpath=/home/user/parrot/blib/lib',
< 'rpath_lib' => '-Wl,-rpath=/usr/local/lib',
---
Post by Parrot
'rpath' => '-Wl,-R',
'rpath_blib' => '-Wl,-R/home/user/parrot/blib/lib',
'rpath_lib' => '-Wl,-R/usr/local/lib',
}}}
I wonder if the difference between my `-rpath` and your `-R` is
significant with respect to the question of locating ''libparrot''
correctly.

kid51
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/1087#comment:8>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
Parrot
2009-10-17 02:11:28 UTC
Permalink
#1087: Various tests fail on DragonFly/amd64
-----------------------------+----------------------------------------------
Reporter: reezer | Type: bug
Status: new | Priority: normal
Milestone: | Component: testing
Version: trunk | Severity: medium
Keywords: dragonfly amd64 | Lang:
Patch: | Platform: other
-----------------------------+----------------------------------------------

Comment(by jkeenan):

In the Debian world, there was [http://lists.debian.org/debian-
devel/2008/01/msg00306.html a discussion about RPATH on AMD64 beginning
here].
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/1087#comment:9>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
Parrot
2009-11-05 20:56:11 UTC
Permalink
#1087: Various tests fail on DragonFly/amd64
-----------------------------+----------------------------------------------
Reporter: reezer | Type: bug
Status: new | Priority: normal
Milestone: | Component: testing
Version: trunk | Severity: medium
Keywords: dragonfly amd64 | Lang:
Patch: | Platform: other
-----------------------------+----------------------------------------------

Comment(by reezer):

Could this be related?
http://rt.perl.org/rt3//Public/Bug/Display.html?id=69686

Currently I can't test this stuff, maybe tomorrow or in a few days.
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/1087#comment:10>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
Parrot
2009-12-12 23:37:33 UTC
Permalink
#1087: Various tests fail on DragonFly/amd64
-----------------------------+----------------------------------------------
Reporter: reezer | Type: bug
Status: new | Priority: normal
Milestone: | Component: testing
Version: trunk | Severity: medium
Keywords: dragonfly amd64 | Lang:
Patch: | Platform: other
-----------------------------+----------------------------------------------

Comment(by reezer):

I just found time to test this again.
For testing I used the latest nightly image of DragonFly which I installed
in VirtualBox.

I didn't get the errors any more and only two tests failed. Both of them
in t/op/inf_nan.t
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/1087#comment:11>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
Parrot
2009-12-20 22:51:27 UTC
Permalink
#1087: Various tests fail on DragonFly/amd64
-----------------------------+----------------------------------------------
Reporter: reezer | Type: bug
Status: new | Priority: normal
Milestone: | Component: testing
Version: trunk | Severity: medium
Keywords: dragonfly amd64 | Lang:
Patch: | Platform: other
-----------------------------+----------------------------------------------

Comment(by reezer):

I'm not sure what the inf_nan test that fails does.
Would it be possible to provide a small C file to explain the problem(s)?
I mean something that maybe prints the expected and the current output or
simply crashes.

I could use it to understand, test and report it.
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/1087#comment:12>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
Parrot
2010-11-07 16:54:38 UTC
Permalink
#1087: Various tests fail on DragonFly/amd64
-----------------------------+----------------------------------------------
Reporter: reezer | Type: bug
Status: new | Priority: normal
Milestone: | Component: testing
Version: trunk | Severity: medium
Keywords: dragonfly amd64 | Lang:
Patch: | Platform: other
-----------------------------+----------------------------------------------
Post by Parrot
I'm not sure what the inf_nan test that fails does.
reezer,

It appears that the tests you cited as failing are no longer a part of
''t/op/inf_nan.t''. Could you try another `make test` on Parrot head?

Thank you very much.

kid51
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/1087#comment:13>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
Parrot
2011-11-15 14:05:11 UTC
Permalink
#1087: Various tests fail on DragonFly/amd64
-----------------------------+----------------------------------------------
Reporter: reezer | Type: bug
Status: new | Priority: normal
Milestone: | Component: testing
Version: trunk | Severity: medium
Keywords: dragonfly amd64 | Lang:
Patch: | Platform: other
-----------------------------+----------------------------------------------
Post by Parrot
It appears that the tests you cited as failing are no longer a part of
''t/op/inf_nan.t''. Could you try another `make test` on Parrot head?

The first two tests of t/dynoplibs/trans-infnan.t fail:

{{{
not ok 1 - exp: exp Inf
# Have: NaN
# Want: Inf
not ok 2 - ... exp -Inf
# Have: NaN
# Want: 0
}}}
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/1087#comment:14>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
Loading...