Ticket #124 (closed defect: fixed)
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
Regression Results
| Attachment | Rev. | PASS | FAIL | Nodes | Status | |
| gunnar_7_10.4.diff | never tested | |||||
| gunnar_7_10.5.diff | never tested |
Change History
comment:2 Changed 6 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)
comment:3 Changed 6 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) {
Note: See
TracTickets for help on using
tickets.


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