You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Observed result or behaviour:
A segfault occurred when trying to load OpenCV lib was used. After some digging the problem could be isolated and is now reproducible with the attached patch file.
The problem is the time mock in iceoryx, which implements a mock of getTime(). On one hand, getTime mock has the same signature as the system function and on the other hand OpenCV is doing a static init using getTime. As the order of initialization for static variables is undefined OpenCV was sometimes using the real system function and sometimes the mock (which wasn't fully initialized and resulting in a nullptr segfault) .
Required information
Operating system:
Ubuntu 18.04 LTS
crash_patch.zip
Compiler version:
GCC 7.4.0
Observed result or behaviour:
A segfault occurred when trying to load OpenCV lib was used. After some digging the problem could be isolated and is now reproducible with the attached patch file.
The problem is the time mock in iceoryx, which implements a mock of
getTime()
. On one hand,getTime
mock has the same signature as the system function and on the other hand OpenCV is doing a static init usinggetTime
. As the order of initialization for static variables is undefined OpenCV was sometimes using the real system function and sometimes the mock (which wasn't fully initialized and resulting in a nullptr segfault) .Expected result or behaviour:
No segfault.
Conditions where it occurred / Performed steps:
patch -p1 < crash.patch
)../build/posh/test/posh_moduletests --gtest_filter="MqMessage_test*"
Fix:
A fix is ready and basically routing the functions "on demand" and not in initialization.
The text was updated successfully, but these errors were encountered: