gnugo-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gnugo-devel] Error in gnugo 3.9.1


From: Gunnar Farnebäck
Subject: Re: [gnugo-devel] Error in gnugo 3.9.1
Date: Thu, 27 Jan 2011 22:42:40 +0100
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.16) Gecko/20101226 Icedove/3.0.11

On 01/25/11 22:00, Gunnar Farnebäck wrote:
On 01/23/11 23:06, Gunnar Farnebäck wrote:
On 01/22/11 19:18, Kőri Gábor wrote:
Hi,

I found an error in the latest official release in use gnugo. I
attached the SGF file of the game. Gnugo plays as black. When the
level of the bot set to 9, 10, 11 or 12, then gnugo crashes.

Thanks for the report.

Unfortunately I'm not able to reproduce the crash. Can you describe
your platform, build flags, runtime options, and the exact error
message in case the crash is due to an assertion failure?

Thanks to further off-list assistance from Kőri we now have a
reproducible testcase and indications from valgrind that uninitialized
memory gets into the semeai reading, leading to corrupted data
structures and eventually a segmentation fault.

See http://trac.gnugo.org/gnugo/ticket/228 for details.

Problem identified. There are some more details and a patch in the
ticket but the short story is that recent improvements to the liberty
filling in the semeai reading conflicted with the so called tactical
reading mode for semeais.

The basic idea of the tactical semeai reading is to bypass eye
analysis and owl pattern matching in order to speed up the semeai
reading. The drawback is that the accuracy suffers and currently
tactical semeai reading is only employed for playing levels below 8
and under certain conditions in the deeper part of the search
tree. This also explains why the regression testing didn't catch this
bug, since we did that at level 10, where the tactical semeai reading
never is used. Had we run the regressions with level set to 7 or lower
we quickly would have seen crashes.

The proposed patch solves the problem by taking the drastic measure of
removing the tactical semeai reading completely. My testing showed
rather marginal speed improvements from the tactical semeai reading,
which I don't think are worth the increased code complexity for this
feature.

/Gunnar



reply via email to

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