Code Monkey home page Code Monkey logo

Comments (16)

kenhys avatar kenhys commented on June 23, 2024 1

It seems that here is the reproducible code extracted from /usr/share/perl5/Lintian/Util.pm
lintian v2.80.0.

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");
print $future;

$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);
    });

$loop->await($future);

from fluent-package-builder.

kenhys avatar kenhys commented on June 23, 2024

Even though ---debug --verbose options are specified, there is no debug messages at all. 😞

from fluent-package-builder.

kenhys avatar kenhys commented on June 23, 2024

I've checked whether this issue is reproducible on unstable or not.
I've used to arm64v8/debian:unstable && apt upgrade

It is reproducible on arm64v8/debian on unstable too. lintian version is:

root@f1123001d735:~# dpkg -l | grep lintian
ii  lintian                          2.76.0                         all          Debian package checker

It has nothing to do with --profile/ without --profile option. (both of them stalls)

from fluent-package-builder.

kenhys avatar kenhys commented on June 23, 2024

Even though lintian -h seems stop. (arm64v8/debian:unstable)

from fluent-package-builder.

kenhys avatar kenhys commented on June 23, 2024

It seems that lintian bugs on arm64:(arm64v8/debian:unstable)

file /usr/bin/lintian
/usr/bin/lintian: symbolic link to ../share/lintian/frontend/dplint
root@f1123001d735:~# file ../share/lintian/frontend/dplint
../share/lintian/frontend/dplint: cannot open `../share/lintian/frontend/dplint' (No such file or directory)

from fluent-package-builder.

kenhys avatar kenhys commented on June 23, 2024

In contrast to unstable/amd64, lintian is perl script on amd64 (expected)

% file /usr/share/lintian/frontend/dplint
/usr/share/lintian/frontend/dplint: Perl script text executable

from fluent-package-builder.

kenhys avatar kenhys commented on June 23, 2024

On arm64v8/ubuntu:focal, lintian -h also stops even though dplint is perl script:

# file /usr/bin/lintian
/usr/bin/lintian: symbolic link to ../share/lintian/frontend/dplint
root@58022cde8896:/# file /usr/share/lintian/frontend/dplint 
/usr/share/lintian/frontend/dplint: Perl script text executable

from fluent-package-builder.

kenhys avatar kenhys commented on June 23, 2024

On arm64v8/ubuntu:focal dplint --print-version or --help works.

# /usr/share/lintian/frontend/dplint --print-version
2.62.0
root@58022cde8896:/# /usr/share/lintian/frontend/dplint --help         
Lintian v2.62.0
Usage: dplint [General options] <command> [options/arguments...]
General options:
  --include-dir DIR     include checks, libraries (etc.) from DIR
  --[no-]user-dirs      whether to use files from user directories

from fluent-package-builder.

kenhys avatar kenhys commented on June 23, 2024

On arm64v8/ubuntu:focal, something wrong with lintian:

root@58022cde8896:/# lintian --print-version
^C
root@58022cde8896:/# lintian --version
^C
root@58022cde8896:/# lintian --help   
^C
root@58022cde8896:/# lintian -v    
^C
root@58022cde8896:/# lintian -h
^C

from fluent-package-builder.

kenhys avatar kenhys commented on June 23, 2024

On arm64v8/ubuntu:focal, main() doesn't return. debugging with perl -d /usr/bin/lintian --print-version
It is caused around TOOL_RUNNER->($tool_pm_path);

120:	            $TOOL_RUNNER->($tool_pm_path);
  DB<2> p $tool_pm_path 
/usr/share/lintian/commands/lintian.pm
  DB<3> n
^CIO::Async::Loop::Epoll::loop_once(/usr/share/perl5/IO/Async/Loop/Epoll.pm:181):
181:	   return undef if !defined $ret and $! != EINTR;
  DB<3> p $TOOL_RUNNER
# file /usr/share/lintian/commands/lintian.pm 
/usr/share/lintian/commands/lintian.pm: Perl script text executable

from fluent-package-builder.

kenhys avatar kenhys commented on June 23, 2024

I've reported this issue to upstream

arm64v8 focal: lintian will get stuck with it
https://bugs.launchpad.net/cloud-images/+bug/1881217

from fluent-package-builder.

kenhys avatar kenhys commented on June 23, 2024

It seems that https://bugs.launchpad.net/cloud-images/+bug/1881217/comments/4 should be a lintian bug.

from fluent-package-builder.

kenhys avatar kenhys commented on June 23, 2024

It seems that $future may be valid compared to amd64 case.
use Data::Dumper;

root@0104ff753c95:/# perl epoll.pl 
$VAR1 = bless( {
                 'ready' => 0,
                 'loop' => bless( {
                                    'timequeue' => undef,
                                    'sigattaches' => {},
                                    'masks' => {},
                                    'threadwatches' => {},
                                    'sigmask' => bless( do{\(my $o = '')}, 'POSIX::SigSet' ),
                                    'refaddr_for_fileno' => {},
                                    'epoll' => bless( \*Linux::Epoll::_GEN_0, 'Linux::Epoll' ),
                                    'fakeevents' => {},
                                    'signals' => {},
                                    'iowatches' => {},
                                    'pid' => 42102,
                                    'deferrals' => [],
                                    'old_timer' => '',
                                    'notifiers' => {},
                                    'childwatches' => {},
                                    'os' => {},
                                    'maxevents' => 8,
                                    'childmanager' => undef
                                  }, 'IO::Async::Loop::Epoll' ),
                 'callbacks' => []
               }, 'IO::Async::Future' );

from fluent-package-builder.

kenhys avatar kenhys commented on June 23, 2024

I've reported with this issue as https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=964770
I hope the upstream will fix this issue sooner or later.

from fluent-package-builder.

kenhys avatar kenhys commented on June 23, 2024

FYI: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=964770

This issue seems to be fixed in lintian 2.92.0. so it will be fixed by next Ubuntu 21.04 “Hirsute Hippo” release.

from fluent-package-builder.

kenhys avatar kenhys commented on June 23, 2024

This issue was fixed in upstream and the workaround is already implemented, so I'll close this issue.

from fluent-package-builder.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.