Re: failure report print returned EINTR error

2014-02-15 Thread Victor Efimov
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

2014-02-15 Thread jeandamiendurand
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

2014-02-15 Thread Victor Efimov
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

2014-02-15 Thread 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