[MacPorts] #51327: perl5.22: failed test dist/IO/t/cachepropagate-unix

MacPorts noreply at macports.org
Tue May 17 04:08:07 PDT 2016


#51327: perl5.22: failed test dist/IO/t/cachepropagate-unix
--------------------------------+---------------------
  Reporter:  mojca@…            |      Owner:  mojca@…
      Type:  defect             |     Status:  new
  Priority:  Normal             |  Milestone:
 Component:  ports              |    Version:
Resolution:                     |   Keywords:
      Port:  perl5.22 perl5.24  |
--------------------------------+---------------------
Changes (by raimue@…):

 * cc: raimue@… (added)


Comment:

 On OS X 10.10, I can reproduce failures with both perl 5.20 and perl 5.24.
 Although I get "Address already in use" with the suggested `diag` added to
 the test code:

 {{{
 ok 8 - type match
 # datagram socket: Address already in use
 not ok 9 - datagram socket created
 #   Failed test 'datagram socket created'
 }}}

 As far as I tested, this issue seems to be our custom $TMPDIR value in the
 environment, on my system that would be:
 `TMPDIR=/opt/local/var/macports/build/_Users_raimue_src_macports_trunk_dports_lang_perl5/perl5.24/work/.tmp`.

 My wild guess is that the path is truncated somewhere due to its length,
 and the socket/bind syscall only sees a substring of the given path that
 triggers the "Address already in use" because this substring is an
 existing path. I can make the test also fail reproducibly with the
 following sequence. Although also the stream socket test #1 may fail
 sometimes (depending on path length?).

 {{{
 $ sudo port -v build perl5.24
 $ cd $(port work perl5.24)/perl-5.24.0
 $ sudo -u macports env TMPDIR=/tmp/$(perl -le 'print "A" x 150;') sh -c
 'rm -rf $TMPDIR && mkdir $TMPDIR && make test TEST_ARGS=-v
 TEST_FILES=../dist/IO/t/cachepropagate-unix.t'
 }}}

-- 
Ticket URL: <https://trac.macports.org/ticket/51327#comment:6>
MacPorts <https://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list