Bug 208506 - ports-mgmt/distilator: somewhat broken starting with Perl 5.22 and using threads
Summary: ports-mgmt/distilator: somewhat broken starting with Perl 5.22 and using threads
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Emanuel Haupt
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-04-04 12:06 UTC by Mathieu Arnold
Modified: 2016-12-06 12:28 UTC (History)
0 users

See Also:
bugzilla: maintainer-feedback? (ehaupt)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mathieu Arnold freebsd_committer freebsd_triage 2016-04-04 12:06:07 UTC
It works just fine with Perl 5.20 with threads, and with Perl 5.22 without threads.  But if using Perl 5.22+ with threads, it fails most of the time, with some unrelated random error:

$ perl5.22.1 /usr/local/bin/distilator --threads=10 .
String found where operator expected at /usr/local/lib/perl5/5.22/mach/Socket.pm line 829, near "croak "usage:   (port,iaddr) = sockaddr_in(sin_sv)""
        (Do you need to predeclare croak?)
String found where operator expected at /usr/local/lib/perl5/5.22/mach/Socket.pm line 832, near "croak "usage:   sin_sv = sockaddr_in(port,iaddr))""
        (Do you need to predeclare croak?)
String found where operator expected at /usr/local/lib/perl5/5.22/mach/Socket.pm line 839, near "croak "usage:   (port,in6addr,scope_id,flowinfo) = sockaddr_in6(sin6_sv)""
        (Do you need to predeclare croak?)
String found where operator expected at /usr/local/lib/perl5/5.22/mach/Socket.pm line 843, near "croak "usage:   sin6_sv = sockaddr_in6(port,in6addr,[scope_id,[flowinfo]])""
        (Do you need to predeclare croak?)
String found where operator expected at /usr/local/lib/perl5/5.22/mach/Socket.pm line 850, near "croak "usage:   (filename) = sockaddr_un(sun_sv)""
        (Do you need to predeclare croak?)
String found where operator expected at /usr/local/lib/perl5/5.22/mach/Socket.pm line 853, near "croak "usage:   sun_sv = sockaddr_un(filename)""
        (Do you need to predeclare croak?)
501 [DISTFILE]  http://ftp.jaist.ac.jp/pub/CPAN/modules/by-module/../../src/5.0/perl-5.23.9-43_GH0.tar.gz
500 [DISTFILE]  ftp://ftp.kddlabs.co.jp/lang/perl/CPAN/modules/by-module/../../src/5.0/perl-5.23.9-43_GH0.tar.gz
500 [DISTFILE]  https://codeload.github.com/Perl/perl5/tar.gz/v5.23.9-43-gef66793?dummy=/perl-5.23.9-43_GH0.tar.gz
500 [DISTFILE]  http://distcache.eu.FreeBSD.org/local-distfiles/mat/perl/perl-5.23.9-43_GH0.tar.gz
200 [DISTFILE]  http://distcache.FreeBSD.org/local-distfiles/mat/perl/perl-5.23.9-43_GH0.tar.gz
404 [DISTFILE]  http://www.cpan.dk/modules/by-module/../../src/5.0/perl-5.23.9-43_GH0.tar.gz
200 [DISTFILE]  http://distcache.us-east.FreeBSD.org/local-distfiles/mat/perl/perl-5.23.9-43_GH0.tar.gz
200 [DISTFILE]  http://distcache.us-west.FreeBSD.org/local-distfiles/mat/perl/perl-5.23.9-43_GH0.tar.gz
404 [DISTFILE]  http://cpan.metacpan.org/modules/by-module/perl-5.23.9-43_GH0.tar.gz
404 [DISTFILE]  http://cpan.metacpan.org/modules/by-module/../../src/5.0/perl-5.23.9-43_GH0.tar.gz
500 [WWW]       http://www.perl.org/
404 [DISTFILE]  ftp://ftp.sunet.se/pub/lang/perl/CPAN/modules/by-module/../../src/5.0/perl-5.23.9-43_GH0.tar.gz
404 [DISTFILE]  http://www.cpan.org/modules/by-module/../../src/5.0/perl-5.23.9-43_GH0.tar.gz
404 [DISTFILE]  http://backpan.perl.org/modules/by-module/../../src/5.0/perl-5.23.9-43_GH0.tar.gz
404 [DISTFILE]  ftp://ftp.cpan.org/pub/CPAN/modules/by-module/perl-5.23.9-43_GH0.tar.gz
403 [DISTFILE]  http://ftp.twaren.net/Unix/Lang/CPAN/modules/by-module/../../src/5.0/perl-5.23.9-43_GH0.tar.gz
404 [DISTFILE]  ftp://ftp.mirrorservice.org/sites/cpan.perl.org/CPAN/modules/by-module/../../src/5.0/perl-5.23.9-43_GH0.tar.gz
404 [DISTFILE]  ftp://ftp.cpan.org/pub/CPAN/modules/by-module/../../src/5.0/perl-5.23.9-43_GH0.tar.gz
404 [DISTFILE]  ftp://ftp.funet.fi/pub/languages/perl/CPAN/modules/by-module/../../src/5.0/perl-5.23.9-43_GH0.tar.gz
404 [DISTFILE]  ftp://ftp.auckland.ac.nz/pub/perl/CPAN/modules/by-module/../../src/5.0/perl-5.23.9-43_GH0.tar.gz


