Package: lintian
Version: 2.115.2
Severity: important

Checking a current firefox source package emits thousands of these perl
warnings:

[…]
Warning in processable firefox_102.0-1.dsc: Complex regular subexpression 
recursion limit (65534) exceeded at 
/usr/share/lintian/lib/Lintian/Check/Cruft.pm line 449.
Warning in processable firefox_102.0-1.dsc: Complex regular subexpression 
recursion limit (65534) exceeded at 
/usr/share/lintian/lib/Lintian/Check/Cruft.pm line 449.
Warning in processable firefox_102.0-1.dsc: Complex regular subexpression 
recursion limit (65534) exceeded at 
/usr/share/lintian/lib/Lintian/Check/Cruft.pm line 449.
Warning in processable firefox_102.0-1.dsc: Complex regular subexpression 
recursion limit (65534) exceeded at 
/usr/share/lintian/lib/Lintian/Check/Cruft.pm line 449.
Warning in processable firefox_102.0-1.dsc: Complex regular subexpression 
recursion limit (65534) exceeded at 
/usr/share/lintian/lib/Lintian/Check/Cruft.pm line 449.
Warning in processable firefox_102.0-1.dsc: Complex regular subexpression 
recursion limit (65534) exceeded at 
/usr/share/lintian/lib/Lintian/Check/Cruft.pm line 449.
Warning in processable firefox_102.0-1.dsc: Complex regular subexpression 
recursion limit (65534) exceeded at 
/usr/share/lintian/lib/Lintian/Check/Cruft.pm line 449.
Warning in processable firefox_102.0-1.dsc: Complex regular subexpression 
recursion limit (65534) exceeded at 
/usr/share/lintian/lib/Lintian/Check/Cruft.pm line 449.
Warning in processable firefox_102.0-1.dsc: Complex regular subexpression 
recursion limit (65534) exceeded at 
/usr/share/lintian/lib/Lintian/Check/Cruft.pm line 449.
Warning in processable firefox_102.0-1.dsc: Complex regular subexpression 
recursion limit (65534) exceeded at 
/usr/share/lintian/lib/Lintian/Check/Cruft.pm line 449.
Warning in processable firefox_102.0-1.dsc: Complex regular subexpression 
recursion limit (65534) exceeded at 
/usr/share/lintian/lib/Lintian/Check/Cruft.pm line 449.
Warning in processable firefox_102.0-1.dsc: Complex regular subexpression 
recursion limit (65534) exceeded at 
/usr/share/lintian/lib/Lintian/Check/Cruft.pm line 449.
[…]

The code in question is:

    # from perl faq strip comments
    $lowercase =~ s{
                # Strip /* */ comments
                /\* [^*]*+ \*++ (?: [^/*][^*]*+\*++ ) */
                # Strip // comments (C++ style)
                |  // (?: [^\\] | [^\n][\n]? )*? (?=\n)
                |  (
                    # Keep "/* */" (etc) as is
                    "(?: \\. | [^"\\]++)*"
                    # Keep '/**/' (etc) as is
                    | '(?: \\. | [^'\\]++)*'
                    # Keep anything else
                    | .[^/"'\\]*+
                   )
               }{defined $1 ? $1 : ""}xgse;

