-
Notifications
You must be signed in to change notification settings - Fork 664
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Test #14: test_color_tree Failing on Ubuntu 16.04 #168
Comments
That's weird, I cannot reproduce the issue. Is that a clean build? What's the gcc version?
|
I'm having this same exact issue on Ubuntu 18.04. Most recent octomap pulled from the repository. The error happens when it's built as Release, but not when it's built as Debug. GCC version is 7.5.0-3ubuntu1~18.04. Probably not critical, since a comment right above where the error occurs says the octree should already be pruned, before it checks the size, so maybe something is being optimized out. |
It doesn't fix it. Also, it doesn't matter what optimization the library is built with. It's the test file itself that's the problem. Building the test with -O1 doesn't trigger the error, but building with -O2 does. |
Incidentally, this bug is still present in the octomap-1.9.6 release. |
@tkircher sorry to hear that! I'm still having problems reproducing the issue on an Ubuntu 18.04 machine. The build jobs and unit tests all pass and build as "Release" by default. With my local build of master or v1.9.6 both build and tests succeed for both "Release" (uses -O3) and "RelWithDebInfo" (uses -O2):
|
Well, the section that's returning a different value in test_color_tree.cpp is the middle loop where tree.updateNode(endpoint, false); is called. I had a quick look with gdb, and I got as far as seeing that computeChildIdx from octomap/include/octomap/OcTreeKey.h starts doing different things depending on optimization level. Not sure if that's a cause or effect. The runtime is significantly longer with the debug version, but all the other tests pass, so maybe it's fine to just ignore it? |
Hi there, |
14/14 Testing: test_color_tree
14/14 Test: test_color_tree
Command: "/home/ubuntu/Downloads/octomap-1.9.0/bin/test_color_tree"
Directory: /home/ubuntu/Downloads/octomap-1.9.0/build/octomap/src/testing
"test_color_tree" start time: May 10 11:00 PDT
Output:
test failed: 3431!=1034 in /home/ubuntu/Downloads/octomap-1.9.0/octomap/src/testing/test_color_tree.cpp, line 52
Test time = 0.24 sec
// should already be pruned
EXPECT_EQ(tree.size(), tree.calcNumNodes());
const size_t initialSize = tree.size();
EXPECT_EQ(initialSize, 1034); <----- failing on this line
tree.prune();
EXPECT_EQ(tree.size(), tree.calcNumNodes());
EXPECT_EQ(initialSize, tree.size());
All tests seem to be passing on OSX so this issue seems to be confined to ubuntu, or my machine in particular. Any ideas why?
Thank you.
The text was updated successfully, but these errors were encountered: