WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED INVALID
211943
REGRESSION(
r261533
): Breaks parallel builds [GTK]
https://bugs.webkit.org/show_bug.cgi?id=211943
Summary
REGRESSION(r261533): Breaks parallel builds [GTK]
Jim Mason
Reported
2020-05-15 01:45:16 PDT
r261533
breaks parallel builds with -j4. Builds with -j1 complete normally. The error is: make[3]: *** No rule to make target 'DerivedSources/WebCore/JSBlob.h', needed by 'DerivedSources/ForwardingHeaders/WebCore/JSBlob.h'. Stop. make[3]: *** Waiting for unfinished jobs.... make[3]: Leaving directory '/build/rtutils/components/desktop/webkitgtk4-dev/build/amd64' make[2]: *** [CMakeFiles/Makefile2:1024: Source/WebCore/CMakeFiles/WebCore_CopyPrivateHeaders.dir/all] Error 2 make[2]: *** Waiting for unfinished jobs.... I am building the GTK port.
Attachments
Add attachment
proposed patch, testcase, etc.
Jim Mason
Comment 1
2020-05-15 06:58:27 PDT
For what it is worth, building with -j4 is working for me as of this moment (
r261738
). My -j4 builds were still breaking as of about
r261690
. Not sure if it has been fixed, or if the race condition is still present and I am just getting lucky now...
Jim Mason
Comment 2
2020-05-22 06:17:08 PDT
(In reply to Jim Mason from
comment #1
)
> Not sure if it has been fixed, or if the race condition is still present and > I am just getting lucky now...
It seems the latter: Parallel builds used to complete in a deterministic way for me; that is to say, they would build to completion 100% of the time, in absence of an actual problem. Now I am finding that otherwise good builds will sometimes, but not always, terminate prematurely due to the parallel build problem. I can just re-make, and on the second or third go, get lucky. Ideally, we would figure out what the dependency is and ensure it is explicitly specified so that parallel builds will always complete in a deterministic way. As I am able to reproduce on a farily consistent basis, if there is anything I can do to assist, please let me know.
Carlos Alberto Lopez Perez
Comment 3
2020-05-22 06:38:12 PDT
(In reply to Jim Mason from
comment #1
)
> For what it is worth, building with -j4 is working for me as of this moment > (
r261738
). My -j4 builds were still breaking as of about
r261690
. > > Not sure if it has been fixed, or if the race condition is still present and > I am just getting lucky now...
Can you reproduce this with ninja instead of make? To use ninja pass the parameters "-G Ninja" to CMake and then use "ninja" / "ninja install" instead of "make" / "make install" (you need to start a new clean build if you change from make to ninja)
Jim Mason
Comment 4
2020-05-25 06:04:29 PDT
(In reply to Carlos Alberto Lopez Perez from
comment #3
)
> Can you reproduce this with ninja instead of make?
Thanks for the suggestion! So far, so good with ninja. I've already run about 6 ninja builds; all have completed successfully. Make would have failed already. I will continue to use ninja in the coming days/week and post here any update. If the dependency problem should manifest itself with ninja, then I would expect to see it by the end of the week.
Jim Mason
Comment 5
2020-09-23 08:57:29 PDT
(In reply to Jim Mason from
comment #4
)
> (In reply to Carlos Alberto Lopez Perez from
comment #3
) > > Can you reproduce this with ninja instead of make? > > Thanks for the suggestion! > > So far, so good with ninja. I've already run about 6 ninja builds; all have > completed successfully. Make would have failed already. > > I will continue to use ninja in the coming days/week and post here any > update. If the dependency problem should manifest itself with ninja, then I > would expect to see it by the end of the week.
Thanks for the advice! Since May, I have made dozens if not hundreds of builds with ninja and all have been successful. Closing as I can no longer reproduce.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug