[lld] r194545 - [PECOFF] Fix use-after-return.
Nick Kledzik
kledzik at apple.com
Thu Nov 14 13:14:13 PST 2013
On Nov 14, 2013, at 9:07 AM, Rick Foos <rfoos at codeaurora.org> wrote:
> Status: System in swap overnight. Stopped both buildmaster and slave. 187 llvm-symbolizer tasks were still running. Tasks did not stop after
>
> Retried this morning, no other workload, 8 llvm-symbolizer tasks consuming 100% on each cpu
Doesn’t that mean that Asan found some problems, but is stuck trying to symbolicate the backtraces? Is there a way to run Asan and *not* symbolicate?
This also seems like a bug (infinite loop?) in llvm-symbolizer.
-Nick
> . 7 zombie tasks.
>
> So not quite ready this morning. If anyone knows of an llvm-sanitizer issue like this it would help.
>
> From: llvm-commits-bounces at cs.uiuc.edu [mailto:llvm-commits-bounces at cs.uiuc.edu] On Behalf Of Rick Foos
> Sent: Wednesday, November 13, 2013 1:42 PM
> To: Sergey Matveev; Shankar Easwaran
> Cc: llvm-commits at cs.uiuc.edu; Galina Kistanova
> Subject: Re: [lld] r194545 - [PECOFF] Fix use-after-return.
>
> Sorry for the delay,
>
> Our problem with running the sanitizers is that the load average running under Ninja reached 146 and a short time after a system crash requiring calling someone to power cycle the box...
>
> The address sanitizer by itself leaves a load average 40. This means the OS over 100% utilization, and is thrashing a bit. Load Average doesn't say what exactly is thrashing.
>
> Ninja supports make's -j, and -l options. The -l maximum load average, is the key.
>
> The load average should be less than the total number of cores (hyperthreads too) before Ninja launches another task.
>
> A Load Average at or lower than 100% technically should benefit performance, and maximize throughput. However, I will be happy if I don't have to call someone to power cycle the server :)
>
> So the maximum load average of a 16 core machine with hyperthreads is 32 (keeping it simple). This needs to be passed to all make's and Ninja build steps on that slave to maximize throughput.
>
> For now, I'm looking at a minimal patch to include jobs and a new loadaverage variable for the sanitizers.
>
> Longer term, all buildslaves should define maximum loadaverage, and all make/ninja steps should pass -j, and -l options.
>
> Best Regards,
> Rick
>
> On 11/13/2013 11:21 AM, Sergey Matveev wrote:
> +kcc
>
>
> On Wed, Nov 13, 2013 at 6:41 AM, Shankar Easwaran <shankare at codeaurora.org> wrote:
> Sorry for another indirection. Rick foos is working on it. I think there is some good news here :)
>
> Cced Rick + adding Galina,Dmitri.
>
> Thanks
>
> Shankar Easwaran
>
>
> On 11/12/2013 8:37 PM, Rui Ueyama wrote:
> Shankar tried to set it up recently.
>
>
> On Tue, Nov 12, 2013 at 6:31 PM, Sean Silva <silvas at purdue.edu> wrote:
>
> Sanitizers?
>
> There have been a couple of these sorts of bugs recently... we really
> ought to have some sanitizer bots...
>
> -- Sean Silva
>
>
> On Tue, Nov 12, 2013 at 9:21 PM, Rui Ueyama <ruiu at google.com> wrote:
>
> Author: ruiu
> Date: Tue Nov 12 20:21:51 2013
> New Revision: 194545
>
> URL: http://llvm.org/viewvc/llvm-project?rev=194545&view=rev
> Log:
> [PECOFF] Fix use-after-return.
>
> Modified:
> lld/trunk/lib/Driver/WinLinkDriver.cpp
>
> Modified: lld/trunk/lib/Driver/WinLinkDriver.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Driver/WinLinkDriver.cpp?rev=194545&r1=194544&r2=194545&view=diff
>
> ==============================================================================
> --- lld/trunk/lib/Driver/WinLinkDriver.cpp (original)
> +++ lld/trunk/lib/Driver/WinLinkDriver.cpp Tue Nov 12 20:21:51 2013
> @@ -842,7 +842,7 @@ WinLinkDriver::parse(int argc, const cha
>
> case OPT_INPUT:
> inputElements.push_back(std::unique_ptr<InputElement>(
> - new PECOFFFileNode(ctx, inputArg->getValue())));
> + new PECOFFFileNode(ctx,
> ctx.allocateString(inputArg->getValue()))));
> break;
>
> #define DEFINE_BOOLEAN_FLAG(name, setter) \
> @@ -892,9 +892,11 @@ WinLinkDriver::parse(int argc, const cha
> // start with a hypen or a slash. This is not compatible with link.exe
> // but useful for us to test lld on Unix.
> if (llvm::opt::Arg *dashdash = parsedArgs->getLastArg(OPT_DASH_DASH)) {
> - for (const StringRef value : dashdash->getValues())
> - inputElements.push_back(
> - std::unique_ptr<InputElement>(new PECOFFFileNode(ctx, value)));
> + for (const StringRef value : dashdash->getValues()) {
> + std::unique_ptr<InputElement> elem(
> + new PECOFFFileNode(ctx, ctx.allocateString(value)));
> + inputElements.push_back(std::move(elem));
> + }
> }
>
> // Add the libraries specified by /defaultlib unless they are already
> added
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>
>
>
> --
> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by the Linux Foundation
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>
>
> --
> Rick Foos
> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131114/6da0377a/attachment.html>
More information about the llvm-commits
mailing list