Discussion:
Inline::CPP: New Darwin failure.
David Oswald
2012-04-21 19:49:45 UTC
Permalink
Inline::CPP version 0.38_004:

I just noticed another Darwin smoke-test failure.

PASS: http://www.cpantesters.org/cpan/report/c30eb71a-8bac-11e1-9ec4-a796756b88d3
FAIL: http://www.cpantesters.org/cpan/report/b5830500-89c8-11e1-9ec4-a796756b88d3

The only difference I see between the two is Perl version number
(which shouldn't be an issue), and thread support in the failure case.
However, we passed on Darwin with thread support in version 0.38_002:

PASS: http://www.cpantesters.org/cpan/report/7b429bc8-6b5d-11e1-b453-f9f6ec0326e0

All of these tests are from Chris Williams.

There have been some changes to Makefile.PL from 0.38_002 to 0.38_004,
but none that specifically affect how Darwin is handled. Though
nothing in specific stands out to me, I'm attaching a diff of
Makefile.PL resulting from the following Git command:

git diff --minimal v0.38_002 v0.38_004 -- Makefile.PL

If there are any OS-X/Darwin users out there who have some idea of
what needs to happen to fix the Darwin failure I'd appreciate hearing.

Dave
--
David Oswald
daoswald-***@public.gmane.org
Sisyphus
2012-04-22 00:15:46 UTC
Permalink
----- Original Message -----
From: "David Oswald" <daoswald-***@public.gmane.org>
To: <inline-***@public.gmane.org>
Sent: Sunday, April 22, 2012 5:49 AM
Subject: Inline::CPP: New Darwin failure.
Post by David Oswald
I just noticed another Darwin smoke-test failure.
http://www.cpantesters.org/cpan/report/c30eb71a-8bac-11e1-9ec4-a796756b88d3
http://www.cpantesters.org/cpan/report/b5830500-89c8-11e1-9ec4-a796756b88d3
I notice that, in the failing test scripts, *none* of the tests get run. Can
you see any reason that those particular scripts (and not the others) should
fail to run the tests ?

This is a bit like the "No subtests run" error that I see for some of the
test scripts in one of my modules.
I've compared my failing scripts with the scripts that run successfully, yet
cannot see anything that could trigger the "No subtests run" error.

Cheers,
Rob
David Oswald
2012-04-22 05:21:55 UTC
Permalink
02, 03, and 04 compile and execute C++/XS code for Inline consumption.

00load_prereqs.t -- verifies that all prerequisites are present that
they load (including including CPP.pm itself).
01fn_cans.t -- Verify that all functions in CPP.pm can be called.
Never fails. Useful when refactoring.
02basic.t -- Compiles basic C++ class code inline.
03prefix.t -- Compiles C++ code and tests the XS 'prefix' directive.
04charptr.t -- Verifies correct handling of c-strings as parameters or
return values.
05pod.t -- Verifies the POD is reachable (optional).
06fn_regress.t -- Some regression-oriented tests I used while doing
some refactoring.
07perlcritic.t -- Verifies the code is Perl::Critic friendly (author
test, optional).
08cppguess.t -- Compares Makefile.PL compiler&library guesses with
what ExtUtils::CppGuess would have guessed (optional).

Again, 02, 03, and 04 compile C++ code for Inline consumption. And
those are the three test files that are failing on one of the Darwin
smokers. Furthermore, as you've noticed, they fail before any tests
get run. We're either crashing the C++ compiler, or crashing Perl as
we invoke the XS code that Inline generated.

It's only happening (so far) with that one Darwin smoker. There are a
handful of Linux issues too, but my frequently-wrong senses persuaded
me that the Darwin issue is lower hanging fruit than the Linux one.

Dave
Post by Sisyphus
Sent: Sunday, April 22, 2012 5:49 AM
Subject: Inline::CPP: New Darwin failure.
Post by David Oswald
I just noticed another Darwin smoke-test failure.
http://www.cpantesters.org/cpan/report/c30eb71a-8bac-11e1-9ec4-a796756b88d3
http://www.cpantesters.org/cpan/report/b5830500-89c8-11e1-9ec4-a796756b88d3
I notice that, in the failing test scripts, *none* of the tests get run. Can
you see any reason that those particular scripts (and not the others) should
fail to run the tests ?
This is a bit like the "No subtests run" error that I see for some of the
test scripts in one of my modules.
I've compared my failing scripts with the scripts that run successfully, yet
cannot see anything that could trigger the "No subtests run" error.
Cheers,
Rob
--
David Oswald
daoswald-***@public.gmane.org
David Mertens
2012-04-22 13:38:32 UTC
Permalink
This is a long shot, and likely a red herring, but I hear that the newest
version of XCode changed the location of a number of developer tools.

I have a Macbook with perlbrew. What versions of Perl and compiler options
should I try? Threaded and non-threaded build of 5.14.2?

David
Post by David Oswald
02, 03, and 04 compile and execute C++/XS code for Inline consumption.
00load_prereqs.t -- verifies that all prerequisites are present that
they load (including including CPP.pm itself).
01fn_cans.t -- Verify that all functions in CPP.pm can be called.
Never fails. Useful when refactoring.
02basic.t -- Compiles basic C++ class code inline.
03prefix.t -- Compiles C++ code and tests the XS 'prefix' directive.
04charptr.t -- Verifies correct handling of c-strings as parameters or
return values.
05pod.t -- Verifies the POD is reachable (optional).
06fn_regress.t -- Some regression-oriented tests I used while doing
some refactoring.
07perlcritic.t -- Verifies the code is Perl::Critic friendly (author
test, optional).
08cppguess.t -- Compares Makefile.PL compiler&library guesses with
what ExtUtils::CppGuess would have guessed (optional).
Again, 02, 03, and 04 compile C++ code for Inline consumption. And
those are the three test files that are failing on one of the Darwin
smokers. Furthermore, as you've noticed, they fail before any tests
get run. We're either crashing the C++ compiler, or crashing Perl as
we invoke the XS code that Inline generated.
It's only happening (so far) with that one Darwin smoker. There are a
handful of Linux issues too, but my frequently-wrong senses persuaded
me that the Darwin issue is lower hanging fruit than the Linux one.
Dave
Post by Sisyphus
Sent: Sunday, April 22, 2012 5:49 AM
Subject: Inline::CPP: New Darwin failure.
Post by David Oswald
I just noticed another Darwin smoke-test failure.
http://www.cpantesters.org/cpan/report/c30eb71a-8bac-11e1-9ec4-a796756b88d3
http://www.cpantesters.org/cpan/report/b5830500-89c8-11e1-9ec4-a796756b88d3
Post by Sisyphus
I notice that, in the failing test scripts, *none* of the tests get run.
Can
Post by Sisyphus
you see any reason that those particular scripts (and not the others)
should
Post by Sisyphus
fail to run the tests ?
This is a bit like the "No subtests run" error that I see for some of the
test scripts in one of my modules.
I've compared my failing scripts with the scripts that run successfully,
yet
Post by Sisyphus
cannot see anything that could trigger the "No subtests run" error.
Cheers,
Rob
--
David Oswald
David Oswald
2012-04-23 17:39:17 UTC
Permalink
Post by David Mertens
This is a long shot, and likely a red herring, but I hear that the newest
version of XCode changed the location of a number of developer tools.
I have a Macbook with perlbrew. What versions of Perl and compiler options
should I try? Threaded and non-threaded build of 5.14.2?
David
The failure report shows how Perl was built:
http://www.cpantesters.org/cpan/report/b5830500-89c8-11e1-9ec4-a796756b88d3

Chris Williams was using a Perl version 5.14.2 with multi-thread
support. The report lists all the compiler flags used.

I guess your goal (if you choose to give it a try) is to obtain the
same sort of failure that Chris Williams got in that report. If we
start by getting our hands on a failure, we might have a shot at
fixing it. The same goes for the Linux failures that Andreas Koenig
has conjured up, and the DragonflyBSD failures. I can't reproduce
them, and without getting my hands on a failure case, can't seem to be
able to guess at a fix that works. ...in the case of the DragonflyBSD
failures, not only can't I reproduce them, I can't even get a
DragonflyBSD virtual machine operational to the degree that I'm able
to install CPAN modules on it. :)

Loading...