Test failure when compiling with libc++ stdlib (was Test failure when compiling with clang and libc++ stdlib)
::rtree_test_erase_directories: --begin
node: (0, 0); parent: (*, *); type: directory-nonleaf; extent: (0, 0) - (10, 10)
node: (1, 0); parent: (0, 0); type: directory-nonleaf; extent: (0, 0) - (8, 6)
node: (2, 0); parent: (1, 0); type: directory-leaf; extent: (0, 0) - (4, 6)
node: (3, 0); parent: (2, 0); type: value; extent: (0, 0) - (2, 2)
node: (3, 1); parent: (2, 0); type: value; extent: (2, 0) - (4, 2)
node: (3, 2); parent: (2, 0); type: value; extent: (2, 2) - (4, 4)
node: (3, 3); parent: (2, 0); type: value; extent: (2, 4) - (4, 6)
node: (2, 1); parent: (1, 0); type: directory-leaf; extent: (0, 0) - (6, 6)
node: (3, 0); parent: (2, 1); type: value; extent: (0, 2) - (2, 4)
node: (3, 1); parent: (2, 1); type: value; extent: (0, 4) - (2, 6)
node: (3, 2); parent: (2, 1); type: value; extent: (4, 0) - (6, 2)
node: (3, 3); parent: (2, 1); type: value; extent: (4, 4) - (6, 6)
node: (2, 2); parent: (1, 0); type: directory-leaf; extent: (4, 0) - (8, 6)
node: (3, 0); parent: (2, 2); type: value; extent: (6, 0) - (8, 2)
node: (3, 1); parent: (2, 2); type: value; extent: (4, 2) - (6, 4)
node: (3, 2); parent: (2, 2); type: value; extent: (6, 2) - (8, 4)
node: (3, 3); parent: (2, 2); type: value; extent: (6, 4) - (8, 6)
node: (1, 1); parent: (0, 0); type: directory-nonleaf; extent: (0, 0) - (10, 10)
node: (2, 0); parent: (1, 1); type: directory-leaf; extent: (0, 6) - (2, 10)
node: (3, 0); parent: (2, 0); type: value; extent: (0, 6) - (2, 8)
node: (3, 1); parent: (2, 0); type: value; extent: (0, 8) - (2, 10)
node: (2, 1); parent: (1, 1); type: directory-leaf; extent: (2, 6) - (4, 10)
node: (3, 0); parent: (2, 1); type: value; extent: (2, 6) - (4, 8)
node: (3, 1); parent: (2, 1); type: value; extent: (2, 8) - (4, 10)
node: (2, 2); parent: (1, 1); type: directory-leaf; extent: (4, 6) - (6, 10)
node: (3, 0); parent: (2, 2); type: value; extent: (4, 6) - (6, 8)
node: (3, 1); parent: (2, 2); type: value; extent: (4, 8) - (6, 10)
node: (2, 3); parent: (1, 1); type: directory-leaf; extent: (8, 0) - (10, 4)
node: (3, 0); parent: (2, 3); type: value; extent: (8, 0) - (10, 2)
node: (3, 1); parent: (2, 3); type: value; extent: (8, 2) - (10, 4)
node: (2, 4); parent: (1, 1); type: directory-leaf; extent: (6, 4) - (10, 10)
node: (3, 0); parent: (2, 4); type: value; extent: (8, 4) - (10, 6)
node: (3, 1); parent: (2, 4); type: value; extent: (6, 6) - (8, 8)
node: (3, 2); parent: (2, 4); type: value; extent: (8, 6) - (10, 8)
node: (3, 3); parent: (2, 4); type: value; extent: (6, 8) - (8, 10)
node: (3, 4); parent: (2, 4); type: value; extent: (8, 8) - (10, 10)
erase at (1, 1)
node: (0, 0); parent: (*, *); type: directory-nonleaf; extent: (0, 0) - (10, 10)
node: (1, 0); parent: (0, 0); type: directory-nonleaf; extent: (0, 0) - (8, 6)
node: (2, 0); parent: (1, 0); type: directory-leaf; extent: (2, 0) - (4, 6)
node: (3, 0); parent: (2, 0); type: value; extent: (2, 0) - (4, 2)
node: (3, 1); parent: (2, 0); type: value; extent: (2, 2) - (4, 4)
node: (3, 2); parent: (2, 0); type: value; extent: (2, 4) - (4, 6)
node: (2, 1); parent: (1, 0); type: directory-leaf; extent: (0, 0) - (6, 6)
node: (3, 0); parent: (2, 1); type: value; extent: (0, 2) - (2, 4)
node: (3, 1); parent: (2, 1); type: value; extent: (0, 4) - (2, 6)
node: (3, 2); parent: (2, 1); type: value; extent: (4, 0) - (6, 2)
node: (3, 3); parent: (2, 1); type: value; extent: (4, 4) - (6, 6)
node: (2, 2); parent: (1, 0); type: directory-leaf; extent: (4, 0) - (8, 6)
node: (3, 0); parent: (2, 2); type: value; extent: (6, 0) - (8, 2)
node: (3, 1); parent: (2, 2); type: value; extent: (4, 2) - (6, 4)
node: (3, 2); parent: (2, 2); type: value; extent: (6, 2) - (8, 4)
node: (3, 3); parent: (2, 2); type: value; extent: (6, 4) - (8, 6)
node: (1, 1); parent: (0, 0); type: directory-nonleaf; extent: (0, 0) - (10, 10)
node: (2, 0); parent: (1, 1); type: directory-leaf; extent: (0, 6) - (2, 10)
node: (3, 0); parent: (2, 0); type: value; extent: (0, 6) - (2, 8)
node: (3, 1); parent: (2, 0); type: value; extent: (0, 8) - (2, 10)
node: (2, 1); parent: (1, 1); type: directory-leaf; extent: (2, 6) - (4, 10)
node: (3, 0); parent: (2, 1); type: value; extent: (2, 6) - (4, 8)
node: (3, 1); parent: (2, 1); type: value; extent: (2, 8) - (4, 10)
node: (2, 2); parent: (1, 1); type: directory-leaf; extent: (4, 6) - (6, 10)
node: (3, 0); parent: (2, 2); type: value; extent: (4, 6) - (6, 8)
node: (3, 1); parent: (2, 2); type: value; extent: (4, 8) - (6, 10)
node: (2, 3); parent: (1, 1); type: directory-leaf; extent: (8, 0) - (10, 4)
node: (3, 0); parent: (2, 3); type: value; extent: (8, 0) - (10, 2)
node: (3, 1); parent: (2, 3); type: value; extent: (8, 2) - (10, 4)
node: (2, 4); parent: (1, 1); type: directory-leaf; extent: (6, 4) - (10, 10)
node: (3, 0); parent: (2, 4); type: value; extent: (8, 4) - (10, 6)
node: (3, 1); parent: (2, 4); type: value; extent: (6, 6) - (8, 8)
node: (3, 2); parent: (2, 4); type: value; extent: (8, 6) - (10, 8)
node: (3, 3); parent: (2, 4); type: value; extent: (6, 8) - (8, 10)
node: (3, 4); parent: (2, 4); type: value; extent: (8, 8) - (10, 10)
erase at (1, 3)
node: (0, 0); parent: (*, *); type: directory-nonleaf; extent: (0, 0) - (10, 10)
node: (1, 0); parent: (0, 0); type: directory-nonleaf; extent: (0, 0) - (8, 6)
node: (2, 0); parent: (1, 0); type: directory-leaf; extent: (2, 0) - (4, 6)
node: (3, 0); parent: (2, 0); type: value; extent: (2, 0) - (4, 2)
node: (3, 1); parent: (2, 0); type: value; extent: (2, 2) - (4, 4)
node: (3, 2); parent: (2, 0); type: value; extent: (2, 4) - (4, 6)
node: (2, 1); parent: (1, 0); type: directory-leaf; extent: (0, 0) - (6, 6)
node: (3, 0); parent: (2, 1); type: value; extent: (0, 4) - (2, 6)
node: (3, 1); parent: (2, 1); type: value; extent: (4, 0) - (6, 2)
node: (3, 2); parent: (2, 1); type: value; extent: (4, 4) - (6, 6)
node: (2, 2); parent: (1, 0); type: directory-leaf; extent: (4, 0) - (8, 6)
node: (3, 0); parent: (2, 2); type: value; extent: (6, 0) - (8, 2)
node: (3, 1); parent: (2, 2); type: value; extent: (4, 2) - (6, 4)
node: (3, 2); parent: (2, 2); type: value; extent: (6, 2) - (8, 4)
node: (3, 3); parent: (2, 2); type: value; extent: (6, 4) - (8, 6)
node: (1, 1); parent: (0, 0); type: directory-nonleaf; extent: (0, 0) - (10, 10)
node: (2, 0); parent: (1, 1); type: directory-leaf; extent: (0, 6) - (2, 10)
node: (3, 0); parent: (2, 0); type: value; extent: (0, 6) - (2, 8)
node: (3, 1); parent: (2, 0); type: value; extent: (0, 8) - (2, 10)
node: (2, 1); parent: (1, 1); type: directory-leaf; extent: (2, 6) - (4, 10)
node: (3, 0); parent: (2, 1); type: value; extent: (2, 6) - (4, 8)
node: (3, 1); parent: (2, 1); type: value; extent: (2, 8) - (4, 10)
node: (2, 2); parent: (1, 1); type: directory-leaf; extent: (4, 6) - (6, 10)
node: (3, 0); parent: (2, 2); type: value; extent: (4, 6) - (6, 8)
node: (3, 1); parent: (2, 2); type: value; extent: (4, 8) - (6, 10)
node: (2, 3); parent: (1, 1); type: directory-leaf; extent: (8, 0) - (10, 4)
node: (3, 0); parent: (2, 3); type: value; extent: (8, 0) - (10, 2)
node: (3, 1); parent: (2, 3); type: value; extent: (8, 2) - (10, 4)
node: (2, 4); parent: (1, 1); type: directory-leaf; extent: (6, 4) - (10, 10)
node: (3, 0); parent: (2, 4); type: value; extent: (8, 4) - (10, 6)
node: (3, 1); parent: (2, 4); type: value; extent: (6, 6) - (8, 8)
node: (3, 2); parent: (2, 4); type: value; extent: (8, 6) - (10, 8)
node: (3, 3); parent: (2, 4); type: value; extent: (6, 8) - (8, 10)
node: (3, 4); parent: (2, 4); type: value; extent: (8, 8) - (10, 10)
erase at (1, 5)
node: (0, 0); parent: (*, *); type: directory-nonleaf; extent: (0, 0) - (10, 10)
node: (1, 0); parent: (0, 0); type: directory-nonleaf; extent: (2, 0) - (8, 6)
node: (2, 0); parent: (1, 0); type: directory-leaf; extent: (2, 0) - (4, 6)
node: (3, 0); parent: (2, 0); type: value; extent: (2, 0) - (4, 2)
node: (3, 1); parent: (2, 0); type: value; extent: (2, 2) - (4, 4)
node: (3, 2); parent: (2, 0); type: value; extent: (2, 4) - (4, 6)
node: (2, 1); parent: (1, 0); type: directory-leaf; extent: (4, 0) - (6, 6)
node: (3, 0); parent: (2, 1); type: value; extent: (4, 0) - (6, 2)
node: (3, 1); parent: (2, 1); type: value; extent: (4, 4) - (6, 6)
node: (2, 2); parent: (1, 0); type: directory-leaf; extent: (4, 0) - (8, 6)
node: (3, 0); parent: (2, 2); type: value; extent: (6, 0) - (8, 2)
node: (3, 1); parent: (2, 2); type: value; extent: (4, 2) - (6, 4)
node: (3, 2); parent: (2, 2); type: value; extent: (6, 2) - (8, 4)
node: (3, 3); parent: (2, 2); type: value; extent: (6, 4) - (8, 6)
node: (1, 1); parent: (0, 0); type: directory-nonleaf; extent: (0, 0) - (10, 10)
node: (2, 0); parent: (1, 1); type: directory-leaf; extent: (0, 6) - (2, 10)
node: (3, 0); parent: (2, 0); type: value; extent: (0, 6) - (2, 8)
node: (3, 1); parent: (2, 0); type: value; extent: (0, 8) - (2, 10)
node: (2, 1); parent: (1, 1); type: directory-leaf; extent: (2, 6) - (4, 10)
node: (3, 0); parent: (2, 1); type: value; extent: (2, 6) - (4, 8)
node: (3, 1); parent: (2, 1); type: value; extent: (2, 8) - (4, 10)
node: (2, 2); parent: (1, 1); type: directory-leaf; extent: (4, 6) - (6, 10)
node: (3, 0); parent: (2, 2); type: value; extent: (4, 6) - (6, 8)
node: (3, 1); parent: (2, 2); type: value; extent: (4, 8) - (6, 10)
node: (2, 3); parent: (1, 1); type: directory-leaf; extent: (8, 0) - (10, 4)
node: (3, 0); parent: (2, 3); type: value; extent: (8, 0) - (10, 2)
node: (3, 1); parent: (2, 3); type: value; extent: (8, 2) - (10, 4)
node: (2, 4); parent: (1, 1); type: directory-leaf; extent: (6, 4) - (10, 10)
node: (3, 0); parent: (2, 4); type: value; extent: (8, 4) - (10, 6)
node: (3, 1); parent: (2, 4); type: value; extent: (6, 6) - (8, 8)
node: (3, 2); parent: (2, 4); type: value; extent: (8, 6) - (10, 8)
node: (3, 3); parent: (2, 4); type: value; extent: (6, 8) - (8, 10)
node: (3, 4); parent: (2, 4); type: value; extent: (8, 8) - (10, 10)
erase at (1, 7)
node: (0, 0); parent: (*, *); type: directory-nonleaf; extent: (0, 0) - (10, 10)
node: (1, 0); parent: (0, 0); type: directory-nonleaf; extent: (2, 0) - (8, 6)
node: (2, 0); parent: (1, 0); type: directory-leaf; extent: (2, 0) - (4, 6)
node: (3, 0); parent: (2, 0); type: value; extent: (2, 0) - (4, 2)
node: (3, 1); parent: (2, 0); type: value; extent: (2, 2) - (4, 4)
node: (3, 2); parent: (2, 0); type: value; extent: (2, 4) - (4, 6)
node: (2, 1); parent: (1, 0); type: directory-leaf; extent: (4, 0) - (6, 6)
node: (3, 0); parent: (2, 1); type: value; extent: (4, 0) - (6, 2)
node: (3, 1); parent: (2, 1); type: value; extent: (4, 4) - (6, 6)
node: (2, 2); parent: (1, 0); type: directory-leaf; extent: (4, 0) - (8, 6)
node: (3, 0); parent: (2, 2); type: value; extent: (6, 0) - (8, 2)
node: (3, 1); parent: (2, 2); type: value; extent: (4, 2) - (6, 4)
node: (3, 2); parent: (2, 2); type: value; extent: (6, 2) - (8, 4)
node: (3, 3); parent: (2, 2); type: value; extent: (6, 4) - (8, 6)
node: (1, 1); parent: (0, 0); type: directory-nonleaf; extent: (0, 0) - (10, 10)
node: (2, 0); parent: (1, 1); type: directory-leaf; extent: (0, 6) - (4, 10)
node: (3, 0); parent: (2, 0); type: value; extent: (2, 6) - (4, 8)
node: (3, 1); parent: (2, 0); type: value; extent: (2, 8) - (4, 10)
node: (3, 2); parent: (2, 0); type: value; extent: (0, 8) - (2, 10)
node: (2, 1); parent: (1, 1); type: directory-leaf; extent: (4, 6) - (6, 10)
node: (3, 0); parent: (2, 1); type: value; extent: (4, 6) - (6, 8)
node: (3, 1); parent: (2, 1); type: value; extent: (4, 8) - (6, 10)
node: (2, 2); parent: (1, 1); type: directory-leaf; extent: (8, 0) - (10, 4)
node: (3, 0); parent: (2, 2); type: value; extent: (8, 0) - (10, 2)
node: (3, 1); parent: (2, 2); type: value; extent: (8, 2) - (10, 4)
node: (2, 3); parent: (1, 1); type: directory-leaf; extent: (6, 4) - (10, 10)
node: (3, 0); parent: (2, 3); type: value; extent: (8, 4) - (10, 6)
node: (3, 1); parent: (2, 3); type: value; extent: (6, 6) - (8, 8)
node: (3, 2); parent: (2, 3); type: value; extent: (8, 6) - (10, 8)
node: (3, 3); parent: (2, 3); type: value; extent: (6, 8) - (8, 10)
node: (3, 4); parent: (2, 3); type: value; extent: (8, 8) - (10, 10)
erase at (1, 9)
node: (0, 0); parent: (*, *); type: directory-nonleaf; extent: (2, 0) - (10, 10)
node: (1, 0); parent: (0, 0); type: directory-nonleaf; extent: (2, 0) - (8, 6)
node: (2, 0); parent: (1, 0); type: directory-leaf; extent: (2, 0) - (4, 6)
node: (3, 0); parent: (2, 0); type: value; extent: (2, 0) - (4, 2)
node: (3, 1); parent: (2, 0); type: value; extent: (2, 2) - (4, 4)
node: (3, 2); parent: (2, 0); type: value; extent: (2, 4) - (4, 6)
node: (2, 1); parent: (1, 0); type: directory-leaf; extent: (4, 0) - (6, 6)
node: (3, 0); parent: (2, 1); type: value; extent: (4, 0) - (6, 2)
node: (3, 1); parent: (2, 1); type: value; extent: (4, 4) - (6, 6)
node: (2, 2); parent: (1, 0); type: directory-leaf; extent: (4, 0) - (8, 6)
node: (3, 0); parent: (2, 2); type: value; extent: (6, 0) - (8, 2)
node: (3, 1); parent: (2, 2); type: value; extent: (4, 2) - (6, 4)
node: (3, 2); parent: (2, 2); type: value; extent: (6, 2) - (8, 4)
node: (3, 3); parent: (2, 2); type: value; extent: (6, 4) - (8, 6)
node: (1, 1); parent: (0, 0); type: directory-nonleaf; extent: (2, 0) - (10, 10)
node: (2, 0); parent: (1, 1); type: directory-leaf; extent: (2, 6) - (4, 10)
node: (3, 0); parent: (2, 0); type: value; extent: (2, 6) - (4, 8)
node: (3, 1); parent: (2, 0); type: value; extent: (2, 8) - (4, 10)
node: (2, 1); parent: (1, 1); type: directory-leaf; extent: (4, 6) - (6, 10)
node: (3, 0); parent: (2, 1); type: value; extent: (4, 6) - (6, 8)
node: (3, 1); parent: (2, 1); type: value; extent: (4, 8) - (6, 10)
node: (2, 2); parent: (1, 1); type: directory-leaf; extent: (8, 0) - (10, 4)
node: (3, 0); parent: (2, 2); type: value; extent: (8, 0) - (10, 2)
node: (3, 1); parent: (2, 2); type: value; extent: (8, 2) - (10, 4)
node: (2, 3); parent: (1, 1); type: directory-leaf; extent: (6, 4) - (10, 10)
node: (3, 0); parent: (2, 3); type: value; extent: (8, 4) - (10, 6)
node: (3, 1); parent: (2, 3); type: value; extent: (6, 6) - (8, 8)
node: (3, 2); parent: (2, 3); type: value; extent: (8, 6) - (10, 8)
node: (3, 3); parent: (2, 3); type: value; extent: (6, 8) - (8, 10)
node: (3, 4); parent: (2, 3); type: value; extent: (8, 8) - (10, 10)
erase at (3, 1)
node: (0, 0); parent: (*, *); type: directory-nonleaf; extent: (2, 0) - (10, 10)
node: (1, 0); parent: (0, 0); type: directory-nonleaf; extent: (2, 0) - (8, 6)
node: (2, 0); parent: (1, 0); type: directory-leaf; extent: (2, 2) - (4, 6)
node: (3, 0); parent: (2, 0); type: value; extent: (2, 2) - (4, 4)
node: (3, 1); parent: (2, 0); type: value; extent: (2, 4) - (4, 6)
node: (2, 1); parent: (1, 0); type: directory-leaf; extent: (4, 0) - (6, 6)
node: (3, 0); parent: (2, 1); type: value; extent: (4, 0) - (6, 2)
node: (3, 1); parent: (2, 1); type: value; extent: (4, 4) - (6, 6)
node: (2, 2); parent: (1, 0); type: directory-leaf; extent: (4, 0) - (8, 6)
node: (3, 0); parent: (2, 2); type: value; extent: (6, 0) - (8, 2)
node: (3, 1); parent: (2, 2); type: value; extent: (4, 2) - (6, 4)
node: (3, 2); parent: (2, 2); type: value; extent: (6, 2) - (8, 4)
node: (3, 3); parent: (2, 2); type: value; extent: (6, 4) - (8, 6)
node: (1, 1); parent: (0, 0); type: directory-nonleaf; extent: (2, 0) - (10, 10)
node: (2, 0); parent: (1, 1); type: directory-leaf; extent: (2, 6) - (4, 10)
node: (3, 0); parent: (2, 0); type: value; extent: (2, 6) - (4, 8)
node: (3, 1); parent: (2, 0); type: value; extent: (2, 8) - (4, 10)
node: (2, 1); parent: (1, 1); type: directory-leaf; extent: (4, 6) - (6, 10)
node: (3, 0); parent: (2, 1); type: value; extent: (4, 6) - (6, 8)
node: (3, 1); parent: (2, 1); type: value; extent: (4, 8) - (6, 10)
node: (2, 2); parent: (1, 1); type: directory-leaf; extent: (8, 0) - (10, 4)
node: (3, 0); parent: (2, 2); type: value; extent: (8, 0) - (10, 2)
node: (3, 1); parent: (2, 2); type: value; extent: (8, 2) - (10, 4)
node: (2, 3); parent: (1, 1); type: directory-leaf; extent: (6, 4) - (10, 10)
node: (3, 0); parent: (2, 3); type: value; extent: (8, 4) - (10, 6)
node: (3, 1); parent: (2, 3); type: value; extent: (6, 6) - (8, 8)
node: (3, 2); parent: (2, 3); type: value; extent: (8, 6) - (10, 8)
node: (3, 3); parent: (2, 3); type: value; extent: (6, 8) - (8, 10)
node: (3, 4); parent: (2, 3); type: value; extent: (8, 8) - (10, 10)
erase at (3, 3)
node: (0, 0); parent: (*, *); type: directory-nonleaf; extent: (2, 0) - (10, 10)
node: (1, 0); parent: (0, 0); type: directory-nonleaf; extent: (4, 0) - (8, 6)
node: (2, 0); parent: (1, 0); type: directory-leaf; extent: (4, 0) - (6, 6)
node: (3, 0); parent: (2, 0); type: value; extent: (4, 0) - (6, 2)
node: (3, 1); parent: (2, 0); type: value; extent: (4, 4) - (6, 6)
node: (2, 1); parent: (1, 0); type: directory-leaf; extent: (4, 0) - (8, 6)
node: (3, 0); parent: (2, 1); type: value; extent: (6, 0) - (8, 2)
node: (3, 1); parent: (2, 1); type: value; extent: (4, 2) - (6, 4)
node: (3, 2); parent: (2, 1); type: value; extent: (6, 2) - (8, 4)
node: (3, 3); parent: (2, 1); type: value; extent: (6, 4) - (8, 6)
node: (1, 1); parent: (0, 0); type: directory-nonleaf; extent: (2, 0) - (10, 10)
node: (2, 0); parent: (1, 1); type: directory-leaf; extent: (2, 4) - (4, 10)
node: (3, 0); parent: (2, 0); type: value; extent: (2, 6) - (4, 8)
node: (3, 1); parent: (2, 0); type: value; extent: (2, 8) - (4, 10)
node: (3, 2); parent: (2, 0); type: value; extent: (2, 4) - (4, 6)
node: (2, 1); parent: (1, 1); type: directory-leaf; extent: (4, 6) - (6, 10)
node: (3, 0); parent: (2, 1); type: value; extent: (4, 6) - (6, 8)
node: (3, 1); parent: (2, 1); type: value; extent: (4, 8) - (6, 10)
node: (2, 2); parent: (1, 1); type: directory-leaf; extent: (8, 0) - (10, 4)
node: (3, 0); parent: (2, 2); type: value; extent: (8, 0) - (10, 2)
node: (3, 1); parent: (2, 2); type: value; extent: (8, 2) - (10, 4)
node: (2, 3); parent: (1, 1); type: directory-leaf; extent: (6, 4) - (10, 10)
node: (3, 0); parent: (2, 3); type: value; extent: (8, 4) - (10, 6)
node: (3, 1); parent: (2, 3); type: value; extent: (6, 6) - (8, 8)
node: (3, 2); parent: (2, 3); type: value; extent: (8, 6) - (10, 8)
node: (3, 3); parent: (2, 3); type: value; extent: (6, 8) - (8, 10)
node: (3, 4); parent: (2, 3); type: value; extent: (8, 8) - (10, 10)
erase at (3, 5)
node: (0, 0); parent: (*, *); type: directory-nonleaf; extent: (2, 0) - (10, 10)
node: (1, 0); parent: (0, 0); type: directory-nonleaf; extent: (4, 0) - (8, 6)
node: (2, 0); parent: (1, 0); type: directory-leaf; extent: (4, 0) - (6, 6)
node: (3, 0); parent: (2, 0); type: value; extent: (4, 0) - (6, 2)
node: (3, 1); parent: (2, 0); type: value; extent: (4, 4) - (6, 6)
node: (2, 1); parent: (1, 0); type: directory-leaf; extent: (4, 0) - (8, 6)
node: (3, 0); parent: (2, 1); type: value; extent: (6, 0) - (8, 2)
node: (3, 1); parent: (2, 1); type: value; extent: (4, 2) - (6, 4)
node: (3, 2); parent: (2, 1); type: value; extent: (6, 2) - (8, 4)
node: (3, 3); parent: (2, 1); type: value; extent: (6, 4) - (8, 6)
node: (1, 1); parent: (0, 0); type: directory-nonleaf; extent: (2, 0) - (10, 10)
node: (2, 0); parent: (1, 1); type: directory-leaf; extent: (2, 6) - (4, 10)
node: (3, 0); parent: (2, 0); type: value; extent: (2, 6) - (4, 8)
node: (3, 1); parent: (2, 0); type: value; extent: (2, 8) - (4, 10)
node: (2, 1); parent: (1, 1); type: directory-leaf; extent: (4, 6) - (6, 10)
node: (3, 0); parent: (2, 1); type: value; extent: (4, 6) - (6, 8)
node: (3, 1); parent: (2, 1); type: value; extent: (4, 8) - (6, 10)
node: (2, 2); parent: (1, 1); type: directory-leaf; extent: (8, 0) - (10, 4)
node: (3, 0); parent: (2, 2); type: value; extent: (8, 0) - (10, 2)
node: (3, 1); parent: (2, 2); type: value; extent: (8, 2) - (10, 4)
node: (2, 3); parent: (1, 1); type: directory-leaf; extent: (6, 4) - (10, 10)
node: (3, 0); parent: (2, 3); type: value; extent: (8, 4) - (10, 6)
node: (3, 1); parent: (2, 3); type: value; extent: (6, 6) - (8, 8)
node: (3, 2); parent: (2, 3); type: value; extent: (8, 6) - (10, 8)
node: (3, 3); parent: (2, 3); type: value; extent: (6, 8) - (8, 10)
node: (3, 4); parent: (2, 3); type: value; extent: (8, 8) - (10, 10)
erase at (3, 7)
node: (0, 0); parent: (*, *); type: directory-nonleaf; extent: (2, 0) - (10, 10)
node: (1, 0); parent: (0, 0); type: directory-nonleaf; extent: (4, 0) - (8, 6)
node: (2, 0); parent: (1, 0); type: directory-leaf; extent: (4, 0) - (6, 6)
node: (3, 0); parent: (2, 0); type: value; extent: (4, 0) - (6, 2)
node: (3, 1); parent: (2, 0); type: value; extent: (4, 4) - (6, 6)
node: (2, 1); parent: (1, 0); type: directory-leaf; extent: (4, 0) - (8, 6)
node: (3, 0); parent: (2, 1); type: value; extent: (6, 0) - (8, 2)
node: (3, 1); parent: (2, 1); type: value; extent: (4, 2) - (6, 4)
node: (3, 2); parent: (2, 1); type: value; extent: (6, 2) - (8, 4)
node: (3, 3); parent: (2, 1); type: value; extent: (6, 4) - (8, 6)
node: (1, 1); parent: (0, 0); type: directory-nonleaf; extent: (2, 0) - (10, 10)
node: (2, 0); parent: (1, 1); type: directory-leaf; extent: (2, 6) - (6, 10)
node: (3, 0); parent: (2, 0); type: value; extent: (4, 6) - (6, 8)
node: (3, 1); parent: (2, 0); type: value; extent: (4, 8) - (6, 10)
node: (3, 2); parent: (2, 0); type: value; extent: (2, 8) - (4, 10)
node: (2, 1); parent: (1, 1); type: directory-leaf; extent: (8, 0) - (10, 4)
node: (3, 0); parent: (2, 1); type: value; extent: (8, 0) - (10, 2)
node: (3, 1); parent: (2, 1); type: value; extent: (8, 2) - (10, 4)
node: (2, 2); parent: (1, 1); type: directory-leaf; extent: (6, 4) - (10, 10)
node: (3, 0); parent: (2, 2); type: value; extent: (8, 4) - (10, 6)
node: (3, 1); parent: (2, 2); type: value; extent: (6, 6) - (8, 8)
node: (3, 2); parent: (2, 2); type: value; extent: (8, 6) - (10, 8)
node: (3, 3); parent: (2, 2); type: value; extent: (6, 8) - (8, 10)
node: (3, 4); parent: (2, 2); type: value; extent: (8, 8) - (10, 10)
erase at (3, 9)
node: (0, 0); parent: (*, *); type: directory-nonleaf; extent: (4, 0) - (10, 10)
node: (1, 0); parent: (0, 0); type: directory-nonleaf; extent: (4, 0) - (8, 6)
node: (2, 0); parent: (1, 0); type: directory-leaf; extent: (4, 0) - (6, 6)
node: (3, 0); parent: (2, 0); type: value; extent: (4, 0) - (6, 2)
node: (3, 1); parent: (2, 0); type: value; extent: (4, 4) - (6, 6)
node: (2, 1); parent: (1, 0); type: directory-leaf; extent: (4, 0) - (8, 6)
node: (3, 0); parent: (2, 1); type: value; extent: (6, 0) - (8, 2)
node: (3, 1); parent: (2, 1); type: value; extent: (4, 2) - (6, 4)
node: (3, 2); parent: (2, 1); type: value; extent: (6, 2) - (8, 4)
node: (3, 3); parent: (2, 1); type: value; extent: (6, 4) - (8, 6)
node: (1, 1); parent: (0, 0); type: directory-nonleaf; extent: (4, 0) - (10, 10)
node: (2, 0); parent: (1, 1); type: directory-leaf; extent: (4, 6) - (6, 10)
node: (3, 0); parent: (2, 0); type: value; extent: (4, 6) - (6, 8)
node: (3, 1); parent: (2, 0); type: value; extent: (4, 8) - (6, 10)
node: (2, 1); parent: (1, 1); type: directory-leaf; extent: (8, 0) - (10, 4)
node: (3, 0); parent: (2, 1); type: value; extent: (8, 0) - (10, 2)
node: (3, 1); parent: (2, 1); type: value; extent: (8, 2) - (10, 4)
node: (2, 2); parent: (1, 1); type: directory-leaf; extent: (6, 4) - (10, 10)
node: (3, 0); parent: (2, 2); type: value; extent: (8, 4) - (10, 6)
node: (3, 1); parent: (2, 2); type: value; extent: (6, 6) - (8, 8)
node: (3, 2); parent: (2, 2); type: value; extent: (8, 6) - (10, 8)
node: (3, 3); parent: (2, 2); type: value; extent: (6, 8) - (8, 10)
node: (3, 4); parent: (2, 2); type: value; extent: (8, 8) - (10, 10)
erase at (5, 1)
node: (0, 0); parent: (*, *); type: directory-nonleaf; extent: (4, 0) - (10, 10)
node: (1, 0); parent: (0, 0); type: directory-leaf; extent: (4, 6) - (6, 10)
node: (2, 0); parent: (1, 0); type: value; extent: (4, 6) - (6, 8)
node: (2, 1); parent: (1, 0); type: value; extent: (4, 8) - (6, 10)
node: (1, 1); parent: (0, 0); type: directory-leaf; extent: (8, 0) - (10, 4)
node: (2, 0); parent: (1, 1); type: value; extent: (8, 0) - (10, 2)
node: (2, 1); parent: (1, 1); type: value; extent: (8, 2) - (10, 4)
node: (1, 2); parent: (0, 0); type: directory-leaf; extent: (6, 4) - (10, 10)
node: (2, 0); parent: (1, 2); type: value; extent: (8, 4) - (10, 6)
node: (2, 1); parent: (1, 2); type: value; extent: (6, 6) - (8, 8)
node: (2, 2); parent: (1, 2); type: value; extent: (8, 6) - (10, 8)
node: (2, 3); parent: (1, 2); type: value; extent: (6, 8) - (8, 10)
node: (2, 4); parent: (1, 2); type: value; extent: (8, 8) - (10, 10)
node: (1, 3); parent: (0, 0); type: directory-leaf; extent: (4, 0) - (8, 6)
node: (2, 0); parent: (1, 3); type: value; extent: (6, 0) - (8, 2)
node: (2, 1); parent: (1, 3); type: value; extent: (4, 2) - (6, 4)
node: (2, 2); parent: (1, 3); type: value; extent: (6, 2) - (8, 4)
node: (2, 3); parent: (1, 3); type: value; extent: (6, 4) - (8, 6)
node: (2, 4); parent: (1, 3); type: value; extent: (4, 4) - (6, 6)
erase at (5, 3)
node: (0, 0); parent: (*, *); type: directory-nonleaf; extent: (4, 0) - (10, 10)
node: (1, 0); parent: (0, 0); type: directory-leaf; extent: (4, 6) - (6, 10)
node: (2, 0); parent: (1, 0); type: value; extent: (4, 6) - (6, 8)
node: (2, 1); parent: (1, 0); type: value; extent: (4, 8) - (6, 10)
node: (1, 1); parent: (0, 0); type: directory-leaf; extent: (8, 0) - (10, 4)
node: (2, 0); parent: (1, 1); type: value; extent: (8, 0) - (10, 2)
node: (2, 1); parent: (1, 1); type: value; extent: (8, 2) - (10, 4)
node: (1, 2); parent: (0, 0); type: directory-leaf; extent: (6, 4) - (10, 10)
node: (2, 0); parent: (1, 2); type: value; extent: (8, 4) - (10, 6)
node: (2, 1); parent: (1, 2); type: value; extent: (6, 6) - (8, 8)
node: (2, 2); parent: (1, 2); type: value; extent: (8, 6) - (10, 8)
node: (2, 3); parent: (1, 2); type: value; extent: (6, 8) - (8, 10)
node: (2, 4); parent: (1, 2); type: value; extent: (8, 8) - (10, 10)
node: (1, 3); parent: (0, 0); type: directory-leaf; extent: (4, 0) - (8, 6)
node: (2, 0); parent: (1, 3); type: value; extent: (6, 0) - (8, 2)
node: (2, 1); parent: (1, 3); type: value; extent: (6, 2) - (8, 4)
node: (2, 2); parent: (1, 3); type: value; extent: (6, 4) - (8, 6)
node: (2, 3); parent: (1, 3); type: value; extent: (4, 4) - (6, 6)
erase at (5, 5)
node: (0, 0); parent: (*, *); type: directory-nonleaf; extent: (4, 0) - (10, 10)
node: (1, 0); parent: (0, 0); type: directory-leaf; extent: (4, 6) - (6, 10)
node: (2, 0); parent: (1, 0); type: value; extent: (4, 6) - (6, 8)
node: (2, 1); parent: (1, 0); type: value; extent: (4, 8) - (6, 10)
node: (1, 1); parent: (0, 0); type: directory-leaf; extent: (8, 0) - (10, 4)
node: (2, 0); parent: (1, 1); type: value; extent: (8, 0) - (10, 2)
node: (2, 1); parent: (1, 1); type: value; extent: (8, 2) - (10, 4)
node: (1, 2); parent: (0, 0); type: directory-leaf; extent: (6, 4) - (10, 10)
node: (2, 0); parent: (1, 2); type: value; extent: (8, 4) - (10, 6)
node: (2, 1); parent: (1, 2); type: value; extent: (6, 6) - (8, 8)
node: (2, 2); parent: (1, 2); type: value; extent: (8, 6) - (10, 8)
node: (2, 3); parent: (1, 2); type: value; extent: (6, 8) - (8, 10)
node: (2, 4); parent: (1, 2); type: value; extent: (8, 8) - (10, 10)
node: (1, 3); parent: (0, 0); type: directory-leaf; extent: (6, 0) - (8, 6)
node: (2, 0); parent: (1, 3); type: value; extent: (6, 0) - (8, 2)
node: (2, 1); parent: (1, 3); type: value; extent: (6, 2) - (8, 4)
node: (2, 2); parent: (1, 3); type: value; extent: (6, 4) - (8, 6)
erase at (5, 7)
node: (0, 0); parent: (*, *); type: directory-nonleaf; extent: (4, 0) - (10, 10)
node: (1, 0); parent: (0, 0); type: directory-leaf; extent: (8, 0) - (10, 4)
node: (2, 0); parent: (1, 0); type: value; extent: (8, 0) - (10, 2)
node: (2, 1); parent: (1, 0); type: value; extent: (8, 2) - (10, 4)
node: (1, 1); parent: (0, 0); type: directory-leaf; extent: (6, 4) - (10, 10)
node: (2, 0); parent: (1, 1); type: value; extent: (8, 4) - (10, 6)
node: (2, 1); parent: (1, 1); type: value; extent: (6, 6) - (8, 8)
node: (2, 2); parent: (1, 1); type: value; extent: (8, 6) - (10, 8)
node: (2, 3); parent: (1, 1); type: value; extent: (6, 8) - (8, 10)
node: (2, 4); parent: (1, 1); type: value; extent: (8, 8) - (10, 10)
node: (1, 2); parent: (0, 0); type: directory-leaf; extent: (4, 0) - (8, 10)
node: (2, 0); parent: (1, 2); type: value; extent: (6, 0) - (8, 2)
node: (2, 1); parent: (1, 2); type: value; extent: (6, 2) - (8, 4)
node: (2, 2); parent: (1, 2); type: value; extent: (6, 4) - (8, 6)
node: (2, 3); parent: (1, 2); type: value; extent: (4, 8) - (6, 10)
erase at (5, 9)
node: (0, 0); parent: (*, *); type: directory-nonleaf; extent: (6, 0) - (10, 10)
node: (1, 0); parent: (0, 0); type: directory-leaf; extent: (8, 0) - (10, 4)
node: (2, 0); parent: (1, 0); type: value; extent: (8, 0) - (10, 2)
node: (2, 1); parent: (1, 0); type: value; extent: (8, 2) - (10, 4)
node: (1, 1); parent: (0, 0); type: directory-leaf; extent: (6, 4) - (10, 10)
node: (2, 0); parent: (1, 1); type: value; extent: (8, 4) - (10, 6)
node: (2, 1); parent: (1, 1); type: value; extent: (6, 6) - (8, 8)
node: (2, 2); parent: (1, 1); type: value; extent: (8, 6) - (10, 8)
node: (2, 3); parent: (1, 1); type: value; extent: (6, 8) - (8, 10)
node: (2, 4); parent: (1, 1); type: value; extent: (8, 8) - (10, 10)
node: (1, 2); parent: (0, 0); type: directory-leaf; extent: (6, 0) - (8, 6)
node: (2, 0); parent: (1, 2); type: value; extent: (6, 0) - (8, 2)
node: (2, 1); parent: (1, 2); type: value; extent: (6, 2) - (8, 4)
node: (2, 2); parent: (1, 2); type: value; extent: (6, 4) - (8, 6)
erase at (7, 1)
node: (0, 0); parent: (*, *); type: directory-nonleaf; extent: (6, 0) - (10, 10)
node: (1, 0); parent: (0, 0); type: directory-leaf; extent: (8, 0) - (10, 4)
node: (2, 0); parent: (1, 0); type: value; extent: (8, 0) - (10, 2)
node: (2, 1); parent: (1, 0); type: value; extent: (8, 2) - (10, 4)
node: (1, 1); parent: (0, 0); type: directory-leaf; extent: (6, 4) - (10, 10)
node: (2, 0); parent: (1, 1); type: value; extent: (8, 4) - (10, 6)
node: (2, 1); parent: (1, 1); type: value; extent: (6, 6) - (8, 8)
node: (2, 2); parent: (1, 1); type: value; extent: (8, 6) - (10, 8)
node: (2, 3); parent: (1, 1); type: value; extent: (6, 8) - (8, 10)
node: (2, 4); parent: (1, 1); type: value; extent: (8, 8) - (10, 10)
node: (1, 2); parent: (0, 0); type: directory-leaf; extent: (6, 2) - (8, 6)
node: (2, 0); parent: (1, 2); type: value; extent: (6, 2) - (8, 4)
node: (2, 1); parent: (1, 2); type: value; extent: (6, 4) - (8, 6)
erase at (7, 3)
node: (0, 0); parent: (*, *); type: directory-nonleaf; extent: (6, 0) - (10, 10)
node: (1, 0); parent: (0, 0); type: directory-leaf; extent: (8, 0) - (10, 4)
node: (2, 0); parent: (1, 0); type: value; extent: (8, 0) - (10, 2)
node: (2, 1); parent: (1, 0); type: value; extent: (8, 2) - (10, 4)
node: (1, 1); parent: (0, 0); type: directory-leaf; extent: (6, 4) - (10, 6)
node: (2, 0); parent: (1, 1); type: value; extent: (6, 4) - (8, 6)
node: (2, 1); parent: (1, 1); type: value; extent: (8, 4) - (10, 6)
node: (1, 2); parent: (0, 0); type: directory-leaf; extent: (6, 6) - (10, 10)
node: (2, 0); parent: (1, 2); type: value; extent: (6, 6) - (8, 8)
node: (2, 1); parent: (1, 2); type: value; extent: (8, 6) - (10, 8)
node: (2, 2); parent: (1, 2); type: value; extent: (6, 8) - (8, 10)
node: (2, 3); parent: (1, 2); type: value; extent: (8, 8) - (10, 10)
erase at (7, 5)
node: (0, 0); parent: (*, *); type: directory-nonleaf; extent: (6, 0) - (10, 10)
node: (1, 0); parent: (0, 0); type: directory-leaf; extent: (8, 0) - (10, 6)
node: (2, 0); parent: (*, *); type: value; extent: (8, 0) - (10, 2)
node: (2, 1); parent: (*, *); type: value; extent: (8, 2) - (10, 4)
node: (2, 2); parent: (1, 0); type: value; extent: (8, 4) - (10, 6)
node: (1, 1); parent: (0, 0); type: directory-leaf; extent: (6, 6) - (10, 10)
node: (2, 0); parent: (1, 1); type: value; extent: (6, 6) - (8, 8)
node: (2, 1); parent: (1, 1); type: value; extent: (8, 6) - (10, 8)
node: (2, 2); parent: (1, 1); type: value; extent: (6, 8) - (8, 10)
node: (2, 3); parent: (1, 1); type: value; extent: (8, 8) - (10, 10)
::rtree_test_erase_directories: --end (duration: 0.00144291 sec)
Test failed: The parent node pointer does not point to the real parent. (expected: 0x1bb2390; stored in node: 0x1bb2360)
FAIL rtree_test (exit status: 1)
As you can see, I've patched the rtree_test.cpp code to produce additional debugging info, as follows:
--- mdds-1.7.0/src/rtree_test.cpp.bak 2021-06-11 15:26:20.186488080 +0200
+++ mdds-1.7.0/src/rtree_test.cpp 2021-06-11 15:27:02.163153258 +0200
@@ -541,6 +541,7 @@ void rtree_test_erase_directories()
tree.erase(it);
assert(tree.size() == --expected_size);
+ cout << tree.export_tree(rt_type::export_tree_type::formatted_node_properties) << endl;
tree.check_integrity(check_props);
res = ctree.search({x2, y2}, search_type::overlap);
in the last export_tree output, you can see the issue. there are two nodes with a parent where it prints that they have parent (*, *)
edit: removed unrelated output from an earlier test at the beginning of the paste
edit2: i've since been able to determine it is caused by the use of the llvm libc++ standard library as opposed to the gnu libstdc++ one. Compiling with gcc against libc++ (by adding "-nostdinc++ -I/usr/x86_64-pc-linux-gnu/include/c++/v1 -nodefaultlibs -lc++ -lc -lm" to CXXFLAGS) produces the exact same behavior.
Edited by Paul Mulders