[lld] r194545 - [PECOFF] Fix use-after-return.

Sean Silva silvas at purdue.edu
Thu Nov 14 13:01:44 PST 2013


On Thu, Nov 14, 2013 at 12:07 PM, 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
>

Can you try running pstree (or similar) to see which process is responsible
for spawning so many processes?

-- Sean Silva


>
>
> Retried this morning, no other workload, 8 llvm-symbolizer tasks consuming
> 100% on each cpu. 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/92142fe5/attachment.html>


More information about the llvm-commits mailing list