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
dist/IO/t/cachepropagate-unix.t AIX 5.3 failure in blead feca1a #15892
Comments
From @jhiThe test dist/IO/t/cachepropagate-unix.t fails with blead feca1a dist/IO/t/cachepropagate-unix .................................. Invalid (the host is Merijn's i3.procura.nl) Perl Info
|
From @jkeenanOn Sat, 25 Feb 2017 02:43:17 GMT, jhi wrote:
Example smoke report: http://perl5.test-smoke.org/report/54324 ##### However, this is not the only test failure on this platform, and it's not a new test failure, either. It's present in the oldest test report I can find from this host: http://perl5.test-smoke.org/report/471 ... which is dated 2012-05-13. So I'm wondering why you've failed this report at this time. Is there something I'm missing? Thank you very much. |
The RT System itself - Status changed from 'new' to 'open' |
From @jhi
I don't understand what you are asking. I run a build with the arguments you can see in the report, that test failed. |
From @tonycozOn Fri, 24 Feb 2017 18:43:17 -0800, jhi wrote:
How big is the sun_len field in struct sockaddr_un on AIX? Given the error it sounds like it might be byte-sized, despite sun_path being larger. I'd only expect to see this error if TMPDIR is around 1000 characters long, which seems excessive. The attached might fix this for you. Tony |
From @tonycoz0001-perl-130856-deal-with-unpack_sockaddr_un-croaking.patchFrom aa9ac6cf00899a6f55881d4ca6c1214215dc83ee Mon Sep 17 00:00:00 2001
From: Tony Cook <tony@develop-help.com>
Date: Mon, 27 Feb 2017 11:03:06 +1100
Subject: (perl #130856) deal with unpack_sockaddr_un() croaking
because pack_sockaddr_un() returned an invalid address.
---
dist/IO/t/cachepropagate-unix.t | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/dist/IO/t/cachepropagate-unix.t b/dist/IO/t/cachepropagate-unix.t
index 20c70dd..9ec42b0 100644
--- a/dist/IO/t/cachepropagate-unix.t
+++ b/dist/IO/t/cachepropagate-unix.t
@@ -24,8 +24,12 @@ my $socketpath = catfile(tempdir( CLEANUP => 1 ), 'testsock');
# https://rt.cpan.org/Ticket/Display.html?id=116819
my $name = eval { pack_sockaddr_un($socketpath) };
-defined $name && (unpack_sockaddr_un($name))[0] eq $socketpath
- or plan skip_all => "socketpath too long for sockaddr_un";
+if (defined $name) {
+ my ($packed_name) = eval { unpack_sockaddr_un($name) };
+ if (!defined $packed_name || $packed_name ne $socketpath) {
+ plan skip_all => "socketpath too long for sockaddr_un";
+ }
+}
plan tests => 15;
--
2.1.4
|
From @jhi
Yup, sizeof() for sun_len seems to be only one. The <sys/un.h> has: #if defined(COMPAT_43) && !defined(_KERNEL)
Indeed it does: ./perl -Ilib dist/IO/t/cachepropagate-unix.t
|
From @tonycozOn Sun, 26 Feb 2017 16:46:54 -0800, jhi wrote:
...
I've added a note to https://rt.cpan.org/Ticket/Display.html?id=116819 about the possibility of the length being too large for sun_len.
Thanks, patch applied to blead as aa9ac6c. Tony |
@tonycoz - Status changed from 'open' to 'pending release' |
From @khwilliamsonThank you for filing this report. You have helped make Perl better. With the release today of Perl 5.26.0, this and 210 other issues have been Perl 5.26.0 may be downloaded via: If you find that the problem persists, feel free to reopen this ticket. |
@khwilliamson - Status changed from 'pending release' to 'resolved' |
Migrated from rt.perl.org#130856 (status was 'resolved')
Searchable as RT130856$
The text was updated successfully, but these errors were encountered: