Skip Menu |

This queue is for tickets about the Games-Tournament-Swiss CPAN distribution.

Report information
The Basics
Id: 29495
Status: open
Priority: 0/
Queue: Games-Tournament-Swiss

People
Owner: Nobody in particular
Requestors: bartolin [...] gmx.de
Cc:
AdminCc:

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



Subject: 0.08 dies after error in C6PAIRS
Date: Wed, 19 Sep 2007 16:01:57 +0200
To: bug-Games-Tournament-Swiss [...] rt.cpan.org
From: Christian Bartolomaeus <bartolin [...] gmx.de>
Independently of the fix you gave at http://rt.cpan.org/Public/Bug/Display.html?id=29486 (bug report about downfloaters not being recognized correctely), I have a second problem with the same pairingtable: Round 5 Pairing Groups ------------------------------------------------------------------------- Place No Opponents Roles Float Score 1 8 18,5,3,1 BWBW D 3.5 2 1 11,10,6,8 WBWB U 3 3-9 2 12,7,9,5 BWBW 2.5 4 14,9,7,17 BWBW 2.5 5 15,8,13,2 WBWB 2.5 7 17,2,4,9 WBWB 2.5 9 19,4,2,7 WBWW 2.5 16 6,19,11,10 WBWB 2.5 17 7,14,18,4 BWBB d 2.5 10-14 3 13,6,8,11 WBWB u 2 6 16,3,1,15 BWBW 2 11 1,12,16,3 BWBW 2 13 3,18,5,19 BWBW 2 15 5,20,10,6 BWWB 2 15-16 10 20,1,15,16 BWBW 1.5 20 10,15,14,12 WBBW D 1.5 17-19 12 2,11,19,20 WBWB dU 1 18 8,13,17,14 WBWW u 1 19 9,16,12,13 BWBB u 1 20 14 4,17,20,18 WBWB 0 Trying to get pairings for round 5, pair (and pairstately) returns the following error message: Show quoted text
> Pairing error: msg => No paired or unpaired in C6PAIRS, , byes => HASH(0x863f3ec), matches => ARRAY(0x870c490), previousBracket => ARRAY(0x86e80b4), round => 5, brackets => ARRAY(0x8263048), whoPlayedWho => HASH(0x86e88a0), index => 3, colorClashes => HASH(0x871d8ac), Pairing NOT complete
There seems to be a problem with pairing downfloated player 17. The remaining output of the scripts (sorry it's a bit longer): Show quoted text
> Round 5: 8 (3.5), 1 (3), 2 4 5 7 9 16 17 (2.5), 3 6 11 13 15 (2), 10 20 (1.5), 12 18 19 (1), 14 (0), > Next, Bracket 1: 8 > C1, Bracket 1. Floating 8 Down, [1] 8 => [2] 8 1 > > Next, Bracket 2: 8 1 > C1, NOK. 8 1 > C12, Heterogenous group 1 now homogeneous > C14, Bracket 2, now p=0 > Moving down all Bracket 2, to 3. Bracket 2: 8 1 => Bracket 3: 1 8 2 4 5 7 9 16 17 > Next, Bracket 3: 1 8 2 4 5 7 9 16 17 > C1, B1,2 test: ok, no unpairables > C2, x=0 > C3, p=2 Heterogeneous. > C4, S1 & S2: 1 8 & 2 4 5 7 9 16 17 > C5, ordered: 8 1 & > 2 4 5 7 9 16 17 > C6, B4: x=0, table 1 2 NOK > C7, 4 2 5 7 9 16 17 > C6, B4: x=0, table 1 2 NOK > C7, 5 2 4 7 9 16 17 > C6, B1a: table 1 NOK > C7, 7 2 4 5 9 16 17 > C6, B5: table 1 NOK. Floated 8 Down 7 Not, 1 rounds ago > C7, 9 2 4 5 7 16 17 > C6, B4: x=0, table 1 2 NOK > C7, 16 2 4 5 7 9 17 > C6, B5: table 1 NOK. Floated 8 Down 16 Not, 1 rounds ago > C7, 17 2 4 5 7 9 16 > C6, B5: table 1 NOK. Floated 8 Down 17 Not, 1 rounds ago > C7, last transposition > C9, Dropping B6 for Downfloats > C4, S1 & S2: 8 1 & 2 4 5 7 9 16 17 > C5, ordered: 8 1 & > 2 4 5 7 9 16 17 > C6, B4: x=0, table 1 2 NOK > C7, 4 2 5 7 9 16 17 > C6, B4: x=0, table 1 2 NOK > C7, 5 2 4 7 9 16 17 > C6, B1a: table 1 NOK > C7, 7 2 4 5 9 16 17 > C6, B5: table 1 NOK. Floated 8 Down 7 Not, 1 rounds ago > C7, 9 2 4 5 7 16 17 > C6, B4: x=0, table 1 2 NOK > C7, 16 2 4 5 7 9 17 > C6, B5: table 1 NOK. Floated 8 Down 16 Not, 1 rounds ago > C7, 17 2 4 5 7 9 16 > C6, B5: table 1 NOK. Floated 8 Down 17 Not, 1 rounds ago > C7, last transposition > C9, Dropping B5 for Downfloats > C4, S1 & S2: 8 1 & 2 4 5 7 9 16 17 > C5, ordered: 8 1 & > 2 4 5 7 9 16 17 > C6, B4: x=0, table 1 2 NOK > C7, 4 2 5 7 9 16 17 > C6, B4: x=0, table 1 2 NOK > C7, 5 2 4 7 9 16 17 > C6, B1a: table 1 NOK > C7, 7 2 4 5 9 16 17 > C6, Bracket tables 1 2 paired. E1 7&8 E1 1&2 > C6others: Remainder Group, Bracket 3: 4 5 9 16 17 > C1, B1,2 test: ok, no unpairables > C2, x=0 > C3, p=2 Homogeneous. > C4, S1 & S2: 4 5 & 9 16 17 > C5, ordered: 4 5 & > 9 16 17 > C6, B1a: table 1 NOK > C7, 16 9 17 > C6, Bracket tables 1 2 paired. E1 16&4 E1 5&9 > C6others: Floating remaining 17 Down. [3] 4 5 16 9 17 => [4] 17 3 6 11 13 15 > Next, Bracket 4: 17 3 6 11 13 15 > C1, B1,2 test: ok, no unpairables > C2, x=0 > C3, p=1 Heterogeneous. > C4, S1 & S2: 17 & 3 6 11 13 15 > C5, ordered: 17 & > 3 6 11 13 15 > C6, B4: x=0, table 1 NOK > C7, 6 3 11 13 15 > C6, Bracket tables 1 paired. E1 17&6 > C6others: Remainder Group, Bracket 4: 3 11 13 15 > C1, B1,2 test: ok, no unpairables > C2, x=0 > C3, p=2 Homogeneous. > C4, S1 & S2: 3 11 & 13 15 > C5, ordered: 3 11 & > 13 15 > C6, B1a: table 1 NOK > C7, 15 13 > C6, B4: x=0, table 1 2 NOK > C7, last transposition > C8, exchange 1: 3 13, 11 15 > C5, ordered: 3 13 & > 11 15 > C6, B1a: table 1 NOK > C7, 15 11 > C6, B4: x=0, table 1 2 NOK > C7, last transposition > C8, exchange 2: last S1,S2 exchange > C10,re-pairing Player 17 in Bracket 4 > C7, 11 3 6 13 15 > C6, Bracket tables 1 paired. E1 17&11 > C6others: Remainder Group, Bracket 4: 3 6 13 15 > C1, B1,2 test: ok, no unpairables > C2, x=0 > C3, p=2 Homogeneous. > C4, S1 & S2: 3 6 & 13 15 > C5, ordered: 3 6 & > 13 15 > C6, B1a: table 1 2 NOK > C7, 15 13 > C6, B4: x=0, table 1 2 NOK > C7, last transposition > C8, exchange 1: 3 13, 6 15 > C5, ordered: 3 13 & > 6 15 > C6, B1a: table 1 NOK > C7, 15 6 > C6, B4: x=0, table 1 2 NOK > C7, last transposition > C8, exchange 2: last S1,S2 exchange > C10,re-pairing Player 17 in Bracket 4 > C7, 13 3 6 11 15 > C6, Bracket tables 1 paired. E1 17&13 > C6others: Remainder Group, Bracket 4: 3 6 11 15 > C1, B1,2 test: ok, no unpairables > C2, x=0 > C3, p=2 Homogeneous. > C4, S1 & S2: 3 6 & 11 15 > C5, ordered: 3 6 & > 11 15 > C6, B1a: table 1 2 NOK > C7, 15 11 > C6, B4: x=0, table 1 2 NOK > C7, last transposition > C8, exchange 1: 3 11, 6 15 > C5, ordered: 3 11 & > 6 15 > C6, B1a: table 1 NOK > C7, 15 6 > C6, B4: x=0, table 1 2 NOK > C7, last transposition > C8, exchange 2: last S1,S2 exchange > C10,re-pairing Player 17 in Bracket 4 > C7, 15 3 6 11 13 > C6, B4: x=0, table 1 NOK > C7, last transposition > C10,again Dropping B6 for Upfloats > C2, x=0 > C3, p=1 Heterogeneous. > C4, S1 & S2: 17 & 3 6 11 13 15 > C5, ordered: 17 & > 3 6 11 13 15 > C6, B4: x=0, table 1 NOK > C7, 6 3 11 13 15 > C6, Bracket tables 1 paired. E1 17&6 > C6others: Remainder Group, Bracket 4: 3 11 13 15 > C1, B1,2 test: ok, no unpairables > C2, x=0 > C3, p=2 Homogeneous. > C4, S1 & S2: 3 11 & 13 15 > C5, ordered: 3 11 & > 13 15 > C6, B1a: table 1 NOK > C7, 15 13 > C6, B4: x=0, table 1 2 NOK > C7, last transposition > C8, exchange 1: 3 13, 11 15 > C5, ordered: 3 13 & > 11 15 > C6, B1a: table 1 NOK > C7, 15 11 > C6, B4: x=0, table 1 2 NOK > C7, last transposition > C8, exchange 2: last S1,S2 exchange > C10,re-pairing Player 17 in Bracket 4 > C7, 11 3 6 13 15 > C6, Bracket tables 1 paired. E1 17&11 > C6others: Remainder Group, Bracket 4: 3 6 13 15 > C1, B1,2 test: ok, no unpairables > C2, x=0 > C3, p=2 Homogeneous. > C4, S1 & S2: 3 6 & 13 15 > C5, ordered: 3 6 & > 13 15 > C6, B1a: table 1 2 NOK > C7, 15 13 > C6, B4: x=0, table 1 2 NOK > C7, last transposition > C8, exchange 1: 3 13, 6 15 > C5, ordered: 3 13 & > 6 15 > C6, B1a: table 1 NOK > C7, 15 6 > C6, B4: x=0, table 1 2 NOK > C7, last transposition > C8, exchange 2: last S1,S2 exchange > C10,re-pairing Player 17 in Bracket 4 > C7, 13 3 6 11 15 > C6, Bracket tables 1 paired. E1 17&13 > C6others: Remainder Group, Bracket 4: 3 6 11 15 > C1, B1,2 test: ok, no unpairables > C2, x=0 > C3, p=2 Homogeneous. > C4, S1 & S2: 3 6 & 11 15 > C5, ordered: 3 6 & > 11 15 > C6, B1a: table 1 2 NOK > C7, 15 11 > C6, B4: x=0, table 1 2 NOK > C7, last transposition > C8, exchange 1: 3 11, 6 15 > C5, ordered: 3 11 & > 6 15 > C6, B1a: table 1 NOK > C7, 15 6 > C6, B4: x=0, table 1 2 NOK > C7, last transposition > C8, exchange 2: last S1,S2 exchange > C10,re-pairing Player 17 in Bracket 4 > C7, 15 3 6 11 13 > C6, B4: x=0, table 1 NOK > C7, last transposition > C10,again Dropping B5 for Upfloats > C2, x=0 > C3, p=1 Heterogeneous. > C4, S1 & S2: 17 & 3 6 11 13 15 > C5, ordered: 17 & > 3 6 11 13 15 > C6, B4: x=0, table 1 NOK > C7, 6 3 11 13 15 > C6, Bracket tables paired.
I guess, there is a bug somewhere? Does it help if I post the files I used? Best regards Christian
Download signature.asc
application/pgp-signature 189b

Message body not shown because it is not plain text.

Subject: Re: [rt.cpan.org #29495] 0.08 dies after error in C6PAIRS
Date: Thu, 20 Sep 2007 00:42:13 +0000
To: Christian Bartolomaeus via RT <bug-Games-Tournament-Swiss [...] rt.cpan.org>
From: Greg Matheson <drbean [...] freeshell.org>
On Wed, 19 Sep 2007, Christian Bartolomaeus via RT wrote: Show quoted text
> Trying to get pairings for round 5, pair (and pairstately) returns the > following error message:
Show quoted text
> > Pairing error: msg => No paired or unpaired in C6PAIRS, , byes => HASH(0x863f3ec), matches => ARRAY(0x870c490), previousBracket => ARRAY(0x86e80b4), round => 5, brackets => ARRAY(0x8263048), whoPlayedWho => HASH(0x86e88a0), index => 3, colorClashes => HASH(0x871d8ac), Pairing NOT complete
Show quoted text
> There seems to be a problem with pairing downfloated player 17. The > remaining output of the scripts (sorry it's a bit longer):
I was getting a similar error before that I think was connected with not looking for pairs after C10. I am not getting this error now with that pairing table, so I guess this diff will fix it. === FIDE.pm ================================================================== --- FIDE.pm (revision 1373) +++ FIDE.pm (revision 1390) @@ -1,6 +1,6 @@ package Games::Tournament::Swiss::Procedure::FIDE; -# Last Edit: 2007 Sep 14, 09:08:44 PM +# Last Edit: 2007 Sep 19, 07:21:41 PM # $Id$ use warnings; @@ -612,8 +612,8 @@ { for my $pos ( 0 .. $#$s2 ) { my @floaters = grep { defined $_ and - $_->floats($whichround{$refloat}) and - $_->floats($whichround{$refloat}) eq "Down" } + $_->floats( - $whichround{$refloat}) and + $_->floats( - $whichround{$refloat}) eq "Down" } @{$nonpaired[$pos]}; if (@floaters) { @@ -656,6 +656,26 @@ $nonpaired[$pos] = [ undef, $s2->[$pos] ]; } } + else { + for my $pos ( 0 .. $#Xpassers ) { + next unless defined $Xpassers[$pos]; + my @pair = ( $Xpassers[$pos]->[0], $Xpassers[$pos]->[1] ); + $B56passers[$pos] = \@pair; + } + for my $pos ( 0..$#B56passers ) + { + $nonpaired[$pos] = [ $s1->[$pos], $s2->[$pos] ] unless + defined $B56passers[$pos]; + } + for my $pos ( $#B56passers+1 .. $#$s1 ) + { + $nonpaired[$pos] = [ $s1->[$pos], $s2->[$pos] ]; + } + for my $pos ( $#$s1+1 .. $#$s2 ) + { + $nonpaired[$pos] = [ undef, $s2->[$pos] ]; + } + } } for my $pos ( 0 .. $#B56passers ) { next unless defined $B56passers[$pos]; @@ -695,7 +715,7 @@ Games::Tournament::Swiss::Procedure->c6others($group, $matches) -After pairing players, if there are remaining players in a homogeneous group, float them down to the next score group and continue with C1. In a heterogeneous group, start at C2 with the remaining players, now a homogeneous remainder group. XXX I am restarting at C1, rather than C2, to handle byes. See the problem http://chesschat.org/showpost.php?p=140199&postcount=150, which may be connected, even though C1 leads to C12 only if the player was moved down! TODO What is happening to remaininig players ins a last omogeneous group? +After pairing players, if there are remaining players in a homogeneous group, float them down to the next score group and continue with C1. In a heterogeneous group, start at C2 with the remaining players, now a homogeneous remainder group. XXX I am restarting at C1, rather than C2, to handle byes. See the problem http://chesschat.org/showpost.php?p=140199&postcount=150, which may be connected, even though C1 leads to C12 only if the player was moved down! TODO What is happening to remaining players in a last homogeneous group? =cut @@ -882,7 +902,7 @@ sub c10 { my $self = shift; my %args = @_; - return C11, %args if defined $args{penultpPrime}; + # return C11, %args if defined $args{penultpPrime}; my $index = $args{index}; my $groups = delete $args{brackets}; my $group = $groups->[$index]; @@ -918,13 +938,13 @@ my $bracket = $groups->[$index]; print "C10,again\t"; if ( $bracket->{didC10} ) { - if ( $bracket->{criterion}->{B6} ) { - $bracket->{criterion}->{B6} = 0; + if ( $bracket->{criterion}->{B6} eq 'Up' ) { + $bracket->{criterion}->{B6} = 'None'; print "Dropping B6 for Upfloats\n"; return C2, %args; } - elsif ( $bracket->{criterion}->{B5} ) { - $bracket->{criterion}->{B5} = 0; + elsif ( $bracket->{criterion}->{B5} eq 'Up' ) { + $bracket->{criterion}->{B5} = 'None'; print "Dropping B5 for Upfloats\n"; return C2, %args; } @@ -1280,7 +1300,7 @@ $group->exit($_) for @evacuees; $_->floating('Down') for @evacuees; $nextgroup->entry($_) for @evacuees; - $nextgroup->naturalize($_) for @evacuees; + # $nextgroup->naturalize($_) for @evacuees; $groups->[$index] = $group; $groups->[$index+1] = $nextgroup; my ($this, $next) = ($index+1, $index+2); This is on the unpatched 0.08 version of FIDE.pm
Subject: Re: [rt.cpan.org #29495] 0.08 dies after error in C6PAIRS
Date: Thu, 20 Sep 2007 09:11:44 +0200
To: Greg Matheson via RT <bug-Games-Tournament-Swiss [...] rt.cpan.org>
From: Christian Bartolomaeus <bartolin [...] gmx.de>
* On 2007-09-19 Greg Matheson via RT (bug-Games-Tournament-Swiss@rt.cpan.org) wrote: Show quoted text
> [...]
> > Trying to get pairings for round 5, pair (and pairstately) returns the > > following error message:
>
> > > Pairing error: msg => No paired or unpaired in C6PAIRS, , byes => HASH(0x863f3ec), matches => ARRAY(0x870c490), previousBracket => ARRAY(0x86e80b4), round => 5, brackets => ARRAY(0x8263048), whoPlayedWho => HASH(0x86e88a0), index => 3, colorClashes => HASH(0x871d8ac), Pairing NOT complete
> > [...] > > I was getting a similar error before that I think was connected with not > looking for pairs after C10. > > I am not getting this error now with that pairing table, so I > guess this diff will fix it. > > [...] > > This is on the unpatched 0.08 version of FIDE.pm
I can confirm this. With the fix applied, there where no errors and I got my pairings for round 5. Thanks Christian
Download signature.asc
application/pgp-signature 189b

Message body not shown because it is not plain text.

Subject: Re: [rt.cpan.org #29495] 0.08 dies after error in C6PAIRS
Date: Thu, 20 Sep 2007 15:18:50 +0000
To: Christian Bartolomaeus via RT <bug-Games-Tournament-Swiss [...] rt.cpan.org>
From: Greg Matheson <drbean [...] freeshell.org>
On Thu, 20 Sep 2007, Christian Bartolomaeus via RT wrote: Show quoted text
> I can confirm this. With the fix applied, there where no errors and I > got my pairings for round 5.
I will close this bug report.
Subject: Re: [rt.cpan.org #29495] 0.08 dies after error in C6PAIRS
Date: Sun, 30 Sep 2007 11:08:59 +0000
To: Greg Matheson via RT <bug-Games-Tournament-Swiss [...] rt.cpan.org>
From: Greg Matheson <drbean [...] freeshell.org>
On Thu, 20 Sep 2007, Greg Matheson via RT wrote: Show quoted text
> > I can confirm this. With the fix applied, there where no errors and I > > got my pairings for round 5.
Show quoted text
> I will close this bug report.
I should have provided a more precise fix. I am including a test based on this pairing table in 0.09 because it exercises the code for C10. I hope the pairings here are correct.
A fix that I have in the works for the problems in 0.09 is breaking the test for this bug. 20 and 12 are being swapped in the 3rd- and 2nd-last brackets. To get the fix out the door, I am changing the test. Hey-hey. If it can be shown that the 0.08 pairing of the test is correct, ie, that 20 should be on the second-last table and paired with 18, and that 12 should be on the 3rd last table and paired with 10, I will change the test back.
Subject: Re: [rt.cpan.org #29495] 0.08 dies after error in C6PAIRS
Date: Mon, 8 Oct 2007 15:16:19 +0200
To: Dr Bean via RT <bug-Games-Tournament-Swiss [...] rt.cpan.org>
From: Christian Bartolomaeus <bartolin [...] gmx.de>
* On 2007-10-08 Dr Bean via RT (bug-Games-Tournament-Swiss@rt.cpan.org) wrote: Show quoted text
> [...] > A fix that I have in the works for the problems in 0.09 is breaking > the test for this bug. 20 and 12 are being swapped in the 3rd- and > 2nd-last brackets.
I don't understand, what you mean by "20 and 12 being swapped". You don't speak about an exchange between S1 and S2, do you? Show quoted text
> If it can be shown that the 0.08 pairing of the test is correct, ie, > that 20 should be on the second-last table and paired with 18, and > that 12 should be on the 3rd last table and paired with 10, I will > change the test back.
I think that the 0.08 pairing is the correct one. But it comes down to the discussion about waiving of B5, B6 for upfloats, doesn't it? The relevant part of the pairing table: 15-16 10 20,1,15,16 BWBW 1.5 20 10,15,14,12 WBBW D 1.5 17-19 12 2,11,19,20 WBWB dU 1 18 8,13,17,14 WBWW u 1 19 9,16,12,13 BWBB u 1 20 14 4,17,20,18 WBWB 0 If we waive B6,B5 for upfloats (for players 12,18,19), then 10-12 and 20-18 look okay. (20-19 would be even better because auf B4, but then in the next score bracket 18-14 is not possible, therefore according to C12 one should end with 20-18). If we don't waive B6,B5 for upfloats 10-12 and 20-18 are not okay.
Download signature.asc
application/pgp-signature 189b

Message body not shown because it is not plain text.

Can we discuss the right pairing on http://chesschat.org?
Subject: Re: [rt.cpan.org #29495] 0.08 dies after error in C6PAIRS
Date: Mon, 8 Oct 2007 16:02:17 +0200
To: Dr Bean via RT <bug-Games-Tournament-Swiss [...] rt.cpan.org>
From: Christian Bartolomaeus <bartolin [...] gmx.de>
* On 2007-10-08 Dr Bean via RT (bug-Games-Tournament-Swiss@rt.cpan.org) wrote: Show quoted text
> [...] > Can we discuss the right pairing on http://chesschat.org?
Yes, of course. Actually I thought about suggesting that, but somehow forgot about it.
Download signature.asc
application/pgp-signature 189b

Message body not shown because it is not plain text.

No need to discuss this. Games::Tournament::Swiss r 1455 now agrees that your analysis is correct.
Subject: Re: [rt.cpan.org #29495] 0.08 dies after error in C6PAIRS
Date: Fri, 12 Oct 2007 18:46:26 +0200
To: Dr Bean via RT <bug-Games-Tournament-Swiss [...] rt.cpan.org>
From: Christian Bartolomaeus <bartolin [...] gmx.de>
* On 2007-10-10 Dr Bean via RT (bug-Games-Tournament-Swiss@rt.cpan.org) wrote: Show quoted text
> [...] > No need to discuss this. Games::Tournament::Swiss r 1455 now agrees > that your analysis is correct.
Just for the records (or in case someone else reads this): I asked about the correct pairing at http://chesschat.org/showthread.php?t=6925 (post no. 15, last post on first page). Unfortunately I didn't include enough informations (for instance I forgot about round 5 being the last round; maybe my fault was to include to much information, namely the upper part of the pairing table?) and as a result I exacerbated one of the experienced arbiters around. Alas, there has been no complete answer to my question how the last boards should be paired. But there was one post (http://chesschat.org/showpost.php?p=170418&postcount=29) saying, that my suggestion (12-10, 20-18, 19-14), was not the correct pairing. Unfortunately this is the choice of Games::Tournament::Swiss (0.10) as well. So it's quite possible that there still is some trouble left with version 0.10. Best regards Christian
Download signature.asc
application/pgp-signature 189b

Message body not shown because it is not plain text.