PSA: strict compiler version checking on buildbot using goma

50 views
Skip to first unread message

Yoshisato Yanagisawa

unread,
Feb 19, 2015, 8:34:32 PM2/19/15
to Chromium-dev

tl;dr builds may fail if a buildbot slave uses compiler that does not exactly match what goma has.


Goma is a distributed compiler infrastructure used by buildbots.  Because of historical reasons, Goma used to use a similar compiler if it does not have an exactly matching compiler.  If developers do not use features highly dependent on compiler-specific behavior, it works well enough.  However, recently we noticed it may cause unexpected link failure or unexpected test behavior, and decided to stop using similar compiler if exactly same compiler is missing.


We are going to enable goma’s strict version checking feature on trybots (https://codereview.chromium.org/934993002/) and expand the stop of using features to all buildbots in March.  It could cause build failure if buildbot slaves are using compiler that goma does not have.  At that time, you may see compile failure like:

GOMA:clang compiling example.cc:*ERROR*: compiler_proxy:4139ms: No matching command found in server

GOMA:clang compiling example.cc:*ERROR*: compiler_proxy:4139ms: /usr/bin/clang is disabled.

(note that non-zero exit status is returned and ninja stops)


Ryan Tseng

unread,
Feb 19, 2015, 8:57:46 PM2/19/15
to yyana...@chromium.org, Chromium-dev
yay

--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev

To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.

Yoshisato Yanagisawa

unread,
Feb 19, 2015, 9:10:08 PM2/19/15
to Ryan Tseng, Chromium-dev
Unfortunately, the patch is reverting.  I will try it again later.

Nico Weber

unread,
Feb 20, 2015, 1:13:49 AM2/20/15
to yyana...@chromium.org, Ryan Tseng, Chromium-dev
Thank you very much for working on this. Looking forward to the reland :-)

Yoshisato Yanagisawa

unread,
Feb 22, 2015, 10:45:49 PM2/22/15
to Nico Weber, Ryan Tseng, Chromium-dev
The feature has bee enabled again.
The revival of the previous patch (https://codereview.chromium.org/938383003) has been committed.

Yoshisato Yanagisawa

unread,
Feb 25, 2015, 3:51:41 AM2/25/15
to Nico Weber, Ryan Tseng, Chromium-dev
After https://codereview.chromium.org/947813003/ is submitted, all chromium trybot with recipes runs with GOMA_HERMETIC=error.

In the previous change (https://codereview.chromium.org/934993002/), only trybots with gn are covered.

Yoshisato Yanagisawa

unread,
Mar 18, 2015, 12:45:03 AM3/18/15
to Nico Weber, Ryan Tseng, Chromium-dev
tl;dr builds will fail if a buildbot slave uses compiler that does not exactly match what goma has.

With https://codereview.chromium.org/1012593002/, GOMA_HERMETIC=error will be applied to all chrome bots using compile.py (maybe most of chrome bots) for the build.
Under most of the bots, if a compiler not registered to goma is used, you will see following compile error:
GOMA:clang compiling example.cc:*ERROR*: compiler_proxy:4139ms: No matching command found in server
GOMA:clang compiling example.cc:*ERROR*: compiler_proxy:4139ms: /usr/bin/clang is disabled.
(note that non-zero exit status is returned and ninja stops)
Reply all
Reply to author
Forward
0 new messages