This could be one reason (but very likely not the only one) to known
performance issues with lintian when checking postgresql (see #1014162)
or firefox. (Running lintian on a current firefox is said to take
several hours; which is the reason why I was trying to run lintian
against a current version of firefox.)

On a side note, lintian also needs more than approx. 10x the size of the
(compressed) source package for analysing, i.e. for the ca. 590 MB
source package, but it also first copies the tarball(s) which seems
rather unnecessary. Anyway:

Warning in processable firefox_102.0-1.dsc: No space left on device writing to 
temp file at /usr/share/perl5/IPC/Run3.pm line 150.

$ du -sh /tmp/lintian-pool-*
5.2G    /tmp/lintian-pool-OrasJ73xZK

Not really unexpected if it unpacks the whole source code, but still
caused troubles. Need to do these kind of tests on bigger RAM
disks. Which means in the end also to use boxes with more RAM. I've now
started such a run on rotating disks… Lets see how long that one takes.

-- System Information:
Debian Release: bookworm/sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (600, 'testing'), (500, 'unstable-debug'), 
(500, 'buildd-unstable'), (110, 'experimental'), (1, 'experimental-debug'), (1, 
'buildd-experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.16.0-6-amd64 (SMP w/8 CPU threads; PREEMPT)
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
LSM: AppArmor: enabled

Versions of packages lintian depends on:
ii  binutils                        2.38.50.20220629-4
ii  bzip2                           1.0.8-5
ii  clzip [lzip-decompressor]       1.13-3
ii  diffstat                        1.64-1
ii  dpkg                            1.21.9
ii  dpkg-dev                        1.21.9
ii  file                            1:5.41-4
ii  gettext                         0.21-6
ii  gpg                             2.2.35-3
ii  intltool-debian                 0.35.0+20060710.5
ii  iso-codes                       4.10.0-1
ii  libapt-pkg-perl                 0.1.40+b1
ii  libarchive-zip-perl             1.68-1
ii  libberkeleydb-perl              0.64-1+b2
ii  libcapture-tiny-perl            0.48-1
ii  libclass-xsaccessor-perl        1.19-3+b8
ii  libclone-perl                   0.45-1+b2
ii  libconfig-tiny-perl             2.28-1
ii  libconst-fast-perl              0.014-2
ii  libcpanel-json-xs-perl          4.30-1
ii  libdata-dpath-perl              0.58-1
ii  libdata-validate-domain-perl    0.10-1.1
ii  libdata-validate-uri-perl       0.07-2
ii  libdevel-size-perl              0.83-1+b3
ii  libdigest-sha-perl              6.02-1+b4
ii  libdpkg-perl                    1.21.9
ii  libemail-address-xs-perl        1.04-1+b4
ii  libencode-perl                  3.18-1
ii  libfile-basedir-perl            0.09-1
ii  libfile-find-rule-perl          0.34-2
ii  libfont-ttf-perl                1.06-2
ii  libhtml-html5-entities-perl     0.004-2
ii  libhtml-tokeparser-simple-perl  3.16-4
ii  libio-interactive-perl          1.023-1
ii  libipc-run3-perl                0.048-2
ii  libjson-maybexs-perl            1.004003-1
ii  liblist-compare-perl            0.55-1
ii  liblist-someutils-perl          0.58-1
ii  liblist-utilsby-perl            0.12-1
ii  libmldbm-perl                   2.05-3
ii  libmoo-perl                     2.005004-3
ii  libmoox-aliases-perl            0.001006-2
ii  libnamespace-clean-perl         0.27-2
ii  libpath-tiny-perl               0.122-1
ii  libperlio-gzip-perl             0.20-1
ii  libperlio-utf8-strict-perl      0.009-1+b1
ii  libproc-processtable-perl       0.634-1+b1
ii  libregexp-wildcards-perl        1.05-2
ii  libsereal-decoder-perl          4.023+ds-1
ii  libsereal-encoder-perl          4.023+ds-1
ii  libsort-versions-perl           1.62-2
ii  libsyntax-keyword-try-perl      0.27-1
ii  libterm-readkey-perl            2.38-1+b3
ii  libtext-levenshteinxs-perl      0.03-5
ii  libtext-markdown-discount-perl  0.13-1+b1
ii  libtext-xslate-perl             3.5.9-1+b1
ii  libtime-duration-perl           1.21-1
ii  libtime-moment-perl             0.44-1+b4
ii  libtimedate-perl                2.3300-2
ii  libunicode-utf8-perl            0.62-1+b3
ii  liburi-perl                     5.10-1
ii  libwww-mechanize-perl           2.09-1
ii  libwww-perl                     6.67-1
ii  libxml-libxml-perl              2.0207+dfsg+really+2.0134-1
ii  libyaml-libyaml-perl            0.83+ds-1+b1
ii  lunzip [lzip-decompressor]      1.13-3
ii  lzip [lzip-decompressor]        1.23-3
ii  lzop                            1.04-2
ii  man-db                          2.10.2-1
ii  patchutils                      0.4.2-1
ii  perl [libencode-perl]           5.34.0-4
ii  plzip [lzip-decompressor]       1.10-3
ii  t1utils                         1.41-4
ii  unzip                           6.0-26
ii  xlunzip [lzip-decompressor]     0.7-5
ii  xz-utils                        5.2.5-2.1

lintian recommends no packages.

Versions of packages lintian suggests:
ii  binutils-multiarch     2.38.50.20220629-4
ii  libtext-template-perl  1.61-1

-- no debconf information

Reply via email to