New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 756820 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

ODR violation in content_shell built with component build mode

Project Member Reported by tyoshino@chromium.org, Aug 18 2017

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

 
Cc: yzshen@chromium.org
Here 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;
...
}
}

Comment 2 by jsb...@chromium.org, Sep 18 2017

Cc: mek@chromium.org

Comment 3 by jsb...@chromium.org, Sep 18 2017

Components: -Blink>Storage Blink>FileAPI Internals>Mojo>Bindings
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?


Comment 4 by yzshen@chromium.org, 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.

Comment 5 by jsb...@chromium.org, Sep 18 2017

Status: Fixed (was: Untriaged)
Excellent! Thanks yzshen@!

Tentatively marking fixed to get it off the triage radar; tyoshino@chromium.org, can you verify?

Components: Blink>Storage>FileAPI
Components: -Blink>FileAPI

Sign in to add a comment