-
Notifications
You must be signed in to change notification settings - Fork 581
BBC: Blead Breaks File::AptFetch, Logfile::Read, others #20207
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Bisection points to 80c1f1e.
@tonycoz, can you take a look? |
Also affected by this commit: Log::Log4perl (as originally reported in #20208). |
Reducing t/50_inplace.t of File::Replace to a minimal test case:
Before running create the necessary files:
Running with 80c1f1e:
Running with 80c1f1e~1:
With the old code 'eof' of STDIN was cleared, |
I see what's happening, but I think it's case of the test depending on the now fixed bug. We read to end of file on We could modify readline() to clear eof() rather than calling clearerr() (which clears both error and eof state), but I don't think it would be correct behaviour. |
Also affected: WHYNOT/File-AptFetch-v0.1.14.tar.gz |
Patch attached to ticket at https://rt.cpan.org/Ticket/Display.html?id=144442 |
Also affected:
|
Also affected: BOOK/Log-Procmail-0.12.tar.gz http://www.cpantesters.org/cpan/report/ef21d450-40c2-11ed-b3c4-fccdf10bed05 |
Logfile::Read patch at https://rt.cpan.org/Ticket/Display.html?id=144592 |
Nagios::Cmd patch at https://rt.cpan.org/Ticket/Display.html?id=144593 |
Log::Procmail patch at book/Log-Procmail#2 |
Log-Log4perl-1.57 and Log-Procmail-0.14 have been released and are installable against |
File-AptFetch and Logfile-Read are still showing failing tests. Nagios-Cmd is showing a mixture of PASSes and FAILes. |
I just came across this issue. Test failures like this and this appear to me to indicate that |
Im finding it quite difficult to decode that test code. Can you provide a simple reproduction case @haukex ? |
Yes, it's indeed quite a complex test case, I'm still working on seeing if I can simplify it myself. |
The patch here only modifies the PerlIO state, it shouldn't have any effect on the behaviour of a tied EOF/READLINE implementation. If the test is comparing the two that might result in a failure, since eof()/error() untied now returns true in cases where it didn't before. |
Test script is now available here: https://github.com/haukex/File-Replace/tree/issue20207 This is the most minimal test script I was able to produce from my code. A run of By the way, I didn't get any kind of notification of this issue from GitHub or per email or anything, I had to find it myself after noticing the CPAN Testers results. It would of course be nice if there was some kind of notification system :-) |
By the way, I have decided to break the modules |
At least for now. Perl/perl5#20207
I've now done this and split File-Replace-0.14 into four distros:
The first three modules should work on any Perl version from 5.8.1 up to bleadperl and should still be included in Blead Breaks CPAN. |
This commit doesn't introduce any real changes, but is intended to create a reference on GitHub via the commit message.
That's a really nice piece of module maintenance! I was able to get passing tests on blead for 3 of the 4 distros, failing only, as expected, on File-Replace-Inplace: Given your work I am going to change the Subject line of this BBC ticket to reflect the distros which are still broken on CPAN: File-AptFetch and Logfile-Read. |
@jkeenan Thanks! @tonycoz and @demerphq If you happen to get the chance, I'd still be interested on your opinion whether the test script (https://github.com/haukex/File-Replace/tree/issue20207) is exposing a bug in the Perl commit (80c1f1e), or if it's actually my script that is incorrect. |
For your test case, the eof flag is still set on the PerlIO stdin handle when you try to read from it again. If you remove the "non-tied" test case the tied test case passes. If you clearerr() STDIN, all of the tests pass. |
This (partially) reverts commit a8cc883.
It is not clear to me whether we think there is a bug or blocker here. Maybe somebody would like to chime in on that? @tonycoz I'm looking your way… |
So far each case has been assuming the bug, ie that eof (or an error in some cases) wasn't set when we read to end-of-file with readline. Two cases were for and error rather than eof, where readline was used on a non-blocking handle. I've supplied patches to the dists for most of the cases (haukex fixed his own code), but some haven't been applied yet. I don't think it's neither a perl bug nor a blocker. |
File::AptFetch had a new release in January 2023 and is passing on CPANtesters. The only module mentioned in this ticket which is still not passing is Logfile::Read. @tonycoz filed a ticket (https://rt.cpan.org/Ticket/Display.html?id=144592) in October 2022 which has not been responded to. We've done all we can in this ticket, so I'm closing it now. |
This is a bug report for perl from "Carlos Guevara" [email protected],
generated with the help of perlbug 1.42 running under perl 5.37.4.
[Please describe your issue here]
BBC: Blead Breaks File::Replace
Please see http://matrix.cpantesters.org/?dist=File::Replace
[Please do not change anything below this line]
Flags:
category=core
severity=low
Site configuration information for perl 5.37.4:
Configured by cpan at Wed Aug 31 13:05:00 EDT 2022.
Summary of my perl5 (revision 5 version 37 subversion 4) configuration:
Commit id: e4bbbfe
Platform:
osname=openbsd
osvers=7.1
archname=OpenBSD.amd64-openbsd-thread-multi
uname='openbsd cjg-openbsd7 7.1 generic#3 amd64 '
config_args='-des -Dprefix=
/bin/perl-blead -Dscriptdir=/bin/perl-blead/bin -Dusedevel -Duse64bitall -Duseithreads'hint=recommended
useposix=true
d_sigaction=define
useithreads=define
usemultiplicity=define
use64bitint=define
use64bitall=define
uselongdouble=undef
usemymalloc=n
default_inc_excludes_dot=define
Compiler:
cc='cc'
ccflags ='-pthread -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
optimize='-O2'
cppflags='-pthread -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
ccversion=''
gccversion='OpenBSD Clang 13.0.0'
gccosandvers=''
intsize=4
longsize=8
ptrsize=8
doublesize=8
byteorder=12345678
doublekind=3
d_longlong=define
longlongsize=8
d_longdbl=define
longdblsize=16
longdblkind=3
ivtype='long'
ivsize=8
nvtype='double'
nvsize=8
Off_t='off_t'
lseeksize=8
alignbytes=8
prototype=define
Linker and Libraries:
ld='cc'
ldflags ='-pthread -Wl,-E -fstack-protector-strong -L/usr/local/lib'
libpth=/usr/lib/clang/13.0.0/lib /usr/lib /usr/local/lib
libs=-lpthread -lm -lutil -lc
perllibs=-lpthread -lm -lutil -lc
libc=/usr/lib/libc.so.96.1
so=so
useshrplib=false
libperl=libperl.a
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs
dlext=so
d_dlsymun=undef
ccdlflags=' '
cccdlflags='-DPIC -fPIC '
lddlflags='-shared -fPIC -L/usr/local/lib -fstack-protector-strong'
@inc for perl 5.37.4:
/home/cpan/bin/perl-blead/lib/site_perl/5.37.4/OpenBSD.amd64-openbsd-thread-multi
/home/cpan/bin/perl-blead/lib/site_perl/5.37.4
/home/cpan/bin/perl-blead/lib/5.37.4/OpenBSD.amd64-openbsd-thread-multi
/home/cpan/bin/perl-blead/lib/5.37.4
Environment for perl 5.37.4:
HOME=/home/cpan
LANG (unset)
LANGUAGE (unset)
LC_ALL=C
LD_LIBRARY_PATH (unset)
LOGDIR (unset)
PATH=/home/cpan/bin/perl-blead/bin:/home/cpan/bin:/home/cpan/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin:/usr/games
PERL_BADLANG (unset)
SHELL=/usr/local/bin/bash
The text was updated successfully, but these errors were encountered: