Closed Bug 1835829 Opened 10 months ago Closed 10 months ago

Build error with ASan and non-unified builds since Skia update

Categories

(Core :: Graphics, defect)

x86_64
Linux
defect

Tracking

()

RESOLVED FIXED
115 Branch
Tracking Status
firefox-esr102 --- unaffected
firefox113 --- wontfix
firefox114 --- wontfix
firefox115 --- fixed

People

(Reporter: decoder, Assigned: lsalzman)

References

(Regression)

Details

(Keywords: regression)

Attachments

(1 file)

Getting the error below when trying to locally build with AFL++ as compiler wrapper:

13:40.42 gfx/skia
13:41.02 In file included from mozilla-central/gfx/skia/skia/src/core/SkDescriptor.cpp:14:
13:41.02 In file included from mozilla-central/gfx/skia/skia/src/core/SkReadBuffer.h:26:
13:41.02 In file included from mozilla-central/gfx/skia/skia/src/core/SkBlenderBase.h:12:
13:41.02 In file included from mozilla-central/gfx/skia/skia/src/base/SkArenaAlloc.h:14:
13:41.02 In file included from mozilla-central/gfx/skia/skia/src/base/SkASAN.h:15:
13:41.02 mozilla-central/objdir/dist/include/mozilla/MemoryChecking.h:70:6: error: visibility does not match previous declaration
13:41.02 void MOZ_EXPORT __lsan_ignore_object(const void* p);
13:41.02      ^
13:41.02 mozilla-central/objdir/dist/include/mozilla/Types.h:44:39: note: expanded from macro 'MOZ_EXPORT'
13:41.02 #    define MOZ_EXPORT __attribute__((visibility("default")))
13:41.02                                       ^
13:41.03 mozilla-central/config/gcc_hidden.h:6:13: note: previous attribute is here
13:41.03 #pragma GCC visibility push(hidden)
13:41.03             ^
13:41.16 1 error generated.
13:41.17 make[4]: *** [mozilla-central/config/rules.mk:670: SkDescriptor.o] Error 1
13:41.17 make[3]: *** [mozilla-central/config/recurse.mk:72: gfx/skia/target-objects] Error 2

The issue does not occur with a plain Clang build, trying to figure out right now what makes the difference here. Likely a regression from bug 1821512, but I hadn't updated the local tree until now.

This is a blocker for snapshot/ipc fuzzing deployment.

Set release status flags based on info from the regressing bug 1821512

:lsalzman, since you are the author of the regressor, bug 1821512, could you take a look? Also, could you set the severity field?

For more information, please visit BugBot documentation.

Flags: needinfo?(lsalzman)

Okay, I managed to narrow this down a bit. I can reproduce this without the AFL compiler by adding these three options to the mix:

ac_add_options --without-sysroot
ac_add_options --without-wasm-sandboxed-libraries
ac_add_options --disable-unified-build

Trying to figure out now which of those it is.

Okay, I figured out that the issue is --disable-unified-build but it likely didn't show up in CI because we don't run the combination of ASan and non-unified builds.

Summary: Build error with AFL++ compiler wrapper since Skia update → Build error with ASan and non-unified builds since Skia update
Flags: needinfo?(mh+mozilla)

Comes from the manual definition of __lsan_ignore_object in https://phabricator.services.mozilla.com/differential/changeset/?ref=6289748

Flags: needinfo?(mh+mozilla)

We have been triaging this bug as part of the Toolkit/Firefox::General Triage and we think that Core::Graphics may be the right component for this if the fix need to happen in the gfx/skia/skia sources, but feel free to move it in another component if it would fit better.

Component: General → Graphics
Product: Firefox → Core
Assignee: nobody → lsalzman
Status: NEW → ASSIGNED
Pushed by lsalzman@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b8f06acca6bf
Ensure MOZ_SKIA is always defined in Skia. r=aosmond
Flags: needinfo?(lsalzman)
Status: ASSIGNED → RESOLVED
Closed: 10 months ago
Resolution: --- → FIXED
Target Milestone: --- → 115 Branch
You need to log in before you can comment on or make changes to this bug.