NaCL doesn't forget goma

Skip to first unread message

Sunny Sachanandani

unread,
Jul 31, 2015, 8:55:53 PM7/31/15
to Chromium-dev
Hi,

I've been having issues with my computer hanging during a chrome build with goma on Linux. So I decided to try a local build but for some reason several NaCL related build actions complain about the goma socket being missing.

I've tried deleting the out/ directory and recreating the gyp files but that doesn't work either. Anyone know what's up?

The steps that fail look like this:

[119/19226] ACTION nacl_lib_newlib: build newlib x86-64 nlib_34595b1baf6b0067c0d7da5211c629a9
GOMA: port request failed. connect_success: 0, err: -1 Failed to connect to /tmp/goma.ipc, http_return_code: 0

Thanks!
- Sunny

Thiago Farina

unread,
Jul 31, 2015, 9:24:10 PM7/31/15
to sun...@chromium.org, Chromium-dev
On Fri, Jul 31, 2015 at 9:54 PM, Sunny Sachanandani <sun...@chromium.org> wrote:
Hi,

I've been having issues with my computer hanging during a chrome build with goma on Linux. So I decided to try a local build but for some reason several NaCL related build actions complain about the goma socket being missing.
Do you have goma_dir and use_goma set?



--
Thiago Farina

Yoshisato Yanagisawa

unread,
Aug 2, 2015, 9:49:24 PM8/2/15
to Thiago Farina, sun...@chromium.org, Chromium-dev
tl;dr please set NO_NACL_GOMA=true.  Sorry for annoying messages.

The hacks in build_nexe.py GetGomaConfig may do something bad for you.  If either of followings are set, build_nexe.py try to use gomacc.  Goma is used only when it confirms compiler_proxy available but you may see annoying messages shown by the checks.
1. use_goma is set in GYP_DEFINES environment variable or something equivalent.
2. GOMA_DIR environment variable is set.
3. gomacc can be found in PATH environment variable.

As you can see very beginning of the function, NO_NACL_GOMA=true kills the feature.


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

Sunny Sachanandani

unread,
Aug 3, 2015, 2:16:34 PM8/3/15
to Yoshisato Yanagisawa, Thiago Farina, Chromium-dev
I have the GOMA_DIR environment variable set. I'm assuming build_nexe.py works this way because it's used outside of building chromium so it can't just rely on the use_goma gyp variable?

Yoshisato Yanagisawa

unread,
Aug 3, 2015, 10:00:04 PM8/3/15
to Sunny Sachanandani, Thiago Farina, Chromium-dev
Just curious but why you set GOMA_DIR when you do not use goma?

Anyway, will you file an issue for this?  GOMA_DIR support is provided for builds that set GOMA_DIR when they use goma (maybe clank and chromeos?).  We should confirm they do not depend on GOMA_DIR.  Also, we should confirm nobody use "masquerade mode" gomacc with build_nexe.py.

Sunny Sachanandani

unread,
Aug 3, 2015, 10:09:40 PM8/3/15
to Yoshisato Yanagisawa, Thiago Farina, Chromium-dev
I do use goma most of the time but I was debugging an issue where goma would cause my computer to hangup. I use the "use_goma" gyp variable to turn goma on or off as needed. I wasn't aware that just setting GOMA_DIR could cause goma to be used in build_nexe.py.

Filed a bug here: crbug.com/516552

Thanks!

Paweł Hajdan, Jr.

unread,
Aug 4, 2015, 4:57:29 AM8/4/15
to Sunny Sachanandani, Yoshisato Yanagisawa, Thiago Farina, Chromium-dev
Just wondering, why don't we add a command-line flag to build_nexe.py to control whether it uses goma or not, and make GYP/GN pass that command-line flag or not based on use_goma flag?

I think that'd be more consistent, predictable and easier to reason about than some tools having surprising "heuristics". There could have been legitimate reasons to add that in the past - we could consider revisiting that though.

Paweł

Yoshisato Yanagisawa

unread,
Aug 4, 2015, 5:23:33 AM8/4/15
to Paweł Hajdan, Jr., Sunny Sachanandani, Thiago Farina, Chromium-dev
2015-08-04 17:56 GMT+09:00 Paweł Hajdan, Jr. <phajd...@chromium.org>:
Just wondering, why don't we add a command-line flag to build_nexe.py to control whether it uses goma or not, and make GYP/GN pass that command-line flag or not based on use_goma flag?

Sorry for my bad explanation but it does.  If use_goma gyp varialbe is set, gyp/gn set --gomadir flag.  I hope we can be free from build_nexe.py with GN.

However, build_nexe.py also accepts GOMA_DIR and PATH in addition to --gomadir flag.  GOMA_DIR support is for clank and PATH is for masquerade mode.  I suppose both cases are not used anymore.

If my understanding is wrong, trybots should say so.  Let's see what happens with this:

Yoshisato Yanagisawa

unread,
Aug 5, 2015, 2:45:43 AM8/5/15
to Paweł Hajdan, Jr., Sunny Sachanandani, Thiago Farina, Chromium-dev
FYI, submitted https://codereview.chromium.org/1256313004.
GOMA_DIR and gomacc in PATH won't be used as a signal for use of goma when the change is rolled.

Dongseong Hwang

unread,
Aug 12, 2015, 5:21:38 AM8/12/15
to Chromium-dev, phajd...@chromium.org, sun...@chromium.org, tfa...@chromium.org
Since 11th/Aug, gomacc makes external contributors unhappy.
Even if I define use_goma=0, nacl tries to use gomacc, so build fails.
/home/dshwang/goma/gomacc ../native_client/toolchain/linux_x86/pnacl_newlib/bin/pnacl-clang -c ../out_ozone_cros/Release/gen/mojo/nacl/mojo_irt.c ....

Can someone fix it?

- DS

Primiano Tucci

unread,
Aug 12, 2015, 7:31:56 AM8/12/15
to Dongseong Hwang, Chromium-dev, Paweł Hajdan, Jr., sun...@chromium.org, Thiago Farina
Can you please file a bug on crbug and add Cr-Platform-NaCl and Build labels?

Dongseong Hwang

unread,
Aug 12, 2015, 8:20:22 AM8/12/15
to Chromium-dev, dongseo...@intel.com, phajd...@chromium.org, sun...@chromium.org, tfa...@chromium.org
Reply all
Reply to author
Forward
0 new messages