[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [gnugo-devel] crash in twogtp
From: |
Evan Berggren Daniel |
Subject: |
Re: [gnugo-devel] crash in twogtp |
Date: |
Thu, 10 Jul 2003 00:15:08 -0400 (EDT) |
On Wed, 9 Jul 2003 address@hidden wrote:
>
> > here it is; twogtp now works on my computer, running perl 5.8.0 (from
> > Debian unstable). Can anyone running other versions of perl test this?
>
> I'm running perl 5.6.1.
>
> A short twogtp match finished OK and then I got this unpleasant message:
>
> print() on unopened filehandle Symbol::GEN8 at
> /usr/lib/perl5/5.6.1/i386-linux/IO/Handle.pm line 394, <GEN10> line 236.
> print() on unopened filehandle Symbol::GEN1 at
> /usr/lib/perl5/5.6.1/i386-linux/IO/Handle.pm line 394, <GEN10> line 236.
Does this version work?
I've tested that it actually finishes, will play multi-game series, and
will output valid sgfs. Am I missing anything this time? and once again,
will it work on your version to? (previous was broken on my version, same
issue).
Evan Daniel
--- interface/gtp_examples/twogtp 15 Feb 2003 14:32:54 -0000 1.9
+++ interface/gtp_examples/twogtp 10 Jul 2003 04:09:15 -0000
@@ -100,7 +100,7 @@
my $self = shift;
my $cmd = shift;
- my $pid = open2(${$self->out}, ${$self->in}, $cmd);
+ my $pid = open2($self->{out}, $self->{in}, $cmd);
return $pid;
}
@@ -116,35 +116,35 @@
} else {
die "Illegal color $color\n";
}
- my $move = GTP::exec_cmd(${$self->in}, ${$self->out}, $cmd);
+ my $move = GTP::exec_cmd($self->{in}, $self->{out}, $cmd);
}
sub black {
my $self = shift;
my $move = shift;
- GTP::exec_cmd(${$self->in}, ${$self->out}, "black $move");
+ GTP::exec_cmd($self->{in}, $self->{out}, "black $move");
}
sub white {
my $self = shift;
my $move = shift;
- GTP::exec_cmd(${$self->in}, ${$self->out}, "white $move");
+ GTP::exec_cmd($self->{in}, $self->{out}, "white $move");
}
sub komi {
my $self = shift;
my $komi = shift;
- GTP::exec_cmd(${$self->in}, ${$self->out}, "komi $komi");
+ GTP::exec_cmd($self->{in}, $self->{out}, "komi $komi");
}
sub boardsize {
my $self = shift;
my $size = shift;
- GTP::exec_cmd(${$self->in}, ${$self->out}, "boardsize $size");
+ GTP::exec_cmd($self->{in}, $self->{out}, "boardsize $size");
}
sub handicap {
@@ -152,7 +152,7 @@
my $handicap = shift;
my $stones;
- $stones = GTP::exec_cmd(${$self->in}, ${$self->out}, "handicap $handicap");
+ $stones = GTP::exec_cmd($self->{in}, $self->{out}, "handicap $handicap");
return split(' ', $stones);
}
@@ -161,26 +161,26 @@
my $handicap = shift;
my $stones;
- $stones = GTP::exec_cmd(${$self->in}, ${$self->out}, "fixed_handicap
$handicap");
+ $stones = GTP::exec_cmd($self->{in}, $self->{out}, "fixed_handicap
$handicap");
return split(' ', $stones);
}
sub quit {
my $self = shift;
- $self->in->print("quit\n");
+ $self->{in}->print("quit\n");
}
sub showboard {
my $self = shift;
- GTP::exec_cmd(${$self->in}, ${$self->out}, "showboard");
+ GTP::exec_cmd($self->{in}, $self->{out}, "showboard");
}
sub get_random_seed {
my $self = shift;
- my $ret = GTP::exec_cmd(${$self->in}, ${$self->out}, "get_random_seed");
+ my $ret = GTP::exec_cmd($self->{in}, $self->{out}, "get_random_seed");
if ($ret eq "ERROR") {
return "unknown";
}
@@ -191,21 +191,21 @@
sub get_program_name {
my $self = shift;
- my $name = GTP::exec_cmd(${$self->in}, ${$self->out}, "name");
- my $version = GTP::exec_cmd(${$self->in}, ${$self->out}, "version");
+ my $name = GTP::exec_cmd($self->{in}, $self->{out}, "name");
+ my $version = GTP::exec_cmd($self->{in}, $self->{out}, "version");
return "$name $version";
}
sub score {
my $self = shift;
- return GTP::exec_cmd(${$self->in}, ${$self->out}, "score");
+ return GTP::exec_cmd($self->{in}, $self->{out}, "score");
}
sub estimate_score {
my $self = shift;
- my $ret = GTP::exec_cmd(${$self->in}, ${$self->out}, "estimate_score");
+ my $ret = GTP::exec_cmd($self->{in}, $self->{out}, "estimate_score");
my ($result, $rest) = split(' ', $ret, 2);
return $result;
}
@@ -264,7 +264,7 @@
my $white_seed = $self->white->get_random_seed;
my $handicap = $self->handicap;
my $komi = $self->komi;
- my $result = $self->result->resultw;
+ my $result = $self->{result}->resultw;
print $handle
"(;GM[1]FF[4]RU[Japanese]SZ[$size]HA[$handicap]KM[$komi]RE[$result]\n";
print $handle "PW[$white_name (random seed $white_seed)]PB[$black_name
(random seed $black_seed)]\n";
@@ -396,8 +396,9 @@
print "Result according to W: $resultw\n";
print "****** according to B: $resultb\n";
}
- $self->result->resultw($resultw);
- $self->result->resultb($resultb);
+ $self->{result} = new GTP::Game::Result;
+ $self->{result}->resultw($resultw);
+ $self->{result}->resultb($resultb);
$self->writesgf($sgffile) if defined $sgffile;
}
@@ -434,8 +435,8 @@
my $sgffile_game = sprintf "%s%03d.sgf", $sgffile_base, $i;
$game->play($sgffile_game);
my $result = new GTP::Game::Result;
- $result->resultb($game->result->resultb);
- $result->resultw($game->result->resultw);
+ $result->resultb($game->{result}->resultb);
+ $result->resultw($game->{result}->resultw);
push @results, $result;
}
return @results;