or:

$ perl5.22.1 /usr/local/bin/distilator --threads=10 .
200 [DISTFILE]  http://distcache.eu.FreeBSD.org/local-distfiles/mat/perl/perl-5.23.9-43_GH0.tar.gz
200 [DISTFILE]  http://distcache.us-east.FreeBSD.org/local-distfiles/mat/perl/perl-5.23.9-43_GH0.tar.gz
200 [DISTFILE]  http://distcache.us-west.FreeBSD.org/local-distfiles/mat/perl/perl-5.23.9-43_GH0.tar.gz
String found where operator expected at /usr/local/lib/perl5/5.22/mach/IO/Seekable.pm line 114, near "croak 'usage: $io->seek(POS, WHENCE)'"
        (Do you need to predeclare croak?)
String found where operator expected at /usr/local/lib/perl5/5.22/mach/IO/Seekable.pm line 119, near "croak 'usage: $io->sysseek(POS, WHENCE)'"
        (Do you need to predeclare croak?)
String found where operator expected at /usr/local/lib/perl5/5.22/mach/IO/Seekable.pm line 124, near "croak 'usage: $io->tell()'"
        (Do you need to predeclare croak?)
500 [DISTFILE]  https://codeload.github.com/Perl/perl5/tar.gz/v5.23.9-43-gef66793?dummy=/perl-5.23.9-43_GH0.tar.gz
404 [DISTFILE]  http://cpan.metacpan.org/modules/by-module/../../src/5.0/perl-5.23.9-43_GH0.tar.gz
404 [DISTFILE]  http://www.cpan.org/modules/by-module/../../src/5.0/perl-5.23.9-43_GH0.tar.gz
404 [DISTFILE]  http://backpan.perl.org/modules/by-module/../../src/5.0/perl-5.23.9-43_GH0.tar.gz
200 [DISTFILE]  http://distcache.FreeBSD.org/local-distfiles/mat/perl/perl-5.23.9-43_GH0.tar.gz
404 [DISTFILE]  ftp://ftp.sunet.se/pub/lang/perl/CPAN/modules/by-module/../../src/5.0/perl-5.23.9-43_GH0.tar.gz
404 [DISTFILE]  http://www.cpan.dk/modules/by-module/../../src/5.0/perl-5.23.9-43_GH0.tar.gz
404 [DISTFILE]  http://cpan.metacpan.org/modules/by-module/perl-5.23.9-43_GH0.tar.gz
500 [WWW]       http://www.perl.org/
404 [DISTFILE]  http://ftp.jaist.ac.jp/pub/CPAN/modules/by-module/../../src/5.0/perl-5.23.9-43_GH0.tar.gz
403 [DISTFILE]  http://ftp.twaren.net/Unix/Lang/CPAN/modules/by-module/../../src/5.0/perl-5.23.9-43_GH0.tar.gz
404 [DISTFILE]  ftp://ftp.mirrorservice.org/sites/cpan.perl.org/CPAN/modules/by-module/../../src/5.0/perl-5.23.9-43_GH0.tar.gz
404 [DISTFILE]  ftp://ftp.cpan.org/pub/CPAN/modules/by-module/perl-5.23.9-43_GH0.tar.gz
404 [DISTFILE]  ftp://ftp.cpan.org/pub/CPAN/modules/by-module/../../src/5.0/perl-5.23.9-43_GH0.tar.gz
404 [DISTFILE]  ftp://ftp.funet.fi/pub/languages/perl/CPAN/modules/by-module/../../src/5.0/perl-5.23.9-43_GH0.tar.gz
404 [DISTFILE]  ftp://ftp.kddlabs.co.jp/lang/perl/CPAN/modules/by-module/../../src/5.0/perl-5.23.9-43_GH0.tar.gz
404 [DISTFILE]  ftp://ftp.auckland.ac.nz/pub/perl/CPAN/modules/by-module/../../src/5.0/perl-5.23.9-43_GH0.tar.gz
Comment 1 Emanuel Haupt freebsd_committer freebsd_triage 2016-04-05 06:31:06 UTC
I am able to reproduce the errors and seem to come from the socket module. I am trying to create a minimal test case to report upstream.
Comment 2 commit-hook freebsd_committer freebsd_triage 2016-12-06 12:24:54 UTC
A commit references this bug:

Author: ehaupt
Date: Tue Dec  6 12:24:33 UTC 2016
New revision: 427950
URL: https://svnweb.freebsd.org/changeset/ports/427950

Log:
  Update to 0.3.

  Switch from perl threads to Parallel::ForkManager. With perl 5.24, threads
  used in distilator produce a many random warnings hinting at the fact that the
  modules used to check the links are not (and never were) thread safe.

  Remove WWW. There is no public website available.

  PR:		208506 (based on)
  Notified by:	mat
  MFH:		2016Q4

Changes:
  head/ports-mgmt/distilator/Makefile
  head/ports-mgmt/distilator/distinfo
  head/ports-mgmt/distilator/pkg-descr
  head/ports-mgmt/distilator/pkg-plist