[ggo-discussion] Re: Bug: nonrecognition of spaces in pathnames in GTP Control Window under Windows (gGo v3.3)

  • From: Peter Strempel <zotan@xxxxxx>
  • To: ggo-discussion@xxxxxxxxxxxxx
  • Date: Tue, 4 Feb 2003 01:46:25 +0100

On Mon, Feb 03, 2003 at 07:24:34PM -0500, Matthew Rohn wrote:
> 
> Hello,
> 
> This bug prevents resuming a game against GnuGo when the SGF file resides 
> in a path that contains a space (eg "c:\Documents and Settings\User\My 
> Documents\Go\game.sgf").  Opening an SGF file in such a path will load the 
> current board position into the client but the clock will not tick down, 
> GnuGo will not make moves, and nor can the human player make a move.  Only 
> if the SGF file resides in a path without spaces can one successfully 
> resume a game against GnuGo.
> 
> I found this bug to occur both in Win98 and WinXP.
> 
> To reproduce:
> 
> 1) Place an SGF file into a directory whose full pathname contains a space.
> 2) Launch gGo.
> 3) Click "Play GnuGo".
> 4) Click "Resume game".
> 5) Open the SGF file from step 1.
> 6) The board opens but the game cannot be played.


Cheers,

this is a known issue and mentioned in the FAQ at 
http://panda-igs.joyjoy.net/java/gGo/faq/index.html

Please forgive me to be a lazy bastard and just quote from the FAQ. :)

-----
4.4.  When I try to resume a game, why does it not work?

The most common reason for this is, you are on Windows and try to load a SGF
file from a folder which name includes spaces, for example C:\Documents and
Settings\myusername\Own files\Go\game123.sgf. Spaces in directory names is a
Windows disease, and GNU Go can not handle them when loading this file. Put
the SGF files in some folder which contains no spaces, like
C:\Go\game123.sgf, then GNU Go will properly load the game. This is a
limitation of GNU Go, not gGo. So I cannot do much about it.
-----

Note: The space in pathnames is no problem if GNU Go loads a file to
estimate the score. For that it loads a temporary sgf file from $TEMP, which
is usually in
C:\Documents and Settings\<username>\Dontrememberexactly\Temporary files,
a path that is including spaces. Loading such files works fine. However, the
loading proceeds differently here, the gnugo process is started with a
commandline argument "-L <filename>". Spaces here are ok. But when resuming
a game, the game is loaded from an already running gnugo process via the GTP
command "loadsgf <filename>", and this does not accept spaces. Using the -L
option for game resuming is a bad idea, I already thought about that to
workaround this problem, but then I cannot reuse the already running gnugo
process anymore when starting a new game in the same board, which is a too
high price to pay for my taste.

To sum it up, it is up to the GNU Go developers, to be exact the people who
implement the GTP protocol, to change this. However, spaces in pathnames is
a typical Windows thing, and GNU Go is a Linux project.

As workaround, simply dont save games for resuming in pathnames including
spaces. I cannot offer another solution for this at the moment. Maybe I get
a sudden inspiration and an idea for a workaround, but I cannot promise
that. :)

 Peter

Other related posts: