unofficial mirror of meta@public-inbox.org
 help / color / mirror / Atom feed
* [Debian 9][Perl 5.24] uninitialized value errors in Encode/MIME/Header.pm
@ 2020-12-26 11:27 Ali Alnubani
  2020-12-26 12:25 ` [PATCH] eml: fix undefined vars on <Perl 5.28 Eric Wong
  2020-12-26 12:30 ` [PATCH] t/config: test --get-urlmatch for git <2.26 Eric Wong
  0 siblings, 2 replies; 7+ messages in thread
From: Ali Alnubani @ 2020-12-26 11:27 UTC (permalink / raw)
  To: meta

Hi,

I see errors similar to the following in Debian 9 (stretch) with Perl 5.24:
"""
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
"""

The errors reproduce when running make test, public-inbox-watch, and public-inbox-index on v1.5.0 and later, including v1.6.0 and latest master 451ffd30.

git-bisect points to "d35a49e1 eml: remove dependency on Email::MIME::Encodings" as the first bad commit. However, reverting it causes a different failure in t/eml.t:
"""
t/eml.t ...................... 1/? Undefined subroutine &PublicInbox::Eml::encode_base64 called at /opt/public-inbox.org/blib/lib/PublicInbox/Eml.pm line 291.
"""

Output of make test on v1.5.0 (Result: PASS):
"""
PERL_DL_NONLAZY=1 PERL_USE_UNSAFE_INC=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/address.t .................. ok    
t/admin.t .................... ok    
...
t/emergency.t ................ ok    
t/eml.t ...................... 1/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
...
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
t/eml.t ...................... ok     
...
t/filter_subjecttag.t ........ 1/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
t/filter_subjecttag.t ........ ok   
...
t/hval.t ..................... ok    
t/import.t ................... 1/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198, <$r> line 1.
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198, <$r> line 2.
...
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198, <$r> line 5.
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
t/import.t ................... ok    
t/inbox.t .................... ok    
...
t/mda.t ...................... 1/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
t/mda.t ...................... ok    
...
t/nntp.t ..................... ok    
t/nntpd-tls.t ................ skipped: certs/ missing for t/nntpd-tls.t, run /usr/bin/perl ./create-certs.perl in certs/
t/nntpd.t .................... 1/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
...
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198, <$r> line 2.
t/nntpd.t .................... ok    
t/nulsubject.t ............... 1/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
t/nulsubject.t ............... ok   
t/over.t ..................... ok    
...
t/search-thr-index.t ......... ok    
t/search.t ................... 10/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
...
t/search.t ................... ok     
...
All tests successful.
Files=91, Tests=3499, 87 wallclock secs ( 0.67 usr  0.10 sys + 18.26 cusr  9.28 csys = 28.31 CPU)
Result: PASS
"""

Output of make test on master 451ffd30 (Result: FAIL):
"""
PERL_DL_NONLAZY=1 PERL_USE_UNSAFE_INC=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/address.t .................. ok
t/admin.t .................... ok
t/altid.t .................... ok
t/altid_v2.t ................. ok
t/cgi.t ...................... ok
t/config.t ................... 1/?
#   Failed test 'urlmatch hit'
#   at t/config.t line 249.
#          got: undef
#     expected: '9'
# Looks like you failed 1 test of 95.
t/config.t ................... Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/95 subtests
t/config_limiter.t ........... ok
...
t/eml.t ...................... 1/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
...
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
t/eml.t ...................... ok
t/eml_content_disposition.t .. ok
t/eml_content_type.t ......... ok
t/epoll.t .................... ok
t/extsearch.t ................ 4/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
...
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
/tmp/pi-extsearch-7425-uu6DWm/v1test: e826130e3f1a89b68e41c17004bdb952893ea0ad: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
...
/tmp/pi-extsearch-7425-uu6DWm/v1test: e826130e3f1a89b68e41c17004bdb952893ea0ad: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
v2test 0.git  24dce2a64c97ee93ded01e4846fb29bd42fd5794: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
...
v2test 0.git  24dce2a64c97ee93ded01e4846fb29bd42fd5794: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
[0] X=v2.example\0 395 407 1 24dce2a64c97ee93ded01e4846fb29bd42fd5794 0 0 1 testmessage@example.com: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198, <$r> line 1.
...
[0] X=v2.example\0 395 407 1 24dce2a64c97ee93ded01e4846fb29bd42fd5794 0 0 1 testmessage@example.com: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198, <$r> line 1.
v1test  e826130e3f1a89b68e41c17004bdb952893ea0ad: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
...
v1test  24dce2a64c97ee93ded01e4846fb29bd42fd5794: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
t/extsearch.t ................ 6/? v2test 0.git  a90dbf79129609b6b9f92d95b7f867d3787996f2: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
v2test 0.git  a90dbf79129609b6b9f92d95b7f867d3787996f2: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
...
v2test 0.git  a90dbf79129609b6b9f92d95b7f867d3787996f2: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
t/extsearch.t ................ 56/?  #1 e826130e3f1a89b68e41c17004bdb952893ea0ad: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
 #1 e826130e3f1a89b68e41c17004bdb952893ea0ad: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
 ...
 #1 e826130e3f1a89b68e41c17004bdb952893ea0ad: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
[0] X=v1.example\0 395 407 1 e826130e3f1a89b68e41c17004bdb952893ea0ad 0 0 6 testmessage@example.com: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198, <$r> line 1.
...
[0] X=v1.example\0 395 407 1 e826130e3f1a89b68e41c17004bdb952893ea0ad 0 0 6 testmessage@example.com: Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198, <$r> line 1.
t/extsearch.t ................ ok
...
t/filter_subjecttag.t ........ 1/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
...
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
t/filter_subjecttag.t ........ ok
...
t/import.t ................... 1/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
...
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
t/import.t ................... ok
t/inbox.t .................... ok
t/inbox_idle.t ............... 2/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
...
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198, <$r> line 2.
t/inbox_idle.t ............... ok
...
t/mda.t ...................... 1/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
t/mda.t ...................... ok
...
t/nntpd-tls.t ................ skipped: certs/ missing for t/nntpd-tls.t, run /usr/bin/perl ./create-certs.perl in certs/
t/nntpd-v2.t ................. 3/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
...
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198, <$r> line 2.
t/nntpd-v2.t ................. 104/? # waiting for initial fetch...
# inbox unlocked on initial fetch
t/nntpd-v2.t ................. ok
t/nntpd.t .................... 3/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
...
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
t/nntpd.t .................... 104/? # waiting for initial fetch...
# inbox unlocked on initial fetch
t/nntpd.t .................... ok
...
t/search.t ................... 40/? Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
...
Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
t/search.t ................... ok
...
t/xcpdb-reshard.t ............ ok

Test Summary Report
-------------------
t/config.t                 (Wstat: 256 Tests: 95 Failed: 1)
  Failed test:  94
  Non-zero exit status: 1
Files=112, Tests=4214, 109 wallclock secs ( 0.86 usr  0.08 sys + 24.04 cusr 11.98 csys = 36.96 CPU)
Result: FAIL
Failed 1/112 test programs. 1/4214 subtests failed.
Makefile:1308: recipe for target 'test_dynamic' failed
make: *** [test_dynamic] Error 255
"""

