Sat Nov 10 22:31:36 2012: Request 80322 was acted upon.
Transaction: Correspondence added by BULKDD
       Queue: Win32-API
     Subject: 'make test' failure - 03_Jim_Shaw.t - invalid unpack type
   Broken in: 0.72, 0.73
    Severity: Important
       Owner: Nobody
  Requestors: jdhed...@cpan.org
      Status: open
 Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=80322 >


Attaching private mail for the record.

________________________________
> From: jdhed...@cpan.org
> Date: Tue, 6 Nov 2012 12:50:49 -0500
> Subject: Re: [rt.cpan.org #80322] 'make test' failure - 03_Jim_Shaw.t -
> invalid unpack type
> To: bul...@hotmail.com
> CC: rur...@x-ray.at
>
> Output Attached
>
>
> On Sat, Nov 3, 2012 at 1:38 AM, bulk 88
> <bul...@hotmail.com<mailto:bul...@hotmail.com>> wrote:
>
>
>
> ----------------------------------------
> > From: jdhed...@cpan.org<mailto:jdhed...@cpan.org>
> > Date: Fri, 2 Nov 2012 10:44:05 -0400
> > Subject: Re: [rt.cpan.org<http://rt.cpan.org> #80322] 'make test'
> failure - 03_Jim_Shaw.t - invalid unpack type
> > To: bul...@hotmail.com<mailto:bul...@hotmail.com>
> > CC: rur...@x-ray.at<mailto:rur...@x-ray.at>
> >
> > I leave the debugging part to you, and possibly Reini and/or the
> > Cygwin team, as all this is Greek to me. I just had the (mis)fortune
> > of being the first to discover the issue. You may, of course, still
> > call upon me to perform testing and send back results if needed. Good
> > Luck.
>
> Can you run this script and send back the output with CPAN Win32::API
> .73 or any .73 github derivative I've made so far?
> 

Reini 

On Sat, Nov 3, 2012 at 12:38 AM, bulk 88 <bul...@hotmail.com> wrote:
> ----------------------------------------
>> From: jdhed...@cpan.org
>> Date: Fri, 2 Nov 2012 10:44:05 -0400
>> Subject: Re: [rt.cpan.org #80322] 'make test' failure - 03_Jim_Shaw.t
- invalid unpack type
>> To: bul...@hotmail.com
>> CC: rur...@x-ray.at
>>
>> I leave the debugging part to you, and possibly Reini and/or the
>> Cygwin team, as all this is Greek to me. I just had the (mis)fortune
>> of being the first to discover the issue. You may, of course, still
>> call upon me to perform testing and send back results if needed. Good
>> Luck.
>
> Can you run this script and send back the output with CPAN Win32::API
.73 or any .73 github derivative I've made so far?
 
Sure, but I cannot reproduce the bugs.
Only t/undef.t test 2 is failing on my cygwin non-threaded.
And I needed to fix the Callback DESTROY #if identation from
https://github.com/cosimo/perl5-win32-api/pull/6
non-threaded needs to skip the t/threading_fails.t tests also.
 
non-threaded:
$ alias p
alias p='/usr/local/bin/perl5.16.2d-nt.exe'
$ alias pb
alias pb='p -Iblib/arch -Iblib/lib'
$ pb t/GetContext.pl
$VAR1 =
"?\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\177\2\377\377
\0\377\377\377\377\377\377\177\377\24X\e\0\0\0pe-X#\0\377\377\210\225\"\0x\227\"\0\0\0\1\0\0\0(\233\nax\227\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\254\201\1
\25\0\0\0\0\0\0\0\0\0\0\0\0\200\377?\0\0\0\0\374\377\377\377\34\@\0\0\0\0\0\0\0\0;\0\0\0#\0\0\0#\0\0\0_\36\32a\0\0\0\0\300\246\"\0\4\0\0\0\0\0\0\0\270\245\"\0\b\246\"\0\373*\201|\e\0\0\0F\2\0\0\264\245\"\0#\0\0\0\177\2
\0\0\0\0\0\177\377\24X\e\0\0\0pe-X#\0\0\0\200\37\0\0\377\377\0\0\210\225\"\0x\227\"\0\0\0\0\0\0\0\0\0\1\0\0\0(\233\nax\227\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\254\201\1
\25\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\200\377?\0\0\0\0\0\0\0\0\0\0\374\377\377\377\34\@\0\0\0\0\0\0\200\251\"\0_\300\16a#\0;\0\0\0#\0\200\251\"\0_\300\16a#\0;\0\0\0#\0D\377\"\0`\16\240_\0\0__register_frame_info\0\0\252\"\0\0\0\0\0\0\0\0\0\260_'a\0\0\0\0000\0<\0\310\222'a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\344}\310\16\267_\315\1qG\"\302A\271\315\1>\340\312\16\267_\315\1>\340\312\16\267_\315\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\nA\202\0\0\0\0\0\0\0\0\0\0\0\0\0
\224\32a\303\0\0\0
\224\32a\343z\0a\0\0\0\0\0\0\0\0<\246\"\0\234\226\"\0x\227\"\0\1\0\0\0\1\0\0\0\0\1\0\0\270\201\2
\30\230\"\0\@\225\"\0q\230\na#\0;\0\0\0#\0D\377\"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
 
threaded:
$ alias p
alias p='perl5.16.2d'
 
$VAR1 =
"?\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\177\2\377\377
\0\377\377\377\377\377\377\0\322\26X\e\0\0\0\260t1X#\0\377\377\1\0\0\0(\233\nax\227\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\254\201\1
\25\0\0\0\0\0\20(\0\0\@\0\0\0\377\0\0\0\0\0\0\0\0\200\377?\0\0\0\0\374\377\377\377\34\@\0\0\0\0\0\0\0\0;\0\0\0#\0\0\0#\0\0\0[\36\32a\0\0\0\0\260\246\"\0\4\0\0\0\0\0\0\0\230\245\"\0\350\245\"\0\373*\201|\e\0\0\0F\2\0\0\224\245\"\0#\0\0\0\177\2
\0\0\0\0\0\0\322\26X\e\0\0\0\260t1X#\0\0\0\200\37\0\0\377\377\0\0\1\0\0\0(\233\nax\227\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\254\201\1
\25\0\0\0\0\0\0\0\0\0\0\0\20(\0\0\@\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\200\377?\0\0\0\0\0\0\0\0\0\0\374\377\377\377\34\@\0\0\0\0\0\0D\377\"\0`\16\240_\0\0__regiD\377\"\0`\16\240_\0\0__register_frame_info\0\0\252\"\0\0\0\0\0\0\0\0\0\260_'a\0\0\0\0000\0<\0\@\223'a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\344}\310\16\267_\315\1qG\"\302A\271\315\1>\340\312\16\267_\315\1>\340\312\16\267_\315\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\nA\202\0\0\0\0\0\0\0\0\0\0\0\0\0
\224\32a\303\0\0\0
\224\32a\343z\0a\0\0\0\0\0\0\0\0<\246\"\0\234\226\"\0x\227\"\0\1\0\0\0\1\0\0\0\0\1\0\0\270\201\2
\30\230\"\0\@\225\"\0q\230\na#\0;\0\0\0#\0D\377\"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
 
$ cmp gc-non-thr.xx gc-thr.xx
gc-non-thr.xx gc-thr.xx differ: byte 107, line 1
 
-- 
Reini Urban
http://cpanel.net/   http://www.perl-compiler.org/

___________________________________________________________

Basically the problem is, something is "going wrong" in the x87 FP or
SSE system when running "denormal" float FP numbers through Jerry's
cygwin. Looking at the snapshot of the FP regs will reveal what exactly
is going on, rounding mode, precision, exception masks, other things,
etc. Comparing Reini's context dump to Jerrys to mine will reveal what
is going on. The problem is, looking at those registers is sort of
undocumented, nobody does it except compiler writers. OSes don't care
about the details about those registers, aslong as they can be saved and
restored to memory for context switches. I can't find any decent C
struct definition (including C bitfields of the bitfield registers) of
the data on Google that the x86 FXSAVE op creates. Also the docs online
are all copied out of Intel's x86 asm manual, which unintelligibly dry
for me. I'm a bit stuck right now on this bug.

Attachment: GetContext.pl
Description: Binary data

Attachment: JerryGetContext.out
Description: Binary data

Reply via email to