[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnugo-devel] Assertion failure
From: |
Gunnar Farneback |
Subject: |
[gnugo-devel] Assertion failure |
Date: |
Mon, 20 Jan 2003 21:43:55 +0100 |
User-agent: |
EMH/1.14.1 SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.3 Emacs/20.7 (sparc-sun-solaris2.7) (with unibyte mode) |
The appended game caused an assertion failure on NNGS. The problem is
that too many move reasons are generated, which we are aware of may
happen. The relevant code can be found around line 413 in
move_reasons.c.
/* Reason not found, add it if there is place left in both lists.
*
* FIXME: We should just drop the move reason silently in stable
* releases if some list is full.
*/
gg_assert(k < MAX_REASONS);
gg_assert(next_reason < MAX_MOVE_REASONS);
I think we should implement the FIXME also for development versions.
It shouldn't matter all that much if a couple of the last induced move
reasons are missing. When huge amounts of move reasons are generated
the correct move can be assumed to have a sufficient number already.
This should be a fairly simple exercise, if someone feels like taking
on a small task. It would also be nice if someone would analyze
exactly what move reasons would be have to dropped in the appended
game and how that would affect the move valuation.
/Gunnar
(;GM[1]FF[4]
SZ[19]HA[0]KM[0.5]
PW[GnuGo (GNU Go 3.3.15)]WR[10k*]
PB[kokom]BR[NR]
PC[NNGS]DT[2003-01-20]AP[gnugoclient:2.0]
;B[pd];W[cp];B[pp];W[dc];B[de];W[dh];B[ep];W[eq];B[fq];W[dq];B[fo]
;W[ce];B[cf];W[cd];B[df];W[fc];B[cn];W[fr];B[gq];W[nc];B[ci];W[pn]
;B[np];W[qp];B[qq];W[qo];B[rq];W[qj];B[qh];W[gr];B[hr];W[kc];B[oc]
;W[nd];B[oh];W[ch];B[ff];W[bi];B[bg];W[cj];B[di];W[ei];B[dj];W[dk]
;B[ej];W[fj];B[ek];W[el];B[fk];W[gk];B[fl];W[fm]C[L:9];B[gl];W[hl]
C[L:7];B[gm];W[gn];B[hm];W[im]C[L:8];B[hn];W[ho]C[L:6];B[in];W[jn]
;B[io]C[Program crashed.
game adjourned])
- [gnugo-devel] Assertion failure,
Gunnar Farneback <=