I’m running builds of 8.0 to make sure we don’t have any major test failures, and I’ve run into a few problems so far. I’ll put them in separate emails so they are more manageable. If anyone can offer any assistance, that would be most appreciated. I can supply any info needed, up to getting you a logon to the systems in question.
Next up are a series of Critbit failures on a current version of illumos:
uname -a SunOS centaur 5.11 joyent_20201023T231824Z i86pc i386 i86pc Solaris
...
Doing tests in post_modules/CritBit/testsuite (856 tests, pid 72180) /home/hww3/Pike-v8.0.1094/src/post_modules/CritBit/testsuite.in:203: Test 725 (shift 2) (CRNL) failed. 1: mixed a() { return GET_TREE(); } 2: mixed b() { return GET_TREE()->get_subtree(); } 3:
o->a(): THE_TREE o->b(): ADT._CritBit.BigNumTree() /home/hww3/Pike-v8.0.1094/src/post_modules/CritBit/testsuite.in:203: Test 727 (shift 1) failed. 1: mixed a() { return GET_TREE(); } 2: mixed b() { return GET_TREE()->copy(); } 3:
o->a(): THE_TREE o->b(): ADT._CritBit.BigNumTree() /home/hww3/Pike-v8.0.1094/src/post_modules/CritBit/testsuite.in:203: Test 729 (shift 0) (CRNL) failed. 1: mixed a() { return ADT.CritBit.BigNumTree()+GET_TREE(); } 2: mixed b() { return GET_TREE(); } 3:
o->a(): ADT._CritBit.BigNumTree() o->b(): THE_TREE /home/hww3/Pike-v8.0.1094/src/post_modules/CritBit/testsuite.in:203: Test 731 (shift 2) (CRNL) failed. 1: mixed a() { return GET_TREE()+GET_TREE(); } 2: mixed b() { return GET_TREE(); } 3:
o->a(): ADT._CritBit.BigNumTree() o->b(): THE_TREE /home/hww3/Pike-v8.0.1094/src/post_modules/CritBit/testsuite.in:203: Test 733 (shift 1) failed. 1: mixed a() { return GET_TREE()+ADT.CritBit.BigNumTree(); } 2: mixed b() { return GET_TREE(); } 3:
o->a(): ADT._CritBit.BigNumTree() o->b(): THE_TREE /home/hww3/Pike-v8.0.1094/src/post_modules/CritBit/testsuite.in:203: Test 737 (shift 2) (CRNL) failed. 1: mixed a() { return GET_TREE()-ADT.CritBit.BigNumTree(); } 2: mixed b() { return GET_TREE(); } 3:
o->a(): ADT._CritBit.BigNumTree() o->b(): THE_TREE /home/hww3/Pike-v8.0.1094/src/post_modules/CritBit/testsuite.in:203: Test 739 (shift 1) failed: Value mismatch: (3919933115663279717976 : 212) vs (3919933115663279717976 : 0) post_modules/CritBit/testsuite:10: testsuite()->a() test-install/pike/8.0.1094/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1109: /main()->main(4,({"/home/hww3/Pike-v8.0.1094/build/sunos-5.11-i86pc/test-install/pike/8.0.1094/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,"post_modules/CritBit/testsuite"}))
1: mixed a() { 2: mapping m = GET_SAMPLE(); 3: object tree = GET_TREE(); 4: function sortfun = GET_SORTFUN(); 5: array a = GET_SORTED_A(); 6: 7: 8: foreach (GET_SAMPLE(); mixed a; mixed b) { 9: if (b != GET_TREE()[a]) 10: error("Value mismatch: (%O : %O) vs (%O : %O)\n", a, b, a, GET_TREE()[a]); 11: } 12: 13: return 1; 14: ; } 15: mixed b() { return 1; } 16:
/home/hww3/Pike-v8.0.1094/src/post_modules/CritBit/testsuite.in:203: Test 742 (shift 1) (CRNL) failed: next(27670116110564327422) == 183517433417299474231880 should be 46116860184273879036 post_modules/CritBit/testsuite:15: testsuite()->a() test-install/pike/8.0.1094/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1109: /main()->main(4,({"/home/hww3/Pike-v8.0.1094/build/sunos-5.11-i86pc/test-install/pike/8.0.1094/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,"post_modules/CritBit/testsuite"}))
1: mixed a() { 2: mapping m = GET_SAMPLE(); 3: object tree = GET_TREE(); 4: function sortfun = GET_SORTFUN(); 5: array a = GET_SORTED_A(); 6: 7: 8: tree = tree->copy(); 9: int i; 10: 11: for (i = 1; i < sizeof(a); i += 2) m_delete(tree, a[i]); 12: 13: for (i = 1; i+1 < sizeof(a); i += 2) { 14: if (tree->next(a[i]) != a[i+1]) 15: error("next(%O) == %O should be %O\n", a[i], tree->next(a[i]), a[i+1]); 16: if (tree->previous(a[i]) != a[i-1]) 17: error("previous(%O) == %O should be %O\n", a[i], tree->previous(a[i]), a[i-1]); 18: } 19: 20: return 1; 21: ; } 22: mixed b() { return 1; } 23:
/home/hww3/Pike-v8.0.1094/src/post_modules/CritBit/testsuite.in:203: Test 743 (shift 2) (CRNL) failed: Key mismatch in range iterate(): (0 : 138350580552821637106) vs (0 : 9223372036854775808) post_modules/CritBit/testsuite:11: testsuite()->a() test-install/pike/8.0.1094/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1109: /main()->main(4,({"/home/hww3/Pike-v8.0.1094/build/sunos-5.11-i86pc/test-install/pike/8.0.1094/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,"post_modules/CritBit/testsuite"}))
1: mixed a() { 2: mapping m = GET_SAMPLE(); 3: object tree = GET_TREE(); 4: function sortfun = GET_SORTFUN(); 5: array a = GET_SORTED_A(); 6: 7: 8: mixed t = GET_TREE()->first(); 9: foreach (GET_SORTED_A(); int i; mixed key) { 10: if (t != key) 11: error("Key mismatch in range iterate(): (%O : %O) vs (%O : %O)\n", i, t, i, key); 12: t = GET_TREE()->next(t); 13: if (GET_SAMPLE()[key] != GET_TREE()[key]) 14: error("Value mismatch in order: (%O : %O) vs (%O : %O)\n", key, GET_SAMPLE()[key], key, GET_TREE()[key]); 15: mixed nth = GET_TREE()->nth(i)[0]; 16: if (nth != key) 17: error("Value mismatch in nth(): (%O : %O) vs (%O : %O)\n", i, key, i, nth); 18: } 19: 20: 21: return 1; 22: ; } 23: mixed b() { return 1; } 24:
/home/hww3/Pike-v8.0.1094/src/post_modules/CritBit/testsuite.in:203: Test 744 (shift 0) failed: Key mismatch in range iterate(): (0 : 9223372036854775808) vs (0 : 138350580552821637106) post_modules/CritBit/testsuite:12: testsuite()->test_range_operator(1) post_modules/CritBit/testsuite:22: testsuite()->a() test-install/pike/8.0.1094/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1109: /main()->main(4,({"/home/hww3/Pike-v8.0.1094/build/sunos-5.11-i86pc/test-install/pike/8.0.1094/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,"post_modules/CritBit/testsuite"}))
1: mixed a() { 2: mapping m = GET_SAMPLE(); 3: object tree = GET_TREE(); 4: function sortfun = GET_SORTFUN(); 5: array a = GET_SORTED_A(); 6: 7: 8: void test_range_operator(int step) { 9: int i = (step < 0) ? sizeof(tree)-1 : 0; 10: foreach (tree->_get_iterator(step); mixed key; mixed value) { 11: if (GET_SORTED_A()[i] != key) 12: error("Key mismatch in range iterate(): (%O : %O) vs (%O : %O)\n", i, GET_SORTED_A()[i], i, key); 13: if (GET_SAMPLE()[GET_SORTED_A()[i] ] != value) 14: error("Value mismatch in range iterate(): (%O : %O) vs (%O : %O)\n", i, GET_SAMPLE()[GET_SORTED_A()[i] ], i, value); 15: i+=step; 16: } 17: 18: if (step > 0) test_range_operator(-step); 19: }; 20: 21: foreach (enumerate(40, 13, 1); ; int n) { 22: if (n) test_range_operator(n); 23: } 24: 25: return 1; 26: ; } 27: mixed b() { return 1; } 28:
/home/hww3/Pike-v8.0.1094/src/post_modules/CritBit/testsuite.in:203: Test 745 (shift 1) failed: Key mismatch in range iterate(): (6940 : 128029627243581142976968) vs (6940 : 138350580552821637106) post_modules/CritBit/testsuite:15: testsuite()->test_range_operator(6940,8743,1597) post_modules/CritBit/testsuite:42: testsuite()->a() test-install/pike/8.0.1094/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1109: /main()->main(4,({"/home/hww3/Pike-v8.0.1094/build/sunos-5.11-i86pc/test-install/pike/8.0.1094/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,"post_modules/CritBit/testsuite"}))
1: mixed a() { 2: mapping m = GET_SAMPLE(); 3: object tree = GET_TREE(); 4: function sortfun = GET_SORTFUN(); 5: array a = GET_SORTED_A(); 6: 7: 8: void test_range_operator(int start, int stop, int step) { 9: int i = start; 10: 11: if (step == 0) return; 12: 13: foreach (tree->_get_iterator(step, a[start], a[stop]); mixed key; mixed value) { 14: if (GET_SORTED_A()[i] != key) 15: error("Key mismatch in range iterate(): (%O : %O) vs (%O : %O)\n", i, GET_SORTED_A()[i], i, key); 16: if (GET_SAMPLE()[GET_SORTED_A()[i] ] != value) 17: error("Value mismatch in range iterate(): (%O : %O) vs (%O : %O)\n", i, GET_SAMPLE()[GET_SORTED_A()[i] ], i, value); 18: i+=step; 19: } 20: 21: #if constant(ADT.CritBit.Range) 22: object r = ADT.CritBit.Range(a[start], a[stop]); 23: object rs = ADT.CritBit.RangeSet(object_program(tree)); 24: rs[r] = 1; 25: foreach (a;; mixed key) { 26: if (equal(GET_SORTFUN()(({ key, r.b, r.a}))[1], key)) { 27: if (undefinedp(rs[key])) { 28: error("RangeSet error. %O not within [%O,%O]\n", key, r.a, r.b); 29: } 30: } else { 31: if (!undefinedp(rs[key])) { 32: error("RangeSet error. %O should not be within [%O,%O]\next: %O\n", key, r.a, r.b, rs->tree->next(key)); 33: } 34: } 35: } 36: #endif 37: }; 38: 39: for (int i = 0; i < 100; i++) { 40: int start = random(sizeof(a)); 41: int stop = start + random(sizeof(a)-start); 42: test_range_operator(start, stop, random(stop-start)); 43: } 44: 45: return 1; 46: ; } 47: mixed b() { return 1; } 48:
/home/hww3/Pike-v8.0.1094/src/post_modules/CritBit/testsuite.in:203: Test 770 (shift 2) failed: Key mismatch in random delete. 44318302637087197752636 : 2402 vs 0 post_modules/CritBit/testsuite:10: testsuite()->a() test-install/pike/8.0.1094/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike:1109: /main()->main(4,({"/home/hww3/Pike-v8.0.1094/build/sunos-5.11-i86pc/test-install/pike/8.0.1094/lib/modules/Tools.pmod/Standalone.pmod/test_pike.pike",0,0,"post_modules/CritBit/testsuite"}))
1: mixed a() { 2: mapping m = GET_SAMPLE(); 3: object tree = GET_TREE(); 4: function sortfun = GET_SORTFUN(); 5: array a = GET_SORTED_A(); 6: 7: 8: foreach (tree; mixed key; mixed val) { 9: if (val != m[key]) 10: error("Key mismatch in random delete. %O : %O vs %O\n", key, val, m[key]); 11: array t = random(tree); 12: m_delete(tree, t[0]); 13: m_delete(m, t[0]); 14: if (!zero_type(tree[t[0] ])) error("m_delete failed in random delete (key: %O)\n", t[0]); 15: } 16: if (sizeof(m) != sizeof(tree)) { 17: error("Size mismatch after random delete. %O vs %O\n", sizeof(m), sizeof(tree)); 18: } 19: 20: return 1; 21: ; } 22: mixed b() { return 1; } 23:
Subresult: 856 tests, 12 failed, 0 skipped
On 2020-11-19 15:01, H William Welliver wrote:
I’m running builds of 8.0 to make sure we don’t have any major test failures, and I’ve run into a few problems so far. I’ll put them in separate emails so they are more manageable. If anyone can offer any assistance, that would be most appreciated. I can supply any info needed, up to getting you a logon to the systems in question.
Next up are a series of Critbit failures on a current version of illumos:
uname -a SunOS centaur 5.11 joyent_20201023T231824Z i86pc i386 i86pc Solaris
...
Doing tests in post_modules/CritBit/testsuite (856 tests, pid 72180) /home/hww3/Pike-v8.0.1094/src/post_modules/CritBit/testsuite.in:203 [1]: Test 725 (shift 2) (CRNL) failed. 1: mixed a() { return GET_TREE(); } 2: mixed b() { return GET_TREE()->get_subtree(); } 3:
Just an update: I was able to get the tests to pass on the same platform but different combination of gcc/non-system library. The failure is occurring under an admittedly old build environment: gcc 4.7/gmp 5.1.3/nettle 2.7.1, so perhaps it's not something worrying too much about?
Bill
Hi Bill.
I m running builds of 8.0 to make sure we don t have any major test failures, and I ve run into a few problems so far. I ll put them in separate emails so they are more manageable. If anyone can offer any assistance, that would be most appreciated. I can supply any info needed, up to getting you a logon to the systems in question.
Next up are a series of Critbit failures on a current version of illumos:
uname -a SunOS centaur 5.11 joyent_20201023T231824Z i86pc i386 i86pc Solaris
...
Doing tests in post_modules/CritBit/testsuite (856 tests, pid 72180) /home/hww3/Pike-v8.0.1094/src/post_modules/CritBit/testsuite.in:203: Test 725 (shift 2) (CRNL) failed. 1: mixed a() { return GET_TREE(); } 2: mixed b() { return GET_TREE()->get_subtree(); } 3:
[...]
This looks familiar. Do you get the same problem with Pike master?
If not, then I suspect it was fixed in commit ed02e7596d05a4b53d3dea889feb2db5fa56fdfc.
/grubba
pike-devel@lists.lysator.liu.se