Linux: AddressSanitizer: odr-violation: global 'typeinfo name for std::exception'

351 views
Skip to first unread message

Marshall Greenblatt

unread,
Mar 21, 2018, 12:35:25 PM3/21/18
to chromium-dev
Hi All,

I recently updated my Chromium-based application on Linux (Ubuntu 14.04 64-bit host) from M65 (master revision bc084a8b (#530369)) to M66 (master revision 66afc5e5 (#540276)) and I'm creating an ASAN build with the following GN args:

dcheck_always_on=true
enable_linux_installer=false
enable_nacl=false
enable_widevine=true
fatal_linker_warnings=false
ffmpeg_branding="Chrome"
is_asan=true
is_component_build=false
is_debug=false
proprietary_codecs=true
target_cpu="x64"
use_gtk3=false
use_sysroot=false

The build using these same args succeeds and runs at M65. With M66 the build succeeds, but I get the below [1] error message when I try to run it. I also tried setting "ASAN_OPTIONS=detect_odr_violation=0" as suggested in the error message but it makes no difference.

Has anything changed with ASAN or libc++ recently that might be causing this problem?

Thanks,
Marshall

[1] Error message:

==3496==The following global variable is not properly aligned.
==3496==This may happen if another global with the same name
==3496==resides in another non-instrumented module.
==3496==Or the global comes from a C file built w/o -fno-common.
==3496==In either case this is likely an ODR violation bug,
==3496==but AddressSanitizer can not provide more details.
=================================================================
==3496==ERROR: AddressSanitizer: odr-violation (0x7f8234687b8d):
  [1] size=13 'typeinfo name for std::exception' ../../buildtools/third_party/libc++abi/trunk/src/stdlib_exception.cpp
  [2] size=13 'typeinfo name for std::exception' ../../buildtools/third_party/libc++abi/trunk/src/stdlib_exception.cpp
These globals were registered at these points:
  [1]:
    #0 0x30d4de in __asan_register_globals _asan_rtl_:3
    #1 0x7f82311c530b in asan.module_ctor ??:0:0

  [2]:
    #0 0x30d4de in __asan_register_globals _asan_rtl_:3
    #1 0x7f82311c530b in asan.module_ctor ??:0:0

==3496==HINT: if you don't care about these errors you may set ASAN_OPTIONS=detect_odr_violation=0
SUMMARY: AddressSanitizer: odr-violation: global 'typeinfo name for std::exception' at ../../buildtools/third_party/libc++abi/trunk/src/stdlib_exception.cpp
==3496==ABORTING


Nico Weber

unread,
Mar 29, 2018, 11:56:10 AM3/29/18
to Marshall Greenblatt, chromium-dev
We update both the asan runtime and libc++abi frequently, so the answer to "has something changed?" is likely "yes" :-) I'd suggest filing a bug to discuss details there. Include information on how you link your application to libc++ -- do you have a dep on //build/config:exe_and_shlib_deps? cc me and thomasanderson. Worst case, bisect to see where things went bad.

--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAFW9UJ8ReRvodRjmryBkU1J4a_AMA2OgngEVdn7k0qTQ_r0WyA%40mail.gmail.com.

Marshall Greenblatt

unread,
Apr 13, 2018, 2:26:06 PM4/13/18
to Nico Weber, chromium-dev
Thanks for the feedback Nico. I've filed https://crbug.com/832808.
Reply all
Reply to author
Forward
0 new messages