Closed
Bug 1063011
Opened 10 years ago
Closed 9 years ago
Handle new LSan failures introduced by Clang r214699
Categories
(Firefox Build System :: General, defect)
Tracking
(Not tracked)
RESOLVED
DUPLICATE
of bug 1214463
People
(Reporter: decoder, Assigned: mccr8)
References
(Blocks 1 open bug)
Details
Attachments
(2 files)
2.03 KB,
patch
|
Details | Diff | Splinter Review | |
1.40 KB,
patch
|
Details | Diff | Splinter Review |
In bug 1052439, we're planning to upgrade Clang to r214699 for ASan. An initial try run has shown at least one LSan failure during the build phase that hasn't been there before. There might be more in the build and tests later. We need to fix all of these before we can switch to the newer version. The attached patch can be used to build with the new Clang instead of the old when pushing to try.
Reporter | ||
Comment 1•10 years ago
|
||
The first try run I made (with LSan enabled) was here: https://tbpl.mozilla.org/?tree=Try&rev=6e15a769f5e8
Assignee | ||
Comment 2•10 years ago
|
||
It looks like we're running some ICU executable during the build process to create some data file, and that is leaking. What I don't understand is why LSan is running at all. You have to make it run with ASAN_OPTIONS="detect_leaks=1". We add that by default for various test harness stuff, but I can't imagine how that would happen during the build step. The fix here will just be to disable LSan during building.
Comment 3•10 years ago
|
||
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20140421/213940.html
Assignee | ||
Comment 4•10 years ago
|
||
Oh, that would explain it. Thanks for the link. I guess I'll have to figure out how to add the environment variable to the build system to disable it by default. Though in a pinch backing out the trunk/lib/sanitizer_common/sanitizer_flags.cc changes should do it...
Assignee | ||
Updated•10 years ago
|
Component: Other → Build Config
Product: Release Engineering → Core
QA Contact: pmoore
Version: other → Trunk
Assignee | ||
Comment 5•10 years ago
|
||
Christian, what did you do to work around this issue? I'm hitting it locally now on a new version of Clang. :)
Flags: needinfo?(choller)
Reporter | ||
Comment 6•10 years ago
|
||
I've "fixed" the issue in my try push as shown in the attached patch. Not sure if this is how we should fix it, but it disables LSan during the whole ICU build. After that, I didn't hit more LSan failures, but due to another bug I also didn't get a complete build yet.
Flags: needinfo?(choller)
Comment 7•10 years ago
|
||
FTR this is what we do in Chromium: https://code.google.com/p/chromium/codesearch#chromium/src/build/sanitizers/sanitizer_options.cc&q=sanitizer%20options&sq=package:chromium&type=cs&l=5 This module that gets linked into every executable (including toolchain) and sets Chromium-specific defaults for sanitizer options, including detect_leaks=0. Then we override that with ASAN_OPTIONS when appropriate.
Comment 8•9 years ago
|
||
Can we land this ? I don't want to compile my clang because it's a pain, and current version of clang in distros are hitting this.
Flags: needinfo?(choller)
Reporter | ||
Comment 9•9 years ago
|
||
We can either land the patch as attached or instead go for what Sergey posted (which would be a little more work). Feel free to land the patch once a build system peer reviewed it.
Flags: needinfo?(choller)
Assignee | ||
Comment 10•9 years ago
|
||
Bug 1214463 is basically the same thing, and is farther along than this bug.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → DUPLICATE
Updated•6 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•