[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#964770: lintian: lintian will get stuck on arm64



Hi,

On Mon, 13 Jul 2020 02:37:42 -0700 Felix Lechner <felix.lechner@lease-up.com> wrote:
> Hi Kentaro,
> 
> On Sun, Jul 12, 2020 at 5:12 PM Kentaro Hayashi <hayashi@clear-code.com> wrote:
> >
> > Here is the reproducible code.
> 
> The failure does not reproduce on the Debian arm64 porterbox amdahl.
> 
> In the code above, I removed the 'print $future' statement and
> replaced $loop->await with 'say $future->get'. The result is '4',
> presumably the number of processors on amdahl.
> 
> I also forwarded your bug to the IRC channel #io-async. Someone there
> tested your initial filing in the docker container, as you described,
> on a Raspberry Pi4 and then the code you submitted later. Both ran
> fine.
> 
> Do you have more information about your error? If you need help
> debugging your Perl setup, I can recommend the channel #perl-help. The
> good folks there would be able to shed light on it.
> 

Thank you for checking.

I've tested with docker.io 19.03.12+dfsg1-3.

  % docker pull arm64v8/debian:unstable
  unstable: Pulling from arm64v8/debian
  75b27a953f63: Pull complete 
  Digest: sha256:7556a36722abe5df26d81b77059c7d002c3c8184540c0058bfa4b215000fc298
  Status: Downloaded newer image for arm64v8/debian:unstable
  docker.io/arm64v8/debian:unstable

  % docker run -it arm64v8/debian:unstable
  # apt update
  # apt upgrade
  # apt install -y lintian

  # dpkg -l | grep lintian
  ii  lintian                          2.84.0                         all          Debian package checker
  # dpkg -l | grep libio-async
  ii  libio-async-loop-epoll-perl      0.21-1                         all          Perl extension for an event loop using epoll
  ii  libio-async-perl                 0.77-3                         all          modules for asynchronous event-driven programming

  # nproc
  12

Sample code is here. (again)

  use v5.20;
  use warnings;
  use utf8;
  use autodie;

  use IO::Async::Loop;
  use IO::Async::Process;

  my $loop = IO::Async::Loop->new;
  my $future = $loop->new_future;
  my $status;

  my @command = ("nproc");

  $loop->run_child(
      command => [@command],
      on_finish => sub {
          my ($pid, $exitcode, $stdout, $stderr) = @_;
          $status = ($exitcode >> 8);

          if ($status) {
              my $message = "Command @command exited with status $status";
              $message .= ": $stderr" if length $stderr;
              $future->fail($message);
              return;
          }

          $future->done($stdout);
      });
  say $future->get;

>From the command line in docker:

  # nproc
  12

So, I've expected that execution result of sample is 12, but it has no
output to console. the sample code must be killed by Ctrl+C.

> I also forwarded your bug to the IRC channel #io-async. Someone there
tested your initial filing in the docker container, as you described,
on a Raspberry Pi4 and then the code you submitted later. Both ran
fine.

It is strange that it can't be reproducible on other person's docker container
because it is easy to reproduce on my debian unstable host.

I'll contact to #perl-help.


Reply to: