-
Notifications
You must be signed in to change notification settings - Fork 88
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
[bug] ctest failure on compilation and low accuracy #219
Comments
can you post what's in |
Thanks for your fast reply! Here's the output of the test on my main Arch Linux System: Start testing: Aug 12 09:30 CEST ---------------------------------------------------------- 1/2 Testing: cctag_fitEllipse.test_ellipseFitting 1/2 Test: cctag_fitEllipse.test_ellipseFitting Command: "/home/me/Documents/build/CCTag/build/Linux-x86_64/cctag_fitEllipse" "--run_test=test_ellipseFitting" "--catch_system_error=yes" Directory: /home/me/Documents/build/CCTag/build/src/cctag/test "cctag_fitEllipse.test_ellipseFitting" start time: Aug 12 09:30 CEST Output: ---------------------------------------------------------- Running 10 test cases... unknown location(0): fatal error: in "test_ellipseFitting/test_pixel_int": std::domain_error: to_ellipse_2: singularity 1 /home/me/Documents/build/CCTag/CCTag/src/cctag/test/fitEllipse.cpp(73): last checkpoint unknown location(0): fatal error: in "test_ellipseFitting/test_pixel_int2": std::domain_error: to_ellipse_2: singularity 1 /home/me/Documents/build/CCTag/CCTag/src/cctag/test/fitEllipse.cpp(93): last checkpoint unknown location(0): fatal error: in "test_ellipseFitting/test_float1": std::domain_error: to_ellipse_2: singularity 1 /home/me/Documents/build/CCTag/CCTag/src/cctag/test/fitEllipse.cpp(111): last checkpoint unknown location(0): fatal error: in "test_ellipseFitting/test_float2": std::domain_error: to_ellipse_2: singularity 1 /home/me/Documents/build/CCTag/CCTag/src/cctag/test/fitEllipse.cpp(129): last checkpoint fitEllipse it: 0 provided, at least 5 are needed to estimate an ellipse fitEllipse it: 1 provided, at least 5 are needed to estimate an ellipse fitEllipse it: 2 provided, at least 5 are needed to estimate an ellipse fitEllipse it: 3 provided, at least 5 are needed to estimate an ellipse fitEllipse it: 4 provided, at least 5 are needed to estimate an ellipse *** 4 failures are detected in the test module "testFitEllipse" Test time = 0.06 sec ---------------------------------------------------------- Test Failed. "cctag_fitEllipse.test_ellipseFitting" end time: Aug 12 09:30 CEST "cctag_fitEllipse.test_ellipseFitting" time elapsed: 00:00:00 ---------------------------------------------------------- 2/2 Testing: geometry_ellipse.test_ellipse 2/2 Test: geometry_ellipse.test_ellipse Command: "/home/me/Documents/build/CCTag/build/Linux-x86_64/geometry_ellipse" "--run_test=test_ellipse" "--catch_system_error=yes" Directory: /home/me/Documents/build/CCTag/build/src/cctag/geometry/test "geometry_ellipse.test_ellipse" start time: Aug 12 09:30 CEST Output: ---------------------------------------------------------- Running 1 test case... *** No errors detected Test time = 0.03 sec ---------------------------------------------------------- Test Passed. "geometry_ellipse.test_ellipse" end time: Aug 12 09:30 CEST "geometry_ellipse.test_ellipse" time elapsed: 00:00:00 ---------------------------------------------------------- End testing: Aug 12 09:30 CEST |
Hello, so I spent some time last night debugging the code. Since sometimes the detection works and sometimes it doesn't I was looking for parts of the code that give different results when repeatedly running the test. I think the issue is in file
Up to that line the values of all vectors/matrices are the same when I run the test many times. That's not the case in this line. The eigenvectors (when just taking
and when I
or in another run I get
It's been a few years since I last used Eigen so I don't really know what's causing that, I'm assuming there is some issue with Eigen's lazy evaluation. As a quick (and hacky) fix I replaced the single line 127 with
I'm not sure why that works, I guess assigning the eigenvectors to |
I can report your hack to be fixing CCTag for me. Many thanks for looking into this! |
Hello,
I've cloned and compiled the latest version of CCTag available on github (commit 3cb3b00) with
My main system is Arch Linux with gcc 14.2.1 but I've also compiled/tested CCTag with gcc 13.1.1 for compatibility with nvcc. I've compiled it with and without CUDA support and in either case there are no errors during configuration or compilation but when I run ctest then the first test fails. Here's the output:
When I run the test sample then only one or two markers are recognized (it varies by run) - also it takes very little time to run...
The same happens with my own images. I also used a fresh Arch Linux install in a virtual box and I got the same result (so I don't think that some peculiarity of my specific system is causing it). When I ran the same process on Ubuntu 20.04 LTS in a virtual box it worked fine. Both ctests passed and all tags were recognized (it took much longer but that's probably in part because it ran in a VB with limited resources):
Then I installed Ubuntu 24.04 LTS in a virtual box and I got similar results as on my Arch Linux installations (the first ctest failed and one, two or at most three markers were recognized in the samples). Since this happens on both Arch Linux and Ubuntu I don't think that my use of Arch Linux is the problem.
I've also tested CCTag version 1.0.3 on my Arch Linux and on Ubuntu 24.04 LTS with the same results.
Another issue that may be related to this one is that my AliceVision installation compiles and runs without problems if I compile without CCTags (well, almost without problems, there is a seg fault just when I exit Meshroom...) but when I compile with CCTags then AliceVision seg faults (in cameraInit) as soon as I import one or more images.
Have you come across this issue? Have you been able to run CCTag on an up-to-date Linux installation? Do you think it's an issue with CCTag or am I doing something wrong? Maybe the new versions of some dependencies (boost, opencv, ...) cause an issue - I haven't tested that yet.
Thanks for your help!
The text was updated successfully, but these errors were encountered: