Re: LTO running out of memory on ARMv7 builders

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 12/1/20 12:05 PM, Richard W.M. Jones wrote:
> This Rawhide build:
> https://koji.fedoraproject.org/koji/taskinfo?taskID=56536942
> seems to have failed because of LTO running out of memory on armv7.
> The error is:
>
>   lto1: out of memory allocating 104 bytes after a total of 2966994944 bytes
>   lto-wrapper: fatal error: gcc returned 1 exit status
>   compilation terminated.
>   /usr/bin/ld: error: lto-wrapper failed
>   collect2: error: ld returned 1 exit status
>
> In fact I had noticed before that this binary takes quite a long time
> to compile with LTO even on x86-64.  It's not especially large (7 MB
> with debug symbols, 2.2 MB fully stripped).
>
> But I suppose one thing which is special about it is that it's a
> "mixed" C and OCaml binary, but as far as I know the OCaml objects
> should be effectively ignored from an LTO point of view.
>
> I can't see why it should need to allocate 2GB(!) in order to LTO it.
Note that the LTO phase is parallelized, so there may be multiple
compilations/links in flight which can stress a builder with low
physical or virtual memory.

What I've been pondering for this is to have a macro that a package
could set to indicate that throttling is needed.  Probably as a first
cut it would throttle to half of what smp_mflags allows.  But that's
just a guess as to where to start.

In the immediate term go ahead and disable lto via the usual mechanism
and a comment that it's being done because of memory requirements.

%global _lto_cflags %{nil} or %define _lto_cflags %{nil}

I've got a spec file scanner that will flag the package as opting out. 
Knowing that I can use it as a testcase for the throttling mechanism.

jeff
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux