gnugo-devel
[Top][All Lists]
Advanced

[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;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]