New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
t/op/stash.t: 3 new test failures on Darwin/PPC #13054
Comments
From @jkeenanIn the past week t/op/stash.t has begun to experience test failures on Here is the output of: cd t;./perl harness -v op/stash.t;cd - ##### Test Summary Report op/stash.t (Wstat: 0 Tests: 58 Failed: 3) Given the lack of speed on this platform, a formal 'git bisect' would ##### t/op/stash.t PASS t/op/stash.t FAIL as above So the failure emerged between June 14 and June 19. As of this morning, If someone can suggest either specific commits to test or debugging Thank you very much. ##### Platform: Characteristics of this binary (from libperl): |
From @nwc10On Sat, Jun 22, 2013 at 10:34:55AM -0700, James E Keenan wrote:
Do the tests fail in the same way if you run them as ./perl t/op/stash.t If so, given that the difference between those two commits is this: $ git diff --stat 3147622..b8a02ff which is no Configure changes, config.sh won't change in any of the revisions So, I think you can rebuild between each bisect by taking any build tree make perl lib/auto/B/B.bundle (or possibly make -j2 perl lib/auto/B/B.bundle ) before re-running the test. Nicholas Clark |
The RT System itself - Status changed from 'new' to 'open' |
From @nwc10On Sat, Jun 22, 2013 at 06:50:01PM +0100, Nicholas Clark wrote:
At a guess, try this one: commit 51c78f1 Upgrade cv_flags_t from 16 to 32 bits. Inline Patchdiff --git a/sv.h b/sv.h
index 449b23e..b0fd5b2 100644
--- a/sv.h
+++ b/sv.h
@@ -531,7 +531,7 @@ struct xpvgv {
union _xnvu xnv_u;
};
-typedef U16 cv_flags_t;
+typedef U32 cv_flags_t;
#define _XPVCV_COMMON \
HV * xcv_stash; \
In which case, OMG, we need a big endian smoker. Just one. Someone. Please. Nicholas Clark |
From @cpansproutOn Sat Jun 22 13:10:53 2013, nicholas wrote:
Yes, that is it. -- Father Chrysostomos |
From @nwc10On Sat, Jun 22, 2013 at 02:20:26PM -0700, Father Chrysostomos via RT wrote:
I've bisected on a big endian linux machine I have access to, and that's it. Nicholas Clark |
From @nwc10On Sat, Jun 22, 2013 at 10:22:57PM +0100, Nicholas Clark wrote:
Try this: commit 13d58115f07b12133a2df2821b893f0fc20065d9 Update B's size/offset for CvFLAGS to U32, following commit 51c78f1. Inline Patchdiff --git a/ext/B/B.xs b/ext/B/B.xs
index fdeca72..fbe6be6 100644
--- a/ext/B/B.xs
+++ b/ext/B/B.xs
@@ -1328,7 +1328,7 @@ MODULE = B PACKAGE = B::IV
#define PVCV_file_ix sv_char_pp | offsetof(struct xpvcv, xcv_file)
#define PVCV_outside_ix sv_SVp | offsetof(struct xpvcv, xcv_outside)
#define PVCV_outside_seq_ix sv_U32p | offsetof(struct xpvcv, xcv_outside_seq)
-#define PVCV_flags_ix sv_U16p | offsetof(struct xpvcv, xcv_flags)
+#define PVCV_flags_ix sv_U32p | offsetof(struct xpvcv, xcv_flags)
#define PVHV_max_ix sv_STRLENp | offsetof(struct xpvhv, xhv_max)
Nicholas Clark |
From @jkeenanOn 6/22/13 5:32 PM, Nicholas Clark wrote:
t/op/stash.t PASS in this branch; now running full make test |
From PeterCMartini@GMail.comOn Sat, Jun 22, 2013 at 5:22 PM, Nicholas Clark <nick@ccl4.org> wrote:
Ugh, doubly my fault, first for the patch, and second for not getting |
From @cpansproutOn Sat Jun 22 14:33:02 2013, nicholas wrote:
Wouldn’t a more robust approach like the attached be better? (I have -- Father Chrysostomos |
From @cpansproutInline Patchdiff --git a/ext/B/B.xs b/ext/B/B.xs
index fdeca72..92606f9 100644
--- a/ext/B/B.xs
+++ b/ext/B/B.xs
@@ -1328,7 +1328,14 @@ MODULE = B PACKAGE = B::IV
#define PVCV_file_ix sv_char_pp | offsetof(struct xpvcv, xcv_file)
#define PVCV_outside_ix sv_SVp | offsetof(struct xpvcv, xcv_outside)
#define PVCV_outside_seq_ix sv_U32p | offsetof(struct xpvcv, xcv_outside_seq)
-#define PVCV_flags_ix sv_U16p | offsetof(struct xpvcv, xcv_flags)
+#if sizeof(cv_flags_t) == sizeof(U16)
+# define PVCV_flags_ix sv_U16p | offsetof(struct xpvcv, xcv_flags)
+#elif sizeof(cv_flags_t) == sizeof(U32)
+# define PVCV_flags_ix sv_U32p | offsetof(struct xpvcv, xcv_flags)
+#else
+# error Cannot handle cv_flags_t! What size is it?
+#endif
+
#define PVHV_max_ix sv_STRLENp | offsetof(struct xpvhv, xhv_max)
|
From @jkeenanOn Sat Jun 22 16:24:09 2013, sprout wrote:
Nicholas's smoke-me branch builds and tests successfully on Darwin/PPC, Father C, if you would like to test and smoke your patch, please do so. Thank you very much. |
From @craigberryOn Sat, Jun 22, 2013 at 6:24 PM, Father Chrysostomos via RT
The fact that it doesn't compile makes it a bit less robust, actually :-(. Read <http://gcc.gnu.org/onlinedocs/cpp/If.html#If>, notably the bit And while defensive programming has its places, I'm not sure the size |
From @craigberryOn Sat, Jun 22, 2013 at 6:03 PM, James E Keenan <jkeen@verizon.net> wrote:
I get all tests passing for that branch with the following % ./perl -Ilib -V Characteristics of this binary (from libperl): |
From PeterCMartini@GMail.comOn Sun, Jun 23, 2013 at 1:35 PM, Craig A. Berry <craig.a.berry@gmail.com> wrote:
Also confirmed on my Solaris 10 / SPARC box, bash-3.2$ uname -a Characteristics of this binary (from libperl): Sorry I didn't build that box for testing earlier :-( |
From @jkeenanOn Sat Jun 22 18:30:50 2013, jkeenan wrote:
If there's no objection, I'd like to get this branch merged into blead Thank you very much. |
From @jkeenanOn Mon Jun 24 03:44:30 2013, jkeenan wrote:
The problems we were having in recent days with excessive warnings Thanks to Nicholas and all you helped out. Thank you very much. |
@jkeenan - Status changed from 'open' to 'resolved' |
Migrated from rt.perl.org#118603 (status was 'resolved')
Searchable as RT118603$
The text was updated successfully, but these errors were encountered: