Runaway process in -CURRENT
Dimitry Andric
dim at FreeBSD.org
Thu Aug 24 18:15:48 UTC 2017
On 24 Aug 2017, at 16:42, Fernando Apesteguía <fernando.apesteguia at gmail.com> wrote:
>
> On Thu, Aug 24, 2017 at 11:14 AM, Fernando Apesteguía
> <fernando.apesteguia at gmail.com> wrote:
...
> Just for the record, I got another email. Log URL:
>
> http://beefy11.nyi.freebsd.org/data/head-i386-default/p448640_s322824/logs/stepcode-0.8_1.log
...
> schemas/sdai_wip210e3/CMakeFiles/sdai_wip210e3.dir/SdaiAll.cc.o -MF
> schemas/sdai_wip210e3/CMakeFiles/sdai_wip210e3.dir/SdaiAll.cc.o.d -o
> schemas/sdai_wip210e3/CMakeFiles/sdai_wip210e3.dir/SdaiAll.cc.o -c
> schemas/sdai_wip210e3/SdaiAll.cc
> ====>> Killing runaway build after 7200 seconds with no output
Hm, I had not noticed two facts, one being that there are a great many
copies of SdaiAll.cc files, which all seem to be generated, and the
other that this is occurring on i386. There are also other generated
files, and specifically the compstructs.cc files can take extremely long
to compile.
On amd64, the longest compile time in the whole port is ~185 seconds,
for a generated file of ~28000 lines:
time lines filename
======= ===== ============================================================================================
184.90 28345 schemas/sdai_wip210e3/compstructs.cc
115.08 103 schemas/sdai_ap239/SdaiAP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF_unity_types.cc
110.00 440 schemas/sdai_cd209/SdaiAP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF_unity_types.cc
106.70 292 schemas/sdai_wip210e3/SdaiAP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF_unity_types.cc
90.73 290 schemas/sdai_cd242/SdaiAP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF_unity_types.cc
88.77 2232 schemas/sdai_cd209/SdaiAP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF_unity_entities.cc
81.87 2174 schemas/sdai_wip210e3/SdaiAP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF_unity_entities.cc
73.92 19658 schemas/sdai_cd209/compstructs.cc
64.82 1734 schemas/sdai_cd242/SdaiAP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF_unity_entities.cc
61.42 189 schemas/sdai_ap210e2/SdaiAP210_ELECTRONIC_ASSEMBLY_INTERCONNECT_AND_PACKAGING_DESIGN_MIM_LF_unity_types.cc
On i386, this time is enormously increased, especially for the files
with lots of lines:
time lines filename
======= ===== ============================================================================================
4809.23 28345 schemas/sdai_wip210e3/compstructs.cc
2164.37 19658 schemas/sdai_cd209/compstructs.cc
2056.54 15806 schemas/sdai_ap210e2/compstructs.cc
1545.19 16679 schemas/sdai_cd242/compstructs.cc
446.49 7667 schemas/sdai_ap203e2/compstructs.cc
273.96 6297 schemas/sdai_ap214e3/compstructs.cc
187.16 103 schemas/sdai_ap239/SdaiAP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF_unity_types.cc
163.39 440 schemas/sdai_cd209/SdaiAP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF_unity_types.cc
130.02 2232 schemas/sdai_cd209/SdaiAP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF_unity_entities.cc
122.15 290 schemas/sdai_cd242/SdaiAP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF_unity_types.cc
The compstructs.cc and SdaiAll.cc files contain *extremely* large
generated functions, in most cases embodying the whole file, even. It
seems that this is the cause for the long compile times. A test case
tarball with the preprocessed version of the top compstructs.cc file,
and a shell script to run it, is here:
http://www.andric.com/freebsd/clang/stepcode.tar.xz
With clang 4.0.0, the compile times are more at the level of the amd64
builds, even on i386. So this regressed somewhere along the way to
5.0.0. I will have to try to find out where, to see if there is an
existing bug report or workaround.
Note that in r321664, about three weeks ago, I already committed a
couple of upstream fixes for some situations where compile times could
get excessive (see also https://bugs.llvm.org/show_bug.cgi?id=33900),
but it doesn't seem to have helped in this case.
As a quick workaround, the port can be modified to compile these files
using a lower optimization level. If -O1 is used for the longest case,
e.g. schemas/sdai_wip210e3/compstructs.cc, the compile time drops down
to ~30s. I don't think it will matter very much for the speed or size
of the output.
-Dimitry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 223 bytes
Desc: Message signed with OpenPGP
URL: <http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20170824/ea2cdb38/attachment.sig>
More information about the freebsd-hackers
mailing list