MERCURY_OPTIONS= --deep-random-write=25 --mdb-disable-progress make[3]: Entering directory '/mnt/testing/run/build/mercury-srcdist-rotd-2022-03-19/tests/declarative_debugger' /mnt/testing/run/build/mercury-srcdist-rotd-2022-03-19/stage2/scripts/mmc --generate-dependencies --grade asm_fast.par.gc --mercury-linkage static --flags ../TESTS_FLAGS --flags ../WS_FLAGS --trace decl --trace rep --trace-table-io-all tabled_read_decl > tabled_read_decl.dep_err 2>&1 make[3]: Leaving directory '/mnt/testing/run/build/mercury-srcdist-rotd-2022-03-19/tests/declarative_debugger' make[3]: Entering directory '/mnt/testing/run/build/mercury-srcdist-rotd-2022-03-19/tests/declarative_debugger' /mnt/testing/run/build/mercury-srcdist-rotd-2022-03-19/stage2/scripts/mmc --make-interface --grade asm_fast.par.gc --mercury-linkage static --flags ../TESTS_FLAGS --flags ../WS_FLAGS --trace decl --trace rep --trace-table-io-all tabled_read_decl /mnt/testing/run/build/mercury-srcdist-rotd-2022-03-19/stage2/scripts/mmc --compile-to-c --grade asm_fast.par.gc --mercury-linkage static --flags ../TESTS_FLAGS --flags ../WS_FLAGS --trace decl --trace rep --trace-table-io-all tabled_read_decl > tabled_read_decl.err 2>&1 /mnt/testing/run/build/mercury-srcdist-rotd-2022-03-19/stage2/scripts/mgnuc --grade asm_fast.par.gc -- -c tabled_read_decl.c -o tabled_read_decl.o /mnt/testing/run/build/mercury-srcdist-rotd-2022-03-19/stage2/scripts/mgnuc --grade asm_fast.par.gc -- -c tabled_read_decl_init.c -o tabled_read_decl_init.o /mnt/testing/run/build/mercury-srcdist-rotd-2022-03-19/stage2/scripts/ml --grade asm_fast.par.gc --no-mercury-stdlib-dir --trace --trace-init-file /mnt/testing/run/build/mercury-srcdist-rotd-2022-03-19/stage2/browser/mer_browser.init --trace-init-file /mnt/testing/run/build/mercury-srcdist-rotd-2022-03-19/stage2/mdbcomp/mer_mdbcomp.init --ssdb-init-file /mnt/testing/run/build/mercury-srcdist-rotd-2022-03-19/stage2/ssdb/mer_ssdb.init -- -o tabled_read_decl tabled_read_decl_init.o \ tabled_read_decl.o \ /mnt/testing/run/build/mercury-srcdist-rotd-2022-03-19/stage2/trace/libmer_trace.a /mnt/testing/run/build/mercury-srcdist-rotd-2022-03-19/stage2/trace/libmer_eventspec.a /mnt/testing/run/build/mercury-srcdist-rotd-2022-03-19/stage2/ssdb/libmer_ssdb.a /mnt/testing/run/build/mercury-srcdist-rotd-2022-03-19/stage2/browser/libmer_browser.a /mnt/testing/run/build/mercury-srcdist-rotd-2022-03-19/stage2/mdbcomp/libmer_mdbcomp.a /mnt/testing/run/build/mercury-srcdist-rotd-2022-03-19/stage2/library/libmer_std.a /mnt/testing/run/build/mercury-srcdist-rotd-2022-03-19/stage2/runtime/libmer_rt.a /mnt/testing/run/build/mercury-srcdist-rotd-2022-03-19/stage2/boehm_gc/libpar_gc.a MERCURY_OPTIONS="$MERCURY_OPTIONS -de" HOME=/nonexistent MERCURY_SUPPRESS_MDB_BANNER=yes MERCURY_DEBUGGER_INIT=/mnt/testing/run/build/mercury-srcdist-rotd-2022-03-19/stage2/scripts/test_mdbrc mdb ./tabled_read_decl < tabled_read_decl.inp 2>&1 | \ sed 's/c_pointer(0x[-0-9A-Fa-f]*)/c_pointer(0xXXXX)/g' \ > tabled_read_decl.out 2>&1 \ || { grep . tabled_read_decl.out /dev/null; exit 1; } Comparing tabled_read_decl.out with tabled_read_decl.exp*, results in tabled_read_decl.res ** tabled_read_decl.out did not match the expected output ** (closest match was tabled_read_decl.res1) --- tabled_read_decl.exp 2020-10-11 14:28:49.000000000 +1100 +++ tabled_read_decl.out 2022-03-20 15:38:24.300332435 +1100 @@ -16,57 +16,37 @@ mdb> print test(c_pointer(0xXXXX), 1123, _, _) mdb> dd -d 3 -n 7 -a -test(c_pointer(0xXXXX), 1123, _, _) -4 tabled IO actions: -read_char_code(c_pointer(0xXXXX), 49) -read_char_code(c_pointer(0xXXXX), 50) -read_char_code(c_pointer(0xXXXX), 51) -read_char_code(c_pointer(0xXXXX), 10) +test(c_pointer(0xXXXX), 1456, _, _) Valid? print 1-2 c_pointer(0xXXXX) -1123 +1456 dd> p io 1-2 -read_char_code(c_pointer(0xXXXX), 49) -read_char_code(c_pointer(0xXXXX), 50) +No such IO action. dd> print io 2-1 -read_char_code(c_pointer(0xXXXX), 49) -read_char_code(c_pointer(0xXXXX), 50) +No such IO action. dd> browse io 4 -browser> print -read_char_code(c_pointer(0xXXXX), 10) -browser> num_io_actions 3 -browser> quit -dd> browse 1 +No such IO action. +dd> print +test(c_pointer(0xXXXX), 1456, _, _) +Valid? num_io_actions 3 +Unknown command, 'h' for help. +dd> quit +Diagnosis aborted. + E3: C2 EXIT pred tabled_read_decl.test/4-0 (det) +mdb> browse 1 browser> num_io_actions 10 browser> quit -dd> no -test_2(c_pointer(0xXXXX), 1, 1123, _, _) -4 tabled IO actions: -read_char_code(c_pointer(0xXXXX), 49) -read_char_code(c_pointer(0xXXXX), 50) -read_char_code(c_pointer(0xXXXX), 51) -read_char_code(c_pointer(0xXXXX), 10) -Valid? yes -Found incorrect contour: -test_2(c_pointer(0xXXXX), 1, 1123, _, _) -4 tabled IO actions: -read_char_code(c_pointer(0xXXXX), 49) -read_char_code(c_pointer(0xXXXX), 50) -read_char_code(c_pointer(0xXXXX), 51) -read_char_code(c_pointer(0xXXXX), 10) -test(c_pointer(0xXXXX), 1123, _, _) -4 tabled IO actions: -read_char_code(c_pointer(0xXXXX), 49) -read_char_code(c_pointer(0xXXXX), 50) -read_char_code(c_pointer(0xXXXX), 51) -read_char_code(c_pointer(0xXXXX), 10) -Is this a bug? yes - E3: C2 EXIT pred tabled_read_decl.test/4-0 (det) +mdb> no +Unknown command `no'. Give the command `help' for help. +mdb> yes +Unknown command `yes'. Give the command `help' for help. +mdb> yes +Unknown command `yes'. Give the command `help' for help. mdb> break tabled_read_decl.part_2 1: + stop interface pred tabled_read_decl.part_2/3-0 (det) mdb> c -1123 -1456 +1789 +142 E4: C3 CALL pred tabled_read_decl.part_2/3-0 (det) mdb> break tabled_read_decl.test 2: + stop interface pred tabled_read_decl.test/4-0 (det) @@ -79,124 +59,33 @@ mdb> f E6: C4 EXIT pred tabled_read_decl.test/4-0 (det) mdb> dd -d 3 -n 7 -ad1 -test(c_pointer(0xXXXX), 1789, _, _) -4 tabled IO actions: -read_char_code(c_pointer(0xXXXX), 55) -read_char_code(c_pointer(0xXXXX), 56) -read_char_code(c_pointer(0xXXXX), 57) -read_char_code(c_pointer(0xXXXX), 10) +test(c_pointer(0xXXXX), 1, _, _) Valid? y -1789 +1 part_2(c_pointer(0xXXXX), _, _) -5 tabled IO actions: -read_char_code(c_pointer(0xXXXX), 55) -read_char_code(c_pointer(0xXXXX), 56) -read_char_code(c_pointer(0xXXXX), 57) -read_char_code(c_pointer(0xXXXX), 10) -write_int(1789) Valid? n -write_int(1789, _, _) -1 tabled IO action: -write_int(1789) +write_int(1, _, _) Valid? y Found incorrect contour: -test(c_pointer(0xXXXX), 1789, _, _) -4 tabled IO actions: -read_char_code(c_pointer(0xXXXX), 55) -read_char_code(c_pointer(0xXXXX), 56) -read_char_code(c_pointer(0xXXXX), 57) -read_char_code(c_pointer(0xXXXX), 10) -write_int(1789, _, _) -1 tabled IO action: -write_int(1789) +test(c_pointer(0xXXXX), 1, _, _) +write_int(1, _, _) part_2(c_pointer(0xXXXX), _, _) -5 tabled IO actions: -read_char_code(c_pointer(0xXXXX), 55) -read_char_code(c_pointer(0xXXXX), 56) -read_char_code(c_pointer(0xXXXX), 57) -read_char_code(c_pointer(0xXXXX), 10) -write_int(1789) Is this a bug? y +1 E7: C3 EXIT pred tabled_read_decl.part_2/3-0 (det) mdb> print io limits -I/O tabling has recorded actions 0 to 15. +mdb: There are no tabled I/O actions yet. mdb> print io -action 0: open_input("tabled_read_decl.data", 0, c_pointer(0xXXXX)) -action 1: read_char_code(c_pointer(0xXXXX), 49) -action 2: read_char_code(c_pointer(0xXXXX), 50) -action 3: read_char_code(c_pointer(0xXXXX), 51) -action 4: read_char_code(c_pointer(0xXXXX), 10) -action 5: write_int(1123) -action 6: poly_read_char_code(list(character), c_pointer(0xXXXX), ['a', 'b', 'c'], 52) -action 7: poly_read_char_code(list(character), c_pointer(0xXXXX), ['a', 'b', 'c'], 53) -action 8: poly_read_char_code(list(character), c_pointer(0xXXXX), ['a', 'b', 'c'], 54) -action 9: poly_read_char_code(list(character), c_pointer(0xXXXX), ['a', 'b', 'c'], 10) -action 10: write_int(1456) -action 11: read_char_code(c_pointer(0xXXXX), 55) -action 12: read_char_code(c_pointer(0xXXXX), 56) -action 13: read_char_code(c_pointer(0xXXXX), 57) -action 14: read_char_code(c_pointer(0xXXXX), 10) -action 15: write_int(1789) -there are no more actions (yet) +mdb: There are no tabled I/O actions yet. mdb> print io 8 -poly_read_char_code(list(character), c_pointer(0xXXXX), ['a', 'b', 'c'], 54) +mdb: There are no tabled I/O actions yet. mdb> print action 10-12 -action 10: write_int(1456) -action 11: read_char_code(c_pointer(0xXXXX), 55) -action 12: read_char_code(c_pointer(0xXXXX), 56) +mdb: There are no tabled I/O actions yet. mdb> browse io 9 -browser> p -poly_read_char_code(list(character), c_pointer(0xXXXX), ['a', 'b', 'c'], 10) -browser> quit -mdb> break tabled_read_decl.part_3 - 0: + stop interface pred tabled_read_decl.part_3/2-0 (det) -mdb> c - E8: C5 CALL pred tabled_read_decl.part_3/2-0 (det) -mdb> break tabled_read_decl.fake_io - 1: + stop interface pred tabled_read_decl.fake_io/3-0 (det) +mdb: I/O action number not in range. +mdb> p +part_2(c_pointer(0xXXXX), _, _) +mdb> quit +mdb: are you sure you want to quit? break tabled_read_decl.part_3 mdb> c - E9: C6 CALL pred tabled_read_decl.fake_io/3-0 (det) -mdb> table_io stop -I/O tabling stopped. -mdb> delete * - 0: E stop interface pred tabled_read_decl.part_3/2-0 (det) - 1: E stop interface pred tabled_read_decl.fake_io/3-0 (det) -mdb> f - E10: C6 EXIT pred tabled_read_decl.fake_io/3-0 (det) -mdb> dd -d 3 -n 7 -ad1 -The declarative debugger needs to perform a retry across -an area in which IO is not tabled. This is not always safe. -To avoid this warning restart mdb and issue a `table_io start' -command at an event before the suspect area. -Do you wish to proceed with the retry? y -fake_io(1, _, _) -Warning: some IO actions for this atom are not tabled. -Valid? y -The declarative debugger needs to perform a retry across -an area in which IO is not tabled. This is not always safe. -To avoid this warning restart mdb and issue a `table_io start' -command at an event before the suspect area. -Do you wish to proceed with the retry? y -1 -part_3(_, _) -Warning: some IO actions for this atom are not tabled. -Valid? n -write_int(1, _, _) -Warning: some IO actions for this atom are not tabled. -Valid? y -Found incorrect contour: -fake_io(1, _, _) -Warning: some IO actions for this atom are not tabled. -write_int(1, _, _) -Warning: some IO actions for this atom are not tabled. -part_3(_, _) -Warning: some IO actions for this atom are not tabled. -Is this a bug? y -The declarative debugger needs to perform a retry across -an area in which IO is not tabled. This is not always safe. -To avoid this warning restart mdb and issue a `table_io start' -command at an event before the suspect area. -Do you wish to proceed with the retry? y 1 - E11: C5 EXIT pred tabled_read_decl.part_3/2-0 (det) -mdb> c make[3]: *** [../Mmake.common:138: tabled_read_decl.res] Error 1 make[3]: Target 'tabled_read_decl.runtest' not remade because of errors. make[3]: Leaving directory '/mnt/testing/run/build/mercury-srcdist-rotd-2022-03-19/tests/declarative_debugger' ERROR OUTPUT tabled_read_decl.m:098: Warning: debugging implicitly tables all predicates tabled_read_decl.m:098: that perform I/O (to make the mdb command `retry' tabled_read_decl.m:098: safe across I/O), but tabling is not compatible with tabled_read_decl.m:098: parallel execution. tabled_read_decl.m:111: Warning: debugging implicitly tables all predicates tabled_read_decl.m:111: that perform I/O (to make the mdb command `retry' tabled_read_decl.m:111: safe across I/O), but tabling is not compatible with tabled_read_decl.m:111: parallel execution. tabled_read_decl.m:123: Warning: debugging implicitly tables all predicates tabled_read_decl.m:123: that perform I/O (to make the mdb command `retry' tabled_read_decl.m:123: safe across I/O), but tabling is not compatible with tabled_read_decl.m:123: parallel execution. tabled_read_decl.m:136: Warning: debugging implicitly tables all predicates tabled_read_decl.m:136: that perform I/O (to make the mdb command `retry' tabled_read_decl.m:136: safe across I/O), but tabling is not compatible with tabled_read_decl.m:136: parallel execution. tabled_read_decl.m:146: Warning: debugging implicitly tables all predicates tabled_read_decl.m:146: that perform I/O (to make the mdb command `retry' tabled_read_decl.m:146: safe across I/O), but tabling is not compatible with tabled_read_decl.m:146: parallel execution. END OF THE ERROR OUTPUT