gnugo-devel
[Top][All Lists]
Advanced

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

[gnugo-devel] Current CVS crashes in golife.tst


From: bump
Subject: [gnugo-devel] Current CVS crashes in golife.tst
Date: Fri, 11 Oct 2002 17:09:12 -0700

The current CVS version crashes in golife:2. The culprit is
the patch evan_3_10.7.

The patch at the end of this message undoes evan_3_10.7.

I'll leave the CVS unchanged for now in case Gunnar sees
a trivial fix for this.

Dan

***assertion failure:
reading.c:395 - !((acode != 0) && (dcode == 5 && dpos == 0)) near PASS***

B:H5 W:H2 B:G2 W:F2 B:J4 W:G1 B:G4 W:J3 B:J5 W:E1 B:E2 W:D2 B:E3 W:C2 B:B2 W:D3 
B:E4 W:B1 B:H3 W:B3 
   A B C D E F G H J
 9 . . . . . . . . X 9
 8 X X . O . O X X O 8
 7 O X O . . O O O . 7
 6 . O O X X X . X . 6
 5 . . . . + . X X X 5
 4 . . X . X . X . X 4
 3 . O X O X . O X O 3
 2 . X O O X O . O . 2     WHITE has captured 1 stones
 1 . O . . O . O . . 1     BLACK has captured 1 stones
   A B C D E F G H J
   A B C D E F G H J
 9 . . . . . . . . X 9
 8 X X . O . O X X O 8
 7 O X O . . O O O . 7
 6 . O O X X X . X . 6
 5 . . . . + . X X X 5
 4 . . X . X . X . X 4
 3 . . X O X . O X O 3
 2 . X O O X O . O . 2     WHITE has captured 1 stones
 1 . O . . O . O . . 1     BLACK has captured 1 stones
   A B C D E F G H J
   A B C D E F G H J
 9 . . . . . . . . X 9
 8 X X . O . O X X O 8
 7 O X O . . O O O . 7
 6 . O O X X X . X . 6
 5 . . . . + . X X X 5
 4 . . X . X . X O X 4
 3 . . X O X . O . O 3
 2 . X O O X O . O . 2     WHITE has captured 1 stones
 1 . O . . O . O . . 1     BLACK has captured 0 stones
   A B C D E F G H J
   A B C D E F G H J
 9 . . . . . . . . X 9
 8 X X . O . O X X O 8
 7 O X O . . O O O . 7
 6 . O O X X X . X . 6
 5 . . . . + . X X X 5
 4 . . X . X . X O X 4
 3 . . X O X . O . O 3
 2 . X O O X O . O . 2     WHITE has captured 1 stones
 1 . . . . O . O . . 1     BLACK has captured 0 stones
   A B C D E F G H J
   A B C D E F G H J
 9 . . . . . . . . X 9
 8 X X . O . O X X O 8
 7 O X O . . O O O . 7
 6 . O O X X X . X . 6
 5 . . . . + . X X X 5
 4 . . X . . . X O X 4
 3 . . X O X . O . O 3
 2 . X O O X O . O . 2     WHITE has captured 1 stones
 1 . . . . O . O . . 1     BLACK has captured 0 stones
   A B C D E F G H J
   A B C D E F G H J
 9 . . . . . . . . X 9
 8 X X . O . O X X O 8
 7 O X O . . O O O . 7
 6 . O O X X X . X . 6
 5 . . . . + . X X X 5
 4 . . X . . . X O X 4
 3 . . X . X . O . O 3
 2 . X O O X O . O . 2     WHITE has captured 1 stones
 1 . . . . O . O . . 1     BLACK has captured 0 stones
   A B C D E F G H J
   A B C D E F G H J
 9 . . . . . . . . X 9
 8 X X . O . O X X O 8
 7 O X O . . O O O . 7
 6 . O O X X X . X . 6
 5 . . . . + . X X X 5
 4 . . X . . . X O X 4
 3 . . X . X . O . O 3
 2 . . O O X O . O . 2     WHITE has captured 1 stones
 1 . . . . O . O . . 1     BLACK has captured 0 stones
   A B C D E F G H J
   A B C D E F G H J
 9 . . . . . . . . X 9
 8 X X . O . O X X O 8
 7 O X O . . O O O . 7
 6 . O O X X X . X . 6
 5 . . . . + . X X X 5
 4 . . X . . . X O X 4
 3 . . X . X . O . O 3
 2 . . . O X O . O . 2     WHITE has captured 1 stones
 1 . . . . O . O . . 1     BLACK has captured 0 stones
   A B C D E F G H J
   A B C D E F G H J
 9 . . . . . . . . X 9
 8 X X . O . O X X O 8
 7 O X O . . O O O . 7
 6 . O O X X X . X . 6
 5 . . . . + . X X X 5
 4 . . X . . . X O X 4
 3 . . X . . . O . O 3
 2 . . . O X O . O . 2     WHITE has captured 1 stones
 1 . . . . O . O . . 1     BLACK has captured 0 stones
   A B C D E F G H J
   A B C D E F G H J
 9 . . . . . . . . X 9
 8 X X . O . O X X O 8
 7 O X O . . O O O . 7
 6 . O O X X X . X . 6
 5 . . . . + . X X X 5
 4 . . X . . . X O X 4
 3 . . X . . . O . O 3
 2 . . . . X O . O . 2     WHITE has captured 1 stones
 1 . . . . O . O . . 1     BLACK has captured 0 stones
   A B C D E F G H J
   A B C D E F G H J
 9 . . . . . . . . X 9
 8 X X . O . O X X O 8
 7 O X O . . O O O . 7
 6 . O O X X X . X . 6
 5 . . . . + . X X X 5
 4 . . X . . . X O X 4
 3 . . X . . . O . O 3
 2 . . . . . O . O . 2     WHITE has captured 1 stones
 1 . . . . O . O . . 1     BLACK has captured 0 stones
   A B C D E F G H J
   A B C D E F G H J
 9 . . . . . . . . X 9
 8 X X . O . O X X O 8
 7 O X O . . O O O . 7
 6 . O O X X X . X . 6
 5 . . . . + . X X X 5
 4 . . X . . . X O X 4
 3 . . X . . . O . O 3
 2 . . . . . O . O . 2     WHITE has captured 1 stones
 1 . . . . . . O . . 1     BLACK has captured 0 stones
   A B C D E F G H J
   A B C D E F G H J
 9 . . . . . . . . X 9
 8 X X . O . O X X O 8
 7 O X O . . O O O . 7
 6 . O O X X X . X . 6
 5 . . . . + . X X . 5
 4 . . X . . . X O X 4
 3 . . X . . . O . O 3
 2 . . . . . O . O . 2     WHITE has captured 1 stones
 1 . . . . . . O . . 1     BLACK has captured 0 stones
   A B C D E F G H J
   A B C D E F G H J
 9 . . . . . . . . X 9
 8 X X . O . O X X O 8
 7 O X O . . O O O . 7
 6 . O O X X X . X . 6
 5 . . . . + . X X . 5
 4 . . X . . . X O X 4
 3 . . X . . . O . . 3
 2 . . . . . O . O . 2     WHITE has captured 1 stones
 1 . . . . . . O . . 1     BLACK has captured 0 stones
   A B C D E F G H J
   A B C D E F G H J
 9 . . . . . . . . X 9
 8 X X . O . O X X O 8
 7 O X O . . O O O . 7
 6 . O O X X X . X . 6
 5 . . . . + . X X . 5
 4 . . X . . . . O X 4
 3 . . X . . . O . . 3
 2 . . . . . O . O . 2     WHITE has captured 1 stones
 1 . . . . . . O . . 1     BLACK has captured 0 stones
   A B C D E F G H J
   A B C D E F G H J
 9 . . . . . . . . X 9
 8 X X . O . O X X O 8
 7 O X O . . O O O . 7
 6 . O O X X X . X . 6
 5 . . . . + . X X . 5
 4 . . X . . . . O X 4
 3 . . X . . . O . . 3
 2 . . . . . O X O . 2     WHITE has captured 0 stones
 1 . . . . . . . . . 1     BLACK has captured 0 stones
   A B C D E F G H J
   A B C D E F G H J
 9 . . . . . . . . X 9
 8 X X . O . O X X O 8
 7 O X O . . O O O . 7
 6 . O O X X X . X . 6
 5 . . . . + . X X . 5
 4 . . X . . . . O . 4
 3 . . X . . . O . . 3
 2 . . . . . O X O . 2     WHITE has captured 0 stones
 1 . . . . . . . . . 1     BLACK has captured 0 stones
   A B C D E F G H J
   A B C D E F G H J
 9 . . . . . . . . X 9
 8 X X . O . O X X O 8
 7 O X O . . O O O . 7
 6 . O O X X X . X . 6
 5 . . . . + . X X . 5
 4 . . X . . . . O . 4
 3 . . X . . . O . . 3
 2 . . . . . . X O . 2     WHITE has captured 0 stones
 1 . . . . . . . . . 1     BLACK has captured 0 stones
   A B C D E F G H J
   A B C D E F G H J
 9 . . . . . . . . X 9
 8 X X . O . O X X O 8
 7 O X O . . O O O . 7
 6 . O O X X X . X . 6
 5 . . . . + . X X . 5
 4 . . X . . . . O . 4
 3 . . X . . . O . . 3
 2 . . . . . . . O . 2     WHITE has captured 0 stones
 1 . . . . . . . . . 1     BLACK has captured 0 stones
   A B C D E F G H J
   A B C D E F G H J
 9 . . . . . . . . X 9
 8 X X . O . O X X O 8
 7 O X O . . O O O . 7
 6 . O O X X X . X . 6
 5 . . . . + . X X . 5
 4 . . X . . . . O . 4
 3 . . X . . . O . . 3
 2 . . . . . . . . . 2     WHITE has captured 0 stones
 1 . . . . . . . . . 1     BLACK has captured 0 stones
   A B C D E F G H J
   A B C D E F G H J
 9 . . . . . . . . X 9
 8 X X . O . O X X O 8
 7 O X O . . O O O . 7
 6 . O O X X X . X . 6
 5 . . . . + . X . . 5
 4 . . X . . . . O . 4
 3 . . X . . . O . . 3
 2 . . . . . . . . . 2     WHITE has captured 0 stones
 1 . . . . . . . . . 1     BLACK has captured 0 stones
   A B C D E F G H J

gnugo 3.3.9 (seed 0): You stepped on a bug.
Please save this game as an sgf file and mail it to address@hidden
If you can, please also include the debug output above this message.

Index: engine/liberty.h
===================================================================
RCS file: /cvsroot/gnugo/gnugo/engine/liberty.h,v
retrieving revision 1.125
diff -u -r1.125 liberty.h
--- engine/liberty.h    11 Oct 2002 08:23:45 -0000      1.125
+++ engine/liberty.h    12 Oct 2002 00:07:18 -0000
@@ -301,7 +301,6 @@
                                    int *move);
 void store_persistent_reading_cache(int routine, int str, int result,
                                    int move, int nodes);
-void delete_persistent_reading_entry(int index);
 void reading_hotspots(float values[BOARDMAX]);
 void purge_persistent_owl_cache(void);
 int search_persistent_owl_cache(int routine, int apos, int bpos, int cpos,
Index: engine/persistent.c
===================================================================
RCS file: /cvsroot/gnugo/gnugo/engine/persistent.c,v
retrieving revision 1.2
diff -u -r1.2 persistent.c
--- engine/persistent.c 11 Oct 2002 08:23:45 -0000      1.2
+++ engine/persistent.c 12 Oct 2002 00:07:18 -0000
@@ -265,9 +265,7 @@
 }
 
 
-/* Look for a valid read result in the persistent cache.
- * Return index of the entry found if there is a match, -1 if no match
- */
+/* Look for a valid read result in the persistent cache. */
 int
 search_persistent_reading_cache(int routine, int str, int *result, int *move)
 {
@@ -300,8 +298,7 @@
 
     /* Matched alright. Increase score, fill in the answer, and return. */
     entry->score += entry->nodes;
-    if (result)
-      *result = entry->result;
+    *result = entry->result;
     if (move)
       *move = entry->move;
     ASSERT1(entry->result == 0
@@ -322,10 +319,10 @@
       dump_stack();
     }
 
-    return k;
+    return 1;
   }
 
-  return -1;
+  return 0;
 }
 
 
@@ -475,15 +472,6 @@
   }
   
   persistent_reading_cache_size++;
-}
-
-/*delete an entry from the cache, given its index*/
-void
-delete_persistent_reading_entry(int index)
-{
-  gg_assert(index >= 0 && index < persistent_reading_cache_size);
-  persistent_reading_cache[index]
-         = persistent_reading_cache[--persistent_reading_cache_size];
 }
 
 
Index: engine/reading.c
===================================================================
RCS file: /cvsroot/gnugo/gnugo/engine/reading.c,v
retrieving revision 1.81
diff -u -r1.81 reading.c
--- engine/reading.c    11 Oct 2002 08:23:45 -0000      1.81
+++ engine/reading.c    12 Oct 2002 00:07:18 -0000
@@ -248,7 +248,7 @@
     return 0;
 
   origin = find_origin(str);
-  if (search_persistent_reading_cache(ATTACK, origin, &result, &the_move) != 
-1) {
+  if (search_persistent_reading_cache(ATTACK, origin, &result, &the_move)) {
     if (move)
       *move = the_move;
     return result;
@@ -311,7 +311,7 @@
 
   origin = find_origin(str);
   if (search_persistent_reading_cache(FIND_DEFENSE, origin, 
-                                     &result, &the_move) != -1) {
+                                     &result, &the_move)) {
     if (move)
       *move = the_move;
     return result;
@@ -379,20 +379,10 @@
      * incorrect, but we can't easily find a defense point to return.
      */
     if (dcode == WIN && dpos == NO_MOVE) {
-      int ai, di;
-      ai = search_persistent_reading_cache(ATTACK, str, NULL, NULL);
-      di = search_persistent_reading_cache(FIND_DEFENSE, str, NULL, NULL);
-      if (ai != -1)
-        delete_persistent_reading_entry(ai);
-      if (di != -1)
-        delete_persistent_reading_entry(di);
-      acode = attack(str, &apos);
-      if (acode != 0)
-        dcode = find_defense(str, &dpos);
+      acode = 0;
+      apos = NO_MOVE;
     }
   }
-
-  gg_assert(!((acode != 0) && (dcode == WIN && dpos == NO_MOVE)));
 
   if (attack_code)
     *attack_code = acode;




reply via email to

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