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

Bug#1014254: lintian: Complex regular subexpression recursion limit (65534) exceeded at /usr/share/lintian/lib/Lintian/Check/Cruft.pm line 449.



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 to: