Ticket #124 (closed defect: fixed)

Opened 2 years ago

Last modified 2 years ago

valgrind complaints for 3.7.9

Reported by: gunnar Owned by: gnugo
Priority: normal Milestone: 3.7.10
Component: source Version:
Severity: normal Keywords:
Cc: patch: yes

Description

Running the regressions under valgrind (this can be done with regress.pike --valgrind) on AMD64 turns up the following distinct complaints:

owl.tst:
==25529== Conditional jump or move depends on uninitialised value(s)
==25529==    at 0x43E0FE: do_owl_attack (owl.c:2144)
==25529==    by 0x43CBBD: do_owl_defend (owl.c:2723)
==25529==    by 0x43DE35: do_owl_attack (owl.c:2152)
==25529==    by 0x43CBBD: do_owl_defend (owl.c:2723)
==25529==    by 0x43DE35: do_owl_attack (owl.c:2152)
==25529==    by 0x43CBBD: do_owl_defend (owl.c:2723)
==25529==    by 0x43DE35: do_owl_attack (owl.c:2152)
==25529==    by 0x43CBBD: do_owl_defend (owl.c:2723)
==25529==    by 0x44368F: owl_defend (owl.c:2431)
==25529==    by 0x40844D: gtp_owl_defend (play_gtp.c:1517)
==25529==    by 0x40FE58: gtp_main_loop (gtp.c:142)
==25529==    by 0x406A27: play_gtp (play_gtp.c:348)
filllib.tst:
==27608== Conditional jump or move depends on uninitialised value(s)
==27608==    at 0x445DB3: store_persistent_semeai_cache (persistent.c:1283)
==27608==    by 0x441985: owl_analyze_semeai_after_move (owl.c:584)
==27608==    by 0x441F59: owl_analyze_semeai (owl.c:362)
==27608==    by 0x45E216: semeai (semeai.c:115)
==27608==    by 0x4229FD: make_dragons (dragon.c:418)
==27608==    by 0x4245FE: examine_position (genmove.c:160)
==27608==    by 0x4249F6: do_genmove (genmove.c:352)
==27608==    by 0x4248B0: genmove_conservative (genmove.c:273)
==27608==    by 0x40A343: gtp_reg_genmove (play_gtp.c:2548)
==27608==    by 0x40FE58: gtp_main_loop (gtp.c:142)
==27608==    by 0x406A27: play_gtp (play_gtp.c:348)
==27608==    by 0x402F6C: main (main.c:1332)
==27608==
==27608== Conditional jump or move depends on uninitialised value(s)
==27608==    at 0x445EA6: compute_active_semeai_area (persistent.c:1304)
==27608==    by 0x44442F: store_persistent_cache (persistent.c:534)
==27608==    by 0x445E21: store_persistent_semeai_cache (persistent.c:1284)
==27608==    by 0x441985: owl_analyze_semeai_after_move (owl.c:584)
==27608==    by 0x441F59: owl_analyze_semeai (owl.c:362)
==27608==    by 0x45E216: semeai (semeai.c:115)
==27608==    by 0x4229FD: make_dragons (dragon.c:418)
==27608==    by 0x4245FE: examine_position (genmove.c:160)
==27608==    by 0x4249F6: do_genmove (genmove.c:352)
==27608==    by 0x4248B0: genmove_conservative (genmove.c:273)
==27608==    by 0x40A343: gtp_reg_genmove (play_gtp.c:2548)
==27608==    by 0x40FE58: gtp_main_loop (gtp.c:142)
==27608==
==27608== Use of uninitialised value of size 8
==27608==    at 0x445EAA: compute_active_semeai_area (persistent.c:1304)
==27608==    by 0x44442F: store_persistent_cache (persistent.c:534)
==27608==    by 0x445E21: store_persistent_semeai_cache (persistent.c:1284)
==27608==    by 0x441985: owl_analyze_semeai_after_move (owl.c:584)
==27608==    by 0x441F59: owl_analyze_semeai (owl.c:362)
==27608==    by 0x45E216: semeai (semeai.c:115)
==27608==    by 0x4229FD: make_dragons (dragon.c:418)
==27608==    by 0x4245FE: examine_position (genmove.c:160)
==27608==    by 0x4249F6: do_genmove (genmove.c:352)
==27608==    by 0x4248B0: genmove_conservative (genmove.c:273)
==27608==    by 0x40A343: gtp_reg_genmove (play_gtp.c:2548)
==27608==    by 0x40FE58: gtp_main_loop (gtp.c:142)

Attachments

gunnar_7_10.4.diff (0.5 kB) - added by gunnar 2 years ago.
Fix for the owl:149 problem.
gunnar_7_10.5.diff (1.8 kB) - added by gunnar 2 years ago.
fix for filllib:1 complaint

Regression Results

Attachment Rev. PASS FAIL Nodes Status
gunnar_7_10.4.diff never tested
gunnar_7_10.5.diff never tested

Change History

Changed 2 years ago by alain

on AMD athlon-xp compiled with gcc-4.1
owl:148 gives the same complaint

Changed 2 years ago by alain

OOPS it is owl:149 and fillib:1


icc 9.0 gives the sames valgrind complaints
gcc 4.1 gives the same result for owl:149,
but for fillib:1 the first one does not appear.

==14453== Conditional jump or move depends on uninitialised value(s)
==14453==    at 0x808C6F7: compute_active_semeai_area (persistent.c:1304)
==14453==    by 0x808DA69: store_persistent_cache (persistent.c:534)
=...
==14453== Use of uninitialised value of size 4
==14453==    at 0x808C6F9: compute_active_semeai_area (persistent.c:1304)
==14453==    by 0x808DA69: store_persistent_cache (persistent.c:534)

Changed 2 years ago by gunnar

The owl:149 complaint can be caught without valgrind by adding this assertion:

Index: engine/owl.c
===================================================================
--- engine/owl.c	(revision 2340)
+++ engine/owl.c	(working copy)
@@ -2137,6 +2137,7 @@
 	origin = str;
       else
 	origin = select_new_goal_origin(NO_MOVE, owl);
+      ASSERT_ON_BOARD1(origin);
 
       /* Test whether the move cut the goal dragon apart. */
       if (moves[k].cuts[0] != NO_MOVE) {

Changed 2 years ago by gunnar

Fix for the owl:149 problem.

Changed 2 years ago by gunnar

fix for filllib:1 complaint

Changed 2 years ago by gunnar

  • patch set

gunnar_7_10.5 fixes the filllib:1 problem and also another complaint for semeai:29.

Changed 2 years ago by gunnar

  • status changed from new to closed
  • resolution set to fixed
Note: See TracTickets for help on using tickets.