ODR violation in content_shell built with component build mode |
||||||
Issue description
gn args:
is_debug = false
use_goma = true
enable_nacl = true
is_asan = true
is_component_build = true
The error:
=================================================================
==30846==ERROR: AddressSanitizer: odr-violation (0x7fa9cef6bd00):
[1] size=8 'storage::mojom::DataElementBytes::kMaximumEmbeddedDataSize' gen/storage/public/interfaces/blobs.mojom.cc:34:38
[2] size=8 'storage::mojom::DataElementBytes::kMaximumEmbeddedDataSize' gen/storage/public/interfaces/blobs.mojom.cc:34:38
These globals were registered at these points:
[1]:
#0 0x4a713e (/media/ssd/chromium/src/out/Release/content_shell+0x4a713e)
#1 0x7fa9cb6e3e5b (/media/ssd/chromium/src/out/Release/./libcontent.so+0x14b2e5b)
[2]:
#0 0x4a713e (/media/ssd/chromium/src/out/Release/content_shell+0x4a713e)
#1 0x7fa9c37f6a5b (/media/ssd/chromium/src/out/Release/./libstorage_common.so+0x47a5b)
==30846==HINT: if you don't care about these errors you may set ASAN_OPTIONS=detect_odr_violation=0
SUMMARY: AddressSanitizer: odr-violation: global 'storage::mojom::DataElementBytes::kMaximumEmbeddedDataSize' at gen/storage/public/interfaces/blobs.mojom.cc:34:38
==30846==ABORTING
,
Sep 18 2017
,
Sep 18 2017
Not sure if this is a glitch on the mojo bindings generation side, or something funky with the build configuration for those two modules. Why is blobs.mojom.cc being included in both libcontent and libstorage_common?
,
Sep 18 2017
Looking at the GN rules. I think this should have been fixed by: https://chromium.googlesource.com/chromium/src/+/f676abb112f20388d16b780a5e12337bf08fad9c Please let me know if you still see this issue.
,
Sep 18 2017
Excellent! Thanks yzshen@! Tentatively marking fixed to get it off the triage radar; tyoshino@chromium.org, can you verify?
,
Jun 15 2018
,
Jun 15 2018
|
||||||
►
Sign in to add a comment |
||||||
Comment 1 by reillyg@chromium.org
, Aug 18 2017Here is the generated Mojo bindings code declaring this global: // blob.mojom.h class STORAGE_COMMON_EXPORT DataElementBytes { ... static constexpr uint64_t kMaximumEmbeddedDataSize = 256000ULL; ... }; // blob.mojom.cc namespace storage { namespace mojom { constexpr uint64_t DataElementBytes::kMaximumEmbeddedDataSize; ... } }