E1: C1 CALL pred tabled_read_decl.main/2-0 (det) tabled_read_decl.m:22 mdb> echo on Command echo enabled. mdb> register --quiet mdb> context none Contexts will not be printed. mdb> table_io allow mdb> table_io start I/O tabling started. mdb> break tabled_read_decl__test 0: + stop interface pred tabled_read_decl.test/4-0 (det) mdb> continue E2: C2 CALL pred tabled_read_decl.test/4-0 (det) mdb> finish -n E3: C2 EXIT pred tabled_read_decl.test/4-0 (det) 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) Valid? print 1-2 c_pointer(0xXXXX) 1123 dd> p io 1-2 read_char_code(c_pointer(0xXXXX), 49) read_char_code(c_pointer(0xXXXX), 50) dd> print io 2-1 read_char_code(c_pointer(0xXXXX), 49) read_char_code(c_pointer(0xXXXX), 50) dd> browse io 4 browser> print read_char_code(c_pointer(0xXXXX), 10) browser> num_io_actions 3 browser> quit dd> 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> break tabled_read_decl.part_2 1: + stop interface pred tabled_read_decl.part_2/3-0 (det) mdb> c 1123 1456 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) mdb> c E5: C4 CALL pred tabled_read_decl.test/4-0 (det) mdb> delete * 0: E stop interface pred tabled_read_decl.test/4-0 (det) 1: E stop interface pred tabled_read_decl.part_2/3-0 (det) 2: E stop interface pred tabled_read_decl.test/4-0 (det) 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) Valid? y 1789 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) 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) 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 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> 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> print io 8 poly_read_char_code(list(character), c_pointer(0xXXXX), ['a', 'b', 'c'], 54) 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> 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> 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