Re: failure report print returned EINTR error
Thank you for investigation. That means failure is not intermittent (always failed without PERL_SIGNALS). The fact it works with PERL_SIGNALS does not help much, I never tested it in this mode, it supposed to run without it. Well, that's strange I did not see this test failing on other Solaris systems (with different perl versions however) nor on other *nix with 5.10.0 2014-02-15 20:27 GMT+04:00 : > After reading http://perldoc.perl.org/perlipc.html, I setted environment > variable PERL_SIGNALS to unsafe and this part of your test suite passes, c.f. > attachements. > > jdurand@jddwwwopenindiana:~/.local/share/.cpan/build/App-MtAws-1.113-apqFj2$ > perl -Ilib t/integration/sysread_syswrite_full.t >& > /tmp/without_PERL_SIGNALS.txt > jdurand@jddwwwopenindiana:~/.local/share/.cpan/build/App-MtAws-1.113-apqFj2$ > PERL_SIGNALS=unsafe perl -Ilib t/integration/sysread_syswrite_full.t >& > /tmp/with_PERL_SIGNALS.txt > > I let you take the appropriate conclusion. > > I note that this section already has a SKIP section depending on perl version > -; yes, because of known bugs in perl, like this one https://rt.perl.org/Public/Bug/Display.html?id=119097 but none of them relate to 5.10.0 > > Regards, Jean-Damien. > > - Mail original - > De: "Victor Efimov" > À: "David Golden" > Cc: jeandamiendur...@free.fr, "CPAN-Testers-Discuss" > > Envoyé: Samedi 15 Février 2014 10:16:47 > Objet: Re: failure report print returned EINTR error > > there is error: > > "Error Interrupted system call in print" > > caused by this line: > > print ($f $_[1]) or confess "Error $! in print"; > > i.e. it's not related to sysread/syswrite > > (below errors related to syswrite, but let's ignore them) > > 2014-02-15 13:10 GMT+04:00 David Golden : >> Read the documentation for sysread/syswrite. They bypass buffered IO. >> >> On Sat, Feb 15, 2014 at 4:02 AM, Victor Efimov wrote: >>> there is report >>> http://www.cpantesters.org/cpan/report/b22f82c2-943c-11e3-b4bc-9b1944f7ffa7 >>> >>> failure in this report cause by print() call returning EINTR. >>> but it's not possible. perl protects buffered IO from Interrupts. >>> >>> please advice. >> >> >> >> -- >> David Golden >> Take back your inbox! → http://www.bunchmail.com/ >> Twitter/IRC: @xdg
Re: failure report print returned EINTR error
After reading http://perldoc.perl.org/perlipc.html, I setted environment variable PERL_SIGNALS to unsafe and this part of your test suite passes, c.f. attachements. jdurand@jddwwwopenindiana:~/.local/share/.cpan/build/App-MtAws-1.113-apqFj2$ perl -Ilib t/integration/sysread_syswrite_full.t >& /tmp/without_PERL_SIGNALS.txt jdurand@jddwwwopenindiana:~/.local/share/.cpan/build/App-MtAws-1.113-apqFj2$ PERL_SIGNALS=unsafe perl -Ilib t/integration/sysread_syswrite_full.t >& /tmp/with_PERL_SIGNALS.txt I let you take the appropriate conclusion. I note that this section already has a SKIP section depending on perl version -; Regards, Jean-Damien. - Mail original - De: "Victor Efimov" À: "David Golden" Cc: jeandamiendur...@free.fr, "CPAN-Testers-Discuss" Envoyé: Samedi 15 Février 2014 10:16:47 Objet: Re: failure report print returned EINTR error there is error: "Error Interrupted system call in print" caused by this line: print ($f $_[1]) or confess "Error $! in print"; i.e. it's not related to sysread/syswrite (below errors related to syswrite, but let's ignore them) 2014-02-15 13:10 GMT+04:00 David Golden : > Read the documentation for sysread/syswrite. They bypass buffered IO. > > On Sat, Feb 15, 2014 at 4:02 AM, Victor Efimov wrote: >> there is report >> http://www.cpantesters.org/cpan/report/b22f82c2-943c-11e3-b4bc-9b1944f7ffa7 >> >> failure in this report cause by print() call returning EINTR. >> but it's not possible. perl protects buffered IO from Interrupts. >> >> please advice. > > > > -- > David Golden > Take back your inbox! → http://www.bunchmail.com/ > Twitter/IRC: @xdg 1..60 ok 1 ok 2 - sysread initialize buffer to empty string ok 3 ok 4 - sysreadfull initialize buffer to empty string ok 5 ok 6 - read initialize buffer to empty string ok 7 - should merge two reads ok 8 - should merge two reads ok 9 - should return first data chunk ok 10 - should return first data chunk correct ok 11 - should return EOF # SIG 21392 ok 12 - should handle EINTR in sysread ok 13 - should handle EINTR in sysread ok 14 - should handle EINTR in syswrite ok 15 ok 16 - should handle EINTR in syswrite ok 17 ok 18 - should handle EINTR in syswrite ok 19 ok 20 - should handle EINTR in syswrite ok 21 ok 22 - should handle EINTR in syswrite ok 23 ok 24 - should handle EINTR in syswrite ok 25 ok 26 - should handle EINTR in syswrite ok 27 ok 28 - should handle EINTR in syswrite ok 29 ok 30 - should handle EINTR in syswrite ok 31 ok 32 - should handle EINTR in syswrite ok 33 ok 34 - should merge two reads ok 35 - should merge two reads ok 36 - should return first data chunk ok 37 - should return first data chunk correct ok 38 - should return EOF # SIG 21392 ok 39 - should handle EINTR in sysread ok 40 - should handle EINTR in sysread # SIG 21400 Error Interrupted system call in print at t/integration/sysread_syswrite_full.t line 67. main::__ANON__(IO::Pipe::End=GLOB(0x8704ddc), "abxhrtf6abxhrtf6abxhrtf6abxhrtf6abxhrtf6abxhrtf6abxhrtf6abxhr"...) called at t/integration/sysread_syswrite_full.t line 156 main::__ANON__(IO::Pipe::End=GLOB(0x8704df0), IO::Pipe::End=GLOB(0x8704ddc), 21392) called at /home/jdurand/.local/share/.cpan/build/App-MtAws-1.113-apqFj2/t/integration/../lib/TestUtils.pm line 248 TestUtils::with_fork(CODE(0x87048f0), CODE(0x8704c10)) called at t/integration/sysread_syswrite_full.t line 160 not ok 41 - should handle EINTR in syswrite # Failed test 'should handle EINTR in syswrite' # at t/integration/sysread_syswrite_full.t line 148. # got: '20480' # expected: '65480' not ok 42 # Failed test at t/integration/sysread_syswrite_full.t line 149. not ok 43 - should handle EINTR in syswrite # Failed test 'should handle EINTR in syswrite' # at t/integration/sysread_syswrite_full.t line 148. # got: '0' # expected: '65480' not ok 44 # Failed test at t/integration/sysread_syswrite_full.t line 149. not ok 45 - should handle EINTR in syswrite # Failed test 'should handle EINTR in syswrite' # at t/integration/sysread_syswrite_full.t line 148. # got: '0' # expected: '65480' not ok 46 # Failed test at t/integration/sysread_syswrite_full.t line 149. not ok 47 - should handle EINTR in syswrite # Failed test 'should handle EINTR in syswrite' # at t/integration/sysread_syswrite_full.t line 148. # got: '0' # expected: '65480' not ok 48 # Failed test at t/integration/sysread_syswrite_full.t line 149. not ok 49 - should handle EINTR in syswrite # Failed test 'should handle EINTR in syswrite' # at t/integration/sysread_syswrite_full.t line 148. # got: '0' # expected: '65480' n
Re: failure report print returned EINTR error
there is error: "Error Interrupted system call in print" caused by this line: print ($f $_[1]) or confess "Error $! in print"; i.e. it's not related to sysread/syswrite (below errors related to syswrite, but let's ignore them) 2014-02-15 13:10 GMT+04:00 David Golden : > Read the documentation for sysread/syswrite. They bypass buffered IO. > > On Sat, Feb 15, 2014 at 4:02 AM, Victor Efimov wrote: >> there is report >> http://www.cpantesters.org/cpan/report/b22f82c2-943c-11e3-b4bc-9b1944f7ffa7 >> >> failure in this report cause by print() call returning EINTR. >> but it's not possible. perl protects buffered IO from Interrupts. >> >> please advice. > > > > -- > David Golden > Take back your inbox! → http://www.bunchmail.com/ > Twitter/IRC: @xdg
Re: failure report print returned EINTR error
Read the documentation for sysread/syswrite. They bypass buffered IO. On Sat, Feb 15, 2014 at 4:02 AM, Victor Efimov wrote: > there is report > http://www.cpantesters.org/cpan/report/b22f82c2-943c-11e3-b4bc-9b1944f7ffa7 > > failure in this report cause by print() call returning EINTR. > but it's not possible. perl protects buffered IO from Interrupts. > > please advice. -- David Golden Take back your inbox! → http://www.bunchmail.com/ Twitter/IRC: @xdg