openMVG: Eigen assertion - main_ComputeMatches does not run with debug libraries
Hi everyone, it took me a while to figure this out, but it seems as if there is a problem with the Eigen library, when linking against OpenMVG compiled in Debug mode. I get the following assertion-fail:
Assertion failed: (internal::UIntPtr(array) & (31)) == 0 && "this assertion is explained here: " "http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html" " **** READ THIS WEB PAGE !!! ****", file <private...>\openmvg\src\third_party\eigen\eigen\src/Core/DenseStorage.h, line 128
Here is the web page the assertion is pointing towards. It is about using Eigen vectors in std::vector.
To make sure I did not mess something up by myself I tried to run the main_ComputeMatches software with the already compiled libraries and got the same error. No error when running with Release config, but this could also be explained by the disabled assertions.
My callstack points towards this (line 178) resize call for a vector containing Eigen vectors representing feature descriptors as the source of the assertion.
I also got other errors, that also somehow relate to the Eigen headers, but right now I can’t reproduce them.
Is this an already known issue? If not I would appreciate a bit of help, I do rely on the Debug configuration…
About this issue
- Original URL
- State: closed
- Created 7 years ago
- Comments: 25 (13 by maintainers)
Commits related to this issue
- [cmake] Enhance usage of OpenMVG as a third party library #1028 - fix transitive transfer of compilation flags #1025, #1026 - see `target_compile_options(${omvglib}` - fix lemon interface include dir... — committed to openMVG/openMVG by pmoulon 7 years ago
- [cmake] Enhance usage of OpenMVG as a third party library #1028 - fix transitive transfer of compilation flags #1025, #1026 - see `target_compile_options(${omvglib}` - fix lemon interface include d... — committed to openMVG/openMVG by pmoulon 7 years ago
- [cmake] Enhance usage of OpenMVG as a third party library #1028 - fix transitive transfer of compilation flags #1025, #1026 - see `target_compile_options(${omvglib}` - fix lemon interface include d... — committed to openMVG/openMVG by pmoulon 7 years ago
@pmoulon Thanks for testing! I am going to provide a log of my CMake-Build as soon as I can. I am currently finishing my bachelor-thesis, so my next answers might take some days. Sry for the inconvenience…
@pmoulon Thank you for that, it is really nice that you (and of course @rperrot and the others, too) engage that much with the community 👍
P.S.: It just came to me, that in the project I am using openMVG (not the minimal example), another library also uses GLFW as a dependency. Could this somehow interfere with openMVG’s GLFW dependency?