Packages (On Debian 9 where the issue reproduces):
"""
libalgorithm-diff-perl: 1.19.03-1
libalgorithm-diff-xs-perl: 0.04-4+b2
libalgorithm-merge-perl: 0.08-3
libapache-logformat-compiler-perl: 0.33-2
libauthen-sasl-perl: 2.1600-1
libcgi-compile-perl: 0.21-1
libcgi-emulate-psgi-perl: 0.22-1
libcgi-fast-perl: 1:2.12-1
libcgi-pm-perl: 4.35-1
libclass-inspector-perl: 1.31-1
libclass-isa-perl: 0.36-5
libcommon-sense-perl: 3.74-2
libcookie-baker-perl: 0.07-1
libcpanel-json-xs-perl: 3.0225-1
libcrypt-cbc-perl: 2.33-1
libcrypt-rijndael-perl: 1.13-1+b2
libdbd-sqlite3-perl: 1.54-1
libdbi-perl: 1.636-1+deb9u1
libdevel-globaldestruction-perl: 0.14-1
libdevel-stacktrace-ashtml-perl: 0.15-1
libdevel-stacktrace-perl: 2.0200-1
libdist-checkconflicts-perl: 0.11-1
libdpkg-perl: 1.18.25
libemail-address-perl: 1.908-1+deb9u1
libemail-date-format-perl: 1.005-1
libemail-messageid-perl: 1.406-1
libemail-mime-contenttype-perl: 1.018-1
libemail-mime-encodings-perl: 1.315-1
libemail-mime-perl: 1.937-1
libemail-simple-perl: 2.213-1
libencode-locale-perl: 1.05-1
libencode-perl: 2.88-1
liberror-perl: 0.17024-1
libfcgi-perl: 0.78-2
libfcgi-procmanager-perl: 0.25-1
libfile-fcntllock-perl: 0.22-3+b2
libfile-listing-perl: 6.04-1
libfile-pushd-perl: 1.014-1
libfile-sharedir-perl: 1.102-1
libfilesys-notify-simple-perl: 0.12-1
libfont-afm-perl: 1.20-2
libhash-multivalue-perl: 0.16-1
libhighlight-perl: 3.18-3+b5
libhtml-form-perl: 6.03-1
libhtml-format-perl: 2.12-1
libhtml-parser-perl: 3.72-3
libhtml-tagset-perl: 3.20-3
libhtml-tree-perl: 5.03-2
libhttp-cookies-perl: 6.01-1
libhttp-daemon-perl: 6.01-1
libhttp-date-perl: 6.02-1
libhttp-entity-parser-perl: 0.18-1
libhttp-headers-fast-perl: 0.20-1
libhttp-message-perl: 6.11-1
libhttp-multipartparser-perl: 0.01-1
libhttp-negotiate-perl: 6.00-2
libinline-c-perl: 0.76-1
libinline-files-perl: 0.68-1
libinline-perl: 0.80-1
libio-html-perl: 1.001-1
libio-multiplex-perl: 1.16-1
libio-socket-inet6-perl: 2.72-2
libio-socket-ssl-perl: 2.044-1
libipc-shareable-perl: 0.61-1
libjson-maybexs-perl: 1.003008-1
liblinux-inotify2-perl: 1:1.22-3
liblocale-gettext-perl: 1.07-3+b1
liblog-dispatch-perl: 2.58-1
liblog-log4perl-perl: 1.48-1+deb9u1
liblwp-mediatypes-perl: 6.02-1
liblwp-protocol-https-perl: 6.06-2
libmail-sendmail-perl: 0.79.16-2
libmailtools-perl: 2.18-1
libmime-lite-perl: 3.030-2
libmime-types-perl: 2.13-1
libmodule-implementation-perl: 0.09-1
libmodule-refresh-perl: 0.17-1
libmodule-runtime-perl: 0.014-2
libnet-cidr-perl: 0.18-1
libnet-http-perl: 6.12-1
libnet-server-perl: 2.008-3
libnet-smtp-ssl-perl: 1.04-1
libnet-ssleay-perl: 1.80-1
libparams-classify-perl: 0.013-6+b1
libparams-validate-perl: 1.26-1
libparse-recdescent-perl: 1.967013+dfsg-1
libpcre3: 2:8.39-3
libpegex-perl: 0.63-1
libperl5.24: 5.24.1-3+deb9u7
libplack-middleware-deflater-perl: 0.12-1
libplack-middleware-reverseproxy-perl: 0.15-1
libplack-perl: 1.0042-1
libposix-strftime-compiler-perl: 0.42-1
libsearch-xapian-perl: 1.2.24.0-1
libsocket6-perl: 0.27-1+b1
libstream-buffered-perl: 0.03-1
libsub-exporter-progressive-perl: 0.001013-1
libswitch-perl: 2.17-2
libsys-hostname-long-perl: 1.5-1
libtest-sharedfork-perl: 0.35-1
libtest-tcp-perl: 2.17-1
libtext-charwidth-perl: 0.04-7+b5
libtext-iconv-perl: 1.7-5+b4
libtext-wrapi18n-perl: 0.06-7.1
libtimedate-perl: 2.3000-2+deb9u1
libtry-tiny-perl: 0.28-1
liburi-perl: 1.71-1
libwww-form-urlencoded-perl: 0.23-2
libwww-form-urlencoded-xs-perl: 0.23-1
libwww-perl: 6.15-1
libwww-robotrules-perl: 6.01-1
libxapian30: 1.4.3-2+deb9u3
libxml-treepp-perl: 0.43-1
perl: 5.24.1-3+deb9u7
perl-base: 5.24.1-3+deb9u7
perl-modules-5.24: 5.24.1-3+deb9u7
perl-openssl-defaults: 3
xapian-tools: 1.4.3-2+deb9u3
"""

The uninitialized value warnings and test errors do not reproduce on Debian 10 (buster) with packages:
"""
libalgorithm-c3-perl: 0.10-1
libalgorithm-diff-perl: 1.19.03-2
libalgorithm-diff-xs-perl: 0.04-5+b1
libalgorithm-merge-perl: 0.08-3
libapache-logformat-compiler-perl: 0.35-1
libauthen-sasl-perl: 2.1600-1
libb-hooks-endofscope-perl: 0.24-1
libb-hooks-op-check-perl: 0.22-1+b1
libcgi-compile-perl: 0.22-2
libcgi-emulate-psgi-perl: 0.23-1
libcgi-fast-perl: 1:2.13-1
libcgi-pm-perl: 4.40-1
libclass-c3-perl: 0.34-1
libclass-c3-xs-perl: 0.14-1+b3
libclass-data-inheritable-perl: 0.08-3
libclass-inspector-perl: 1.32-1
libclass-method-modifiers-perl: 2.12-1
libclass-xsaccessor-perl: 1.19-3+b2
libcommon-sense-perl: 3.74-2+b7
libcookie-baker-perl: 0.10-4
libcookie-baker-xs-perl: 0.10-1+b1
libcpanel-json-xs-perl: 4.09-1
libcrypt-cbc-perl: 2.33-2
libcrypt-rijndael-perl: 1.13-1+b5
libdata-dump-perl: 1.23-1
libdata-optlist-perl: 0.110-1
libdbd-sqlite3-perl: 1.62-3
libdbi-perl: 1.642-1+deb10u1
libdevel-callchecker-perl: 0.008-1
libdevel-caller-perl: 2.06-2+b1
libdevel-globaldestruction-perl: 0.14-1
libdevel-lexalias-perl: 0.05-2+b1
libdevel-stacktrace-ashtml-perl: 0.15-1
libdevel-stacktrace-perl: 2.0300-1
libdist-checkconflicts-perl: 0.11-1
libdpkg-perl: 1.19.7
libdynaloader-functions-perl: 0.003-1
libemail-address-xs-perl: 1.04-1+b1
libemail-date-format-perl: 1.005-1
libemail-messageid-perl: 1.406-1
libemail-mime-contenttype-perl: 1.022-1
libemail-mime-encodings-perl: 1.315-2
libemail-mime-perl: 1.946-1
libemail-simple-perl: 2.216-1
libencode-locale-perl: 1.05-1
libencode-perl: 3.00-1
liberror-perl: 0.17027-2
libeval-closure-perl: 0.14-1
libexception-class-perl: 1.44-1
libfcgi-perl: 0.78-2+b3
libfcgi-procmanager-perl: 0.28-1
libfile-fcntllock-perl: 0.22-3+b5
libfile-listing-perl: 6.04-1
libfile-pushd-perl: 1.016-1
libfile-sharedir-perl: 1.116-2
libfilesys-notify-simple-perl: 0.13-1
libfont-afm-perl: 1.20-2
libhash-multivalue-perl: 0.16-1
libhighlight-perl: 3.41-2+b1
libhtml-form-perl: 6.03-1
libhtml-format-perl: 2.12-1
libhtml-parser-perl: 3.72-3+b3
libhtml-tagset-perl: 3.20-3
libhtml-tree-perl: 5.07-2
libhttp-cookies-perl: 6.04-1
libhttp-daemon-perl: 6.01-3
libhttp-date-perl: 6.02-1
libhttp-entity-parser-perl: 0.21-1
libhttp-headers-fast-perl: 0.21-1
libhttp-message-perl: 6.18-1
libhttp-multipartparser-perl: 0.02-1
libhttp-negotiate-perl: 6.01-1
libinline-c-perl: 0.78-1
libinline-files-perl: 0.68-1
libinline-perl: 0.81-1
libio-html-perl: 1.001-1
libio-multiplex-perl: 1.16-1
libio-socket-inet6-perl: 2.72-2
libio-socket-ssl-perl: 2.060-3
libipc-shareable-perl: 0.61-2
libjson-maybexs-perl: 1.004000-1
liblinux-inotify2-perl: 1:2.1-1
liblocale-gettext-perl: 1.07-3+b4
liblog-dispatch-perl: 2.68-1
liblog-log4perl-perl: 1.49-1
liblwp-mediatypes-perl: 6.02-1
liblwp-protocol-https-perl: 6.07-2
libmail-sendmail-perl: 0.80-1
libmailtools-perl: 2.18-1
libmime-lite-perl: 3.030-2
libmime-types-perl: 2.17-1
libmodule-implementation-perl: 0.09-1
libmodule-refresh-perl: 0.17-1
libmodule-runtime-perl: 0.016-1
libmro-compat-perl: 0.13-1
libnamespace-autoclean-perl: 0.28-1
libnamespace-clean-perl: 0.27-1
libnet-cidr-perl: 0.19-1
libnet-http-perl: 6.18-1
libnet-server-perl: 2.009-1
libnet-smtp-ssl-perl: 1.04-1
libnet-ssleay-perl: 1.85-2+b1
libpackage-stash-perl: 0.38-1
libpackage-stash-xs-perl: 0.29-1
libpadwalker-perl: 2.3-1+b1
libparams-classify-perl: 0.015-1+b1
libparams-util-perl: 1.07-3+b4
libparams-validationcompiler-perl: 0.30-1
libparse-recdescent-perl: 1.967015+dfsg-2
libpcre2-8-0: 10.32-5
libpcre3: 2:8.39-12
libpegex-perl: 0.70-1
libperl5.28: 5.28.1-6+deb10u1
libplack-middleware-deflater-perl: 0.12-2
libplack-middleware-reverseproxy-perl: 0.16-1
libplack-perl: 1.0047-1
libposix-strftime-compiler-perl: 0.42-1
libreadonly-perl: 2.050-1
libref-util-perl: 0.204-1
libref-util-xs-perl: 0.117-1+b1
librole-tiny-perl: 2.000006-1
libsearch-xapian-perl: 1.2.25.2-1+b2
libsocket6-perl: 0.29-1+b1
libspecio-perl: 0.43-1
libstream-buffered-perl: 0.03-1
libsub-exporter-perl: 0.987-1
libsub-exporter-progressive-perl: 0.001013-1
libsub-identify-perl: 0.14-1+b1
libsub-install-perl: 0.928-1
libsub-name-perl: 0.21-1+b3
libsub-quote-perl: 2.005001-1
libsys-hostname-long-perl: 1.5-1
libtest-sharedfork-perl: 0.35-1
libtest-tcp-perl: 2.19-1
libtext-charwidth-perl: 0.04-7.1+b1
libtext-iconv-perl: 1.7-5+b7
libtext-wrapi18n-perl: 0.06-7.1
libtimedate-perl: 2.3000-2+deb10u1
libtry-tiny-perl: 0.30-1
liburi-perl: 1.76-1
libvariable-magic-perl: 0.62-1+b1
libwww-form-urlencoded-perl: 0.25-1
libwww-form-urlencoded-xs-perl: 0.25-1+b1
libwww-perl: 6.36-2
libwww-robotrules-perl: 6.02-1
libxapian30: 1.4.11-1
libxml-treepp-perl: 0.43-1
perl: 5.28.1-6+deb10u1
perl-base: 5.28.1-6+deb10u1
perl-modules-5.28: 5.28.1-6+deb10u1
perl-openssl-defaults: 3
xapian-tools: 1.4.11-1
"""

Thanks in advance for helping,

- Ali

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH] eml: fix undefined vars on <Perl 5.28
  2020-12-26 11:27 [Debian 9][Perl 5.24] uninitialized value errors in Encode/MIME/Header.pm Ali Alnubani
@ 2020-12-26 12:25 ` Eric Wong
  2020-12-26 14:10   ` Ali Alnubani
  2020-12-26 12:30 ` [PATCH] t/config: test --get-urlmatch for git <2.26 Eric Wong
  1 sibling, 1 reply; 7+ messages in thread
From: Eric Wong @ 2020-12-26 12:25 UTC (permalink / raw)
  To: Ali Alnubani; +Cc: meta

Ali Alnubani <alialnu@nvidia.com> wrote:
> Hi,
> 
> I see errors similar to the following in Debian 9 (stretch) with Perl 5.24:
> """
> Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-gnu/perl5/5.24/Encode/MIME/Header.pm line 198.

Thanks for the bug report, it looks like the default was only
applied in top-level Encode::decode() wrapper and not the
per-object ->decode callbacks which we use with find_encoding().

(separate patch coming for the t/config.t fix)

-----------8<-----------
Subject: [PATCH] eml: fix undefined vars on <Perl 5.28

Encode::MIME::Header::_decode_octets did not correctly default
to Encode::FB_DEFAULT until Encode 2.93 (perl5.git commit
0c541dc5633a341cf44b818014b58e7f8be532e9).  Provide the default
again to work with older Perls.

Reported-by: Ali Alnubani <alialnu@nvidia.com>
Link: https://public-inbox.org/meta/DM6PR12MB49106F8E3BD697B63B943A22DADB0@DM6PR12MB4910.namprd12.prod.outlook.com/
---
 lib/PublicInbox/Eml.pm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/PublicInbox/Eml.pm b/lib/PublicInbox/Eml.pm
index 571edc5c..4d3fffc0 100644
--- a/lib/PublicInbox/Eml.pm
+++ b/lib/PublicInbox/Eml.pm
@@ -378,7 +378,9 @@ sub header_str_set {
 	header_set($self, $name, @vals);
 }
 
-sub mhdr_decode ($) { eval { $MIME_Header->decode($_[0]) } // $_[0] }
+sub mhdr_decode ($) {
+	eval { $MIME_Header->decode($_[0], Encode::FB_DEFAULT) } // $_[0];
+}
 
 sub filename {
 	my $dis = header_raw($_[0], 'Content-Disposition');

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH] t/config: test --get-urlmatch for git <2.26
  2020-12-26 11:27 [Debian 9][Perl 5.24] uninitialized value errors in Encode/MIME/Header.pm Ali Alnubani
  2020-12-26 12:25 ` [PATCH] eml: fix undefined vars on <Perl 5.28 Eric Wong
