With the updated gcc to version 10 the AddressSanitizer plugin seems to
have switched the OneDefionitionRule to 2, which includes reports for
definitions with the same size.
https://github.com/google/sanitizers/wiki/AddressSanitizerOneDefinitionRuleViolation
In our case that breaks heavily due to our usage in eina_module:
==147526==ERROR: AddressSanitizer: odr-violation (0x7fca71b29300):
[1] size=8 '__eina_module_shutdown' ../src/modules/ecore_imf/xim/ecore_imf_xim.c:821:1
[2] size=8 '__eina_module_shutdown' ../src/modules/evas/engines/buffer/evas_engine.c:185:1
Disabeling it for our runs.
if [ "$DISTRO" != "" ] ; then
for tries in $(seq 1 ${NUM_TRIES}); do
if [ "$1" = "asan" ]; then
- (docker exec --env EINA_LOG_BACKTRACE="0" --env EIO_MONITOR_POLL=1 --env ASAN_OPTIONS=detect_leaks=0:abort_on_error=0 $(cat $HOME/cid) meson test -t 120 -C build --wrapper dbus-launch) && break
+ (docker exec --env EINA_LOG_BACKTRACE="0" --env EIO_MONITOR_POLL=1 --env ASAN_OPTIONS=detect_leaks=0:abort_on_error=0:detect_odr_violation=0 $(cat $HOME/cid) meson test -t 120 -C build --wrapper dbus-launch) && break
else
(docker exec --env EINA_LOG_BACKTRACE="0" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) meson test -t 120 -C build --wrapper dbus-launch ) && break
fi
env: DISTRO=Fedora32 CI_BUILD_TYPE=coverity
- os: linux
if: type = cron
- env: DISTRO=Fedora31 CI_BUILD_TYPE=asan
+ env: DISTRO=Fedora32 CI_BUILD_TYPE=asan
- os: linux
if: type = cron
env: DISTRO=Fedora31-exactness CI_BUILD_TYPE=exactness