Skip Menu |

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the Devel-PPPort CPAN distribution.

Report information
The Basics
Id: 82355
Status: rejected
Priority: 0/
Queue: Devel-PPPort

People
Owner: MHX [...] cpan.org
Requestors: khw [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Critical
Broken in: (no value)
Fixed in: (no value)



Subject: Devel-PPPort breaks blead
ppphtest.t is failing in Perl5 blead. Here is the relevant portion of an email I sent p5p giving the result of my investigation into the cause: The test that is failing in cpan/Devel-PPPort/t/ppphtest.t is related to the files in this loop for (qw(main.xs mod1.c mod2.c mod3.c mod4.c mod5.c)) { They have all been put in a directory (with nothing else) and this command run: ppport.h --copy=f This command analyzes the porting needs in each file in the directory, and for each that has any such needs, to write out a changed file, adding suffix 'f' to the name. mod5.c alone of the 6 files doesn't have any porting needs, so shouldn't have any file written out for it. The two tests in ppphtest.t that are failing check that: 1) the output of the command only does 5 writes 2) mod5.cf doesn't exist The reason they are failing is that ppport.h is now deciding that mod5.c does require porting changes, and so is writing out a changed version. I looked at the code in ppphtest.t. There are two loops, one for scanning in the files to be analyzed, and one to do the analysis. The code is dense and uncommented, but what it looks like to me is that the file code is kept temporarily in a hash entry that is global to all the files, not file specific. Later, that entry is copied to a per-file hash. When I add a print to see what that per-file code is, it is set to the code of the final file scanned. This is causing the wrong code to be generated for all but that final file. Int ppphtest.t, the file names are placed in a hash and then written into a directory in a for (keys %hash) {} loop. That means that now the files are created in that directory in random order. ppport.h uses File::Find to parse the directory. I suspect it returns things by inode order, so that suggests that the files are getting scanned by ppport.h in random order.
From: khw [...] cpan.org
On Mon Dec 31 15:21:29 2012, khw wrote: Show quoted text
> ppphtest.t is failing in Perl5 blead. Here is the relevant portion of > an email I sent p5p giving the result of my investigation into the cause: > > The test that is failing in cpan/Devel-PPPort/t/ppphtest.t is related to > the files in this loop > for (qw(main.xs mod1.c mod2.c mod3.c mod4.c mod5.c)) { > > They have all been put in a directory (with nothing else) and this > command run: > ppport.h --copy=f > > This command analyzes the porting needs in each file in the directory, > and for each that has any such needs, to write out a changed file, > adding suffix 'f' to the name. mod5.c alone of the 6 files doesn't have > any porting needs, so shouldn't have any file written out for it. > > The two tests in ppphtest.t that are failing check that: > 1) the output of the command only does 5 writes > 2) mod5.cf doesn't exist > > The reason they are failing is that ppport.h is now deciding that mod5.c > does require porting changes, and so is writing out a changed version. > > I looked at the code in ppphtest.t. There are two loops, one for > scanning in the files to be analyzed, and one to do the analysis. The > code is dense and uncommented, but what it looks like to me is that the > file code is kept temporarily in a hash entry that is global to all the > files, not file specific. Later, that entry is copied to a per-file > hash. When I add a print to see what that per-file code is, it is set > to the code of the final file scanned. This is causing the wrong code > to be generated for all but that final file. > > Int ppphtest.t, the file names are placed in a hash and then written > into a directory in a > for (keys %hash) {} > loop. That means that now the files are created in that directory in > random order. ppport.h uses File::Find to parse the directory. I > suspect it returns things by inode order, so that suggests that the > files are getting scanned by ppport.h in random order.
What I failed to mention in the initial report is that this bug has been hidden, because until recently, hash keys were returned in a fixed order, and that order happened to cause everything to work.
From: khw [...] cpan.org
This bug exists, but it was not responsible for breaking blead, contrary to what I said earlier, and it should no longer be considered critical.
On Fri Jan 11 13:55:15 2013, khw wrote: Show quoted text
> This bug exists, but it was not responsible for breaking blead, contrary > to what I said earlier, and it should no longer be considered critical.
I seem to be unable to reproduce this. I even tried randomising the order in which the files are processed. Ideally, the order in which ppport.h discovers files would be irrelevant. If it's not, that's a bug. Can you come up with a description of how you're able to reproduce this? I've tried with blead (5.19.2). Thanks, Marcus
CC: khw [...] cpan.org
Subject: Re: [rt.cpan.org #82355] Devel-PPPort breaks blead
Date: Wed, 24 Jul 2013 11:22:09 -0600
To: bug-Devel-PPPort [...] rt.cpan.org
From: Karl Williamson <public [...] khwilliamson.com>
On 07/19/2013 03:27 PM, MHX via RT wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=82355 > > > On Fri Jan 11 13:55:15 2013, khw wrote:
>> This bug exists, but it was not responsible for breaking blead, contrary >> to what I said earlier, and it should no longer be considered critical.
> > I seem to be unable to reproduce this. I even tried randomising > the order in which the files are processed. Ideally, the order > in which ppport.h discovers files would be irrelevant. If it's > not, that's a bug. Can you come up with a description of how > you're able to reproduce this? I've tried with blead (5.19.2). > > Thanks, > Marcus >
It turns out that there was another bug in blead that was causing this to surface. The email thread starts at http://markmail.org/search/?q=c7304fe2c#query:c7304fe2c+page:1+mid:bgel2afy6p3nes7n+state:results. in which I was suggesting that the problem in blead was from Devel::PPPort. However, it was my commit that had caused the blead problem, and the commit that fixed the blead bug was 83799784cb180c4b27a23e2ba1a77e8ec80ec76a. As mentioned in that thread, I found the bug in D::P by code reading, and was able to reproduce it by hand. I'll try to do that again in the next few days.
On Wed Jul 24 13:22:28 2013, public@khwilliamson.com wrote: Show quoted text
> On 07/19/2013 03:27 PM, MHX via RT wrote:
> > <URL: https://rt.cpan.org/Ticket/Display.html?id=82355 > > > > > On Fri Jan 11 13:55:15 2013, khw wrote:
> >> This bug exists, but it was not responsible for breaking blead, > >> contrary > >> to what I said earlier, and it should no longer be considered > >> critical.
> > > > I seem to be unable to reproduce this. I even tried randomising > > the order in which the files are processed. Ideally, the order > > in which ppport.h discovers files would be irrelevant. If it's > > not, that's a bug. Can you come up with a description of how > > you're able to reproduce this? I've tried with blead (5.19.2). > > > > Thanks, > > Marcus > >
> > It turns out that there was another bug in blead that was causing this > to surface. The email thread starts at > http://markmail.org/search/?q=c7304fe2c#query:c7304fe2c+page:1+mid:bgel2afy6p3nes7n+state:results. > in which I was suggesting that the problem in blead was from > Devel::PPPort. However, it was my commit that had caused the blead > problem, and the commit that fixed the blead bug was > 83799784cb180c4b27a23e2ba1a77e8ec80ec76a. > > As mentioned in that thread, I found the bug in D::P by code reading, > and was able to reproduce it by hand. I'll try to do that again in > the > next few days.
Hey Karl, What's the status on this bug? Thanks, -- Matthew Horsfall (alh)
Subject: Re: [rt.cpan.org #82355] Devel-PPPort breaks blead
Date: Tue, 24 Jun 2014 16:31:34 -0600
To: bug-Devel-PPPort [...] rt.cpan.org
From: Karl Williamson <khw [...] cpan.org>
On 06/24/2014 07:38 AM, Matthew Horsfall via RT wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=82355 > > > On Wed Jul 24 13:22:28 2013, public@khwilliamson.com wrote:
>> On 07/19/2013 03:27 PM, MHX via RT wrote:
>>> <URL: https://rt.cpan.org/Ticket/Display.html?id=82355 > >>> >>> On Fri Jan 11 13:55:15 2013, khw wrote:
>>>> This bug exists, but it was not responsible for breaking blead, >>>> contrary >>>> to what I said earlier, and it should no longer be considered >>>> critical.
>>> >>> I seem to be unable to reproduce this. I even tried randomising >>> the order in which the files are processed. Ideally, the order >>> in which ppport.h discovers files would be irrelevant. If it's >>> not, that's a bug. Can you come up with a description of how >>> you're able to reproduce this? I've tried with blead (5.19.2). >>> >>> Thanks, >>> Marcus >>>
>> >> It turns out that there was another bug in blead that was causing this >> to surface. The email thread starts at >> http://markmail.org/search/?q=c7304fe2c#query:c7304fe2c+page:1+mid:bgel2afy6p3nes7n+state:results. >> in which I was suggesting that the problem in blead was from >> Devel::PPPort. However, it was my commit that had caused the blead >> problem, and the commit that fixed the blead bug was >> 83799784cb180c4b27a23e2ba1a77e8ec80ec76a. >> >> As mentioned in that thread, I found the bug in D::P by code reading, >> and was able to reproduce it by hand. I'll try to do that again in >> the >> next few days.
> > Hey Karl, > > What's the status on this bug? > > Thanks, > > -- Matthew Horsfall (alh) >
I had forgotten about it. I'll move this email to my todo queue
On Tue Jun 24 16:31:50 2014, khw wrote: Show quoted text
> On 06/24/2014 07:38 AM, Matthew Horsfall via RT wrote:
> > <URL: https://rt.cpan.org/Ticket/Display.html?id=82355 > > > > > On Wed Jul 24 13:22:28 2013, public@khwilliamson.com wrote:
> >> On 07/19/2013 03:27 PM, MHX via RT wrote:
> >>> <URL: https://rt.cpan.org/Ticket/Display.html?id=82355 > > >>> > >>> On Fri Jan 11 13:55:15 2013, khw wrote:
> >>>> This bug exists, but it was not responsible for breaking blead, > >>>> contrary > >>>> to what I said earlier, and it should no longer be considered > >>>> critical.
> >>> > >>> I seem to be unable to reproduce this. I even tried randomising > >>> the order in which the files are processed. Ideally, the order > >>> in which ppport.h discovers files would be irrelevant. If it's > >>> not, that's a bug. Can you come up with a description of how > >>> you're able to reproduce this? I've tried with blead (5.19.2). > >>> > >>> Thanks, > >>> Marcus > >>>
> >> > >> It turns out that there was another bug in blead that was causing > >> this > >> to surface. The email thread starts at > >> http://markmail.org/search/?q=c7304fe2c#query:c7304fe2c+page:1+mid:bgel2afy6p3nes7n+state:results. > >> in which I was suggesting that the problem in blead was from > >> Devel::PPPort. However, it was my commit that had caused the blead > >> problem, and the commit that fixed the blead bug was > >> 83799784cb180c4b27a23e2ba1a77e8ec80ec76a. > >> > >> As mentioned in that thread, I found the bug in D::P by code > >> reading, > >> and was able to reproduce it by hand. I'll try to do that again in > >> the > >> next few days.
> > > > Hey Karl, > > > > What's the status on this bug? > > > > Thanks, > > > > -- Matthew Horsfall (alh) > >
> > I had forgotten about it. I'll move this email to my todo queue
I finally got around to looking at this, and it appears that I was totally mistaken in opening this ticket, so you can reject it.
OP has withdrawn it