@ 2020-12-26 12:30 ` Eric Wong
  2020-12-26 14:12   ` Ali Alnubani
  1 sibling, 1 reply; 7+ messages in thread
From: Eric Wong @ 2020-12-26 12:30 UTC (permalink / raw)
  To: Ali Alnubani; +Cc: meta

Ali Alnubani <alialnu@nvidia.com> wrote:
> t/config.t ................... 1/?
> #   Failed test 'urlmatch hit'
> #   at t/config.t line 249.
> #          got: undef
> #     expected: '9'
> # Looks like you failed 1 test of 95.

Just fixing the test, for now; I guess -watch documentation
could use some updates or the code updated to not depend on
git for URL matching at all (it's not in libgit2, either,
but wildcard => Perl regexp translation isn't too bad, and
we'll be needing it elsewhere, I think)

----------8<---------
Subject: [PATCH] t/config: test --get-urlmatch for git <2.26

While git 1.8.5 learned --get-urlmatch, git did not learn to
match URLs against wildcards until 2.26.  So only depend on
1.8.5 for this test since 2.26 is too new.

Reported-by: Ali Alnubani <alialnu@nvidia.com>
Link: https://public-inbox.org/meta/DM6PR12MB49106F8E3BD697B63B943A22DADB0@DM6PR12MB4910.namprd12.prod.outlook.com/
---
 t/config.t | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/t/config.t b/t/config.t
index 99a7fef4..7fb44acc 100644
--- a/t/config.t
+++ b/t/config.t
@@ -234,12 +234,13 @@ EOF
 }
 
 SKIP: {
+	# XXX wildcard match requires git 2.26+
 	require_git('1.8.5', 2) or
 		skip 'git 1.8.5+ required for --url-match', 2;
 	my $f = "$tmpdir/urlmatch";
 	open my $fh, '>', $f or BAIL_OUT $!;
 	print $fh <<EOF or BAIL_OUT $!;
-[imap "imap://*.example.com"]
+[imap "imap://mail.example.com"]
 	pollInterval = 9
 EOF
 	close $fh or BAIL_OUT;

^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: [PATCH] eml: fix undefined vars on <Perl 5.28
  2020-12-26 12:25 ` [PATCH] eml: fix undefined vars on <Perl 5.28 Eric Wong
@ 2020-12-26 14:10   ` Ali Alnubani
  2020-12-26 20:35     ` stable 1.6.1 release? [was: [PATCH] eml: fix undefined vars on <Perl 5.28] Eric Wong
  0 siblings, 1 reply; 7+ messages in thread
From: Ali Alnubani @ 2020-12-26 14:10 UTC (permalink / raw)
  To: Eric Wong; +Cc: meta

Hi Eric,

> -----Original Message-----
> From: Eric Wong <e@80x24.org>
> Sent: Saturday, December 26, 2020 2:26 PM
> To: Ali Alnubani <alialnu@nvidia.com>
> Cc: meta@public-inbox.org
> Subject: [PATCH] eml: fix undefined vars on <Perl 5.28
> 
> Ali Alnubani <alialnu@nvidia.com> wrote:
> > Hi,
> >
> > I see errors similar to the following in Debian 9 (stretch) with Perl 5.24:
> > """
> > Use of uninitialized value in subroutine entry at /usr/lib/x86_64-linux-
> gnu/perl5/5.24/Encode/MIME/Header.pm line 198.
> 
> Thanks for the bug report, it looks like the default was only applied in top-
> level Encode::decode() wrapper and not the per-object ->decode callbacks
> which we use with find_encoding().
> 

Thanks a lot for your response and working on this!
I no longer see the uninitialized value warnings or the test failure on Debian 9 with both patches applied on master. Do you plan on creating a new release tag soon with these fixes?

Tested-by: Ali Alnubani <alialnu@nvidia.com>

Thanks,
Ali

^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: [PATCH] t/config: test --get-urlmatch for git <2.26
  2020-12-26 12:30 ` [PATCH] t/config: test --get-urlmatch for git <2.26 Eric Wong
@ 2020-12-26 14:12   ` Ali Alnubani
  0 siblings, 0 replies; 7+ messages in thread
From: Ali Alnubani @ 2020-12-26 14:12 UTC (permalink / raw)
  To: Eric Wong; +Cc: meta

> -----Original Message-----
> From: Eric Wong <e@80x24.org>
> Sent: Saturday, December 26, 2020 2:31 PM
> To: Ali Alnubani <alialnu@nvidia.com>
> Cc: meta@public-inbox.org
> Subject: [PATCH] t/config: test --get-urlmatch for git <2.26
> 
> Ali Alnubani <alialnu@nvidia.com> wrote:
> > t/config.t ................... 1/?
> > #   Failed test 'urlmatch hit'
> > #   at t/config.t line 249.
> > #          got: undef
> > #     expected: '9'
> > # Looks like you failed 1 test of 95.
> 
> Just fixing the test, for now; I guess -watch documentation could use some
> updates or the code updated to not depend on git for URL matching at all (it's
> not in libgit2, either, but wildcard => Perl regexp translation isn't too bad, and
> we'll be needing it elsewhere, I think)
> 

Tested-by: Ali Alnubani <alialnu@nvidia.com>

Thanks Eric.

Regards,
Ali

^ permalink raw reply	[flat|nested] 7+ messages in thread

* stable 1.6.1 release? [was: [PATCH] eml: fix undefined vars on <Perl 5.28]
  2020-12-26 14:10   ` Ali Alnubani
@ 2020-12-26 20:35     ` Eric Wong
  2020-12-31  0:06       ` Eric Wong
  0 siblings, 1 reply; 7+ messages in thread
From: Eric Wong @ 2020-12-26 20:35 UTC (permalink / raw)
  To: Ali Alnubani, Konstantin Ryabitsev; +Cc: meta

Ali Alnubani <alialnu@nvidia.com> wrote:
> I no longer see the uninitialized value warnings or the test
> failure on Debian 9 with both patches applied on master. Do
> you plan on creating a new release tag soon with these fixes?

Thanks, pushed to master and I've started a stable-1.6 branch
to https://80x24.org/public-inbox.git with 29 commits
cherry-picked from master which I hope are suitable.

There's two more I'm tempted to cherry-pick, though they
introduce behavior changes:

  fe01d7b117c8b1e1 import: drop X-Status in addition to Status
  1bf653ad139bf7bb nntp+www: drop List-* and Archived-At headers

Konstantin: thoughts on 1bf653ad139bf7bb being suitable for 1.6.1?

Anyways, here's what I have so far:

fdbd73069af6eed9 eml: fix undefined vars on <Perl 5.28
e16e09b239b4d8bf t/config: test --get-urlmatch for git <2.26
933fce93167eba86 inboxidle: avoid needless syscalls on refresh
a0b470cbaf01c699 inboxidle: clue users into resolving ENOSPC from inotify
b782533a0413578d inbox: name variable for values loop iterator
4f1a683dc895a7bd public-inbox-v[12]-format.pod: make lexgrog happy
7a92c24157953dc6 manifest.js.gz: fix per-inbox /$INBOX/manifest.js.gz
78e81ae914ad24df Fix manpage section of perl module documentation
a4a1a74a2f60ec58 t/psgi_v2: ignore warnings on missing P::M::ReverseProxy
1cbb6243533fc2d4 daemon: support --daemonize without Net::Server::Daemonize
734daa9b165e248c doc: v2-format: drop repeated word
b63c27f36a44d8de over: ensure old, merged {tid} is really gone
c39ed01a3a4c6c46 wwwattach: prevent deep-linking via Referer match
0366c73f20b436d4 t/eml.t: workaround newer Email::MIME* behavior
bf14a3670da72358 nntp: attempt RFC 5536 3.1.5-conformant Path: headers
2fcf2b14a9ce3336 nntp: delimit Newsgroup: header with commas
31f9b61a318f4daf tls: epollbit: account for miscellaneous OpenSSL errors
5efbbd5e3e45ff3a scripts/dupe-finder: restore $dbh variable
59cc88bb5bc5ce3e searchidx: index lower-case List-Id value
4ccff6f9122da89c ds: add missing label for systems w/o EPOLLEXCLUSIVE
f9c3b3746445219b imap: avoid raising exception if client disconnects
e578a012532cd91f idxstack: fix comment about file_char
d94b6dd634381748 mda: match List-Id insensitively
c6ca576baf1700a8 mid: drop repeated ';' in mid_escape() regular expression
8e9d4f877730dbdf doc: post-1.6 updates, start 1.7
d6d442866106248e config: warn on multiple values for some fields
64f7ab3a571b9db0 doc: txt2pre: more manpage URLs
915e01b9cd771a84 doc: flow: include -imapd
dec02da946b6bb29 t/indexlevels-mirror: fix improperly skipped test

Thoughts?

Fwiw, I consider these two the most important and was
considering a 1.6.1 release even before the recent fixes:

  7a92c24157953dc6 manifest.js.gz: fix per-inbox /$INBOX/manifest.js.gz
  b63c27f36a44d8de over: ensure old, merged {tid} is really gone

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: stable 1.6.1 release? [was: [PATCH] eml: fix undefined vars on <Perl 5.28]
  2020-12-26 20:35     ` stable 1.6.1 release? [was: [PATCH] eml: fix undefined vars on <Perl 5.28] Eric Wong
@ 2020-12-31  0:06       ` Eric Wong
  0 siblings, 0 replies; 7+ messages in thread
From: Eric Wong @ 2020-12-31  0:06 UTC (permalink / raw)
  To: Ali Alnubani, Konstantin Ryabitsev; +Cc: meta

Eric Wong <e@80x24.org> wrote:
> Ali Alnubani <alialnu@nvidia.com> wrote:
> > I no longer see the uninitialized value warnings or the test
> > failure on Debian 9 with both patches applied on master. Do
> > you plan on creating a new release tag soon with these fixes?
> 
> Thanks, pushed to master and I've started a stable-1.6 branch
> to https://80x24.org/public-inbox.git with 29 commits
> cherry-picked from master which I hope are suitable.
> 
> There's two more I'm tempted to cherry-pick, though they
> introduce behavior changes:
> 
>   fe01d7b117c8b1e1 import: drop X-Status in addition to Status

I've picked fe01d7b117c8b1e1 since it's a potential privacy leak.

>   1bf653ad139bf7bb nntp+www: drop List-* and Archived-At headers

Doesn't apply cleanly, but trivial to fix.  But not sure if it's
a big-enough issue.  Anyways, I'll release 1.6.1 before 2021...

(still lots of stuff brewing for lei + extindex...)

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-12-31  0:06 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-26 11:27 [Debian 9][Perl 5.24] uninitialized value errors in Encode/MIME/Header.pm Ali Alnubani
2020-12-26 12:25 ` [PATCH] eml: fix undefined vars on <Perl 5.28 Eric Wong
2020-12-26 14:10   ` Ali Alnubani
2020-12-26 20:35     ` stable 1.6.1 release? [was: [PATCH] eml: fix undefined vars on <Perl 5.28] Eric Wong
2020-12-31  0:06       ` Eric Wong
2020-12-26 12:30 ` [PATCH] t/config: test --get-urlmatch for git <2.26 Eric Wong
2020-12-26 14:12   ` Ali Alnubani

unofficial mirror of meta@public-inbox.org

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://yhetil.org/meta

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V1 meta meta/ https://yhetil.org/meta \
		meta@public-inbox.org
	public-inbox-index meta

Example config snippet for mirrors.
Newsgroups are available over NNTP:
	nntp://news.yhetil.org/yhetil.mail.public-inbox.meta
	nntp://news.public-inbox.org/inbox.mail.public-inbox.meta
	nntp://news.gmane.io/gmane.mail.public-inbox.general


AGPL code for this site: git clone http://ou63pmih66umazou.onion/public-inbox.git