New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 690360 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Last visit > 30 days ago
Closed: Feb 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

emerge-elm factory fails on new chroot

Project Member Reported by djkurtz@chromium.org, Feb 9 2017

Issue description

On a fresh ubuntu machine, emerge-${BOARD} factory & factory-mini are both failing in closurebuilder.py.

They are failing a _GetJavaVersion():


$ emerge-elm factory
!!! CONFIG_PROTECT is empty for '/build/elm/'
Calculating dependencies... done!

>>> Emerging (1 of 1) chromeos-base/factory-0.2.0-r100::chromiumos for /build/elm/
 * webgl-aquarium-20130524.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                                                                                                                                         [ ok ]
 * Running stacked hooks for pre_pkg_setup
 *    sysroot_build_bin_dir ...                                                                                                                                                                            [ ok ]
 * Running stacked hooks for pre_src_unpack
 *    python_multilib_setup ...                                                                                                                                                                            [ ok ]
>>> Unpacking source...
 * Using local source dir(s): /mnt/host/source/src/platform/factory
 * path: /mnt/host/source/src/platform/factory
 * destdir: /build/elm/tmp/portage/chromeos-base/factory-0.2.0-r100/work/factory-0.2.0
>>> Source unpacked in /build/elm/tmp/portage/chromeos-base/factory-0.2.0-r100/work
 * Running stacked hooks for post_src_unpack
 *    asan_init ...                                                                                                                                                                                        [ ok ]
>>> Preparing source in /mnt/host/source/src/platform/factory ...
>>> Source prepared.
>>> Configuring source in /mnt/host/source/src/platform/factory ...
>>> Source configured.
>>> Compiling source in /mnt/host/source/src/platform/factory ...
make -j8 
make -C py/goofy/static OUTPUT_DIR=/build/elm/tmp/portage/chromeos-base/factory-0.2.0-r100/work/build/closure
make[1]: Entering directory '/mnt/host/source/src/platform/factory/py/goofy/static'
mkdir -p "/build/elm/tmp/portage/chromeos-base/factory-0.2.0-r100/work/build/closure/js"
# For now, we just use the compiler (--output_mode=compiled) to check
# Replace all references to URLs with resources in this project.
# the correctness of our code, and we actually deploy the version that
mkdir -p "/build/elm/tmp/portage/chromeos-base/factory-0.2.0-r100/work/build/closure/css"
# is the concatenation of all the dependencies (--output_mode=script).
python /opt/closure-library/closure/bin/build/closurebuilder.py --root /opt/closure-library --root ../js -n cros.factory.Goofy -n cros.factory.DeviceManager --compiler_jar=/opt/closure-compiler-bin-0/lib/closure-compiler-bin.jar -f --warning_level=VERBOSE --output_mode=compiled --output_file=/dev/null
sed -re 's"//ssl\.gstatic\.com/(closure|editor)"/images"g' /opt/closure-library/closure/goog/css/checkbox.css /opt/closure-library/closure/goog/css/common.css /opt/closure-library/closure/goog/css/dialog.css /opt/closure-library/closure/goog/css/menu.css /opt/closure-library/closure/goog/css/menuitem.css /opt/closure-library/closure/goog/css/menuseparator.css /opt/closure-library/closure/goog/css/submenu.css /opt/closure-library/closure/goog/css/tooltip.css /opt/closure-library/closure/goog/css/tree.css >/build/elm/tmp/portage/chromeos-base/factory-0.2.0-r100/work/build/closure/css/closure.css
/opt/closure-library/closure/bin/build/closurebuilder.py: Scanning paths...
/opt/closure-library/closure/bin/build/closurebuilder.py: 866 sources scanned.
/opt/closure-library/closure/bin/build/closurebuilder.py: Building dependency tree..
Traceback (most recent call last):
  File "/opt/closure-library/closure/bin/build/closurebuilder.py", line 256, in <module>
    main()
  File "/opt/closure-library/closure/bin/build/closurebuilder.py", line 241, in main
    options.compiler_flags)
  File "/opt/closure-library/closure/bin/build/jscompiler.py", line 50, in Compile
    if not (distutils.version.LooseVersion(_GetJavaVersion()) >=
  File "/opt/closure-library/closure/bin/build/jscompiler.py", line 34, in _GetJavaVersion
    return _VERSION_REGEX.search(version_line).group(1)
AttributeError: 'NoneType' object has no attribute 'group'
make[1]: *** [Makefile:65: /build/elm/tmp/portage/chromeos-base/factory-0.2.0-r100/work/build/closure/js/goofy.js] Error 1
make[1]: Leaving directory '/mnt/host/source/src/platform/factory/py/goofy/static'
make: *** [Makefile:137: closure] Error 2
 * ERROR: chromeos-base/factory-0.2.0-r100::chromiumos failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=chromeos-base/factory-0.2.0-r100::chromiumos'`,
 * the complete build log and the output of `emerge -pqv '=chromeos-base/factory-0.2.0-r100::chromiumos'`.
 * The complete build log is located at '/build/elm/tmp/portage/logs/chromeos-base:factory-0.2.0-r100:20170209-090038.log'.
 * For convenience, a symlink to the build log is located at '/build/elm/tmp/portage/chromeos-base/factory-0.2.0-r100/temp/build.log'.
 * The ebuild environment file is located at '/build/elm/tmp/portage/chromeos-base/factory-0.2.0-r100/temp/environment'.
 * Working directory: '/mnt/host/source/src/platform/factory'
 * S: '/mnt/host/source/src/platform/factory'

>>> Failed to emerge chromeos-base/factory-0.2.0-r100 for /build/elm/, Log file:

>>>  '/build/elm/tmp/portage/logs/chromeos-base:factory-0.2.0-r100:20170209-090038.log'

 * Messages for package chromeos-base/factory-0.2.0-r100 merged to /build/elm/:

 * ERROR: chromeos-base/factory-0.2.0-r100::chromiumos failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=chromeos-base/factory-0.2.0-r100::chromiumos'`,
 * the complete build log and the output of `emerge -pqv '=chromeos-base/factory-0.2.0-r100::chromiumos'`.
 * The complete build log is located at '/build/elm/tmp/portage/logs/chromeos-base:factory-0.2.0-r100:20170209-090038.log'.
 * For convenience, a symlink to the build log is located at '/build/elm/tmp/portage/chromeos-base/factory-0.2.0-r100/temp/build.log'.
 * The ebuild environment file is located at '/build/elm/tmp/portage/chromeos-base/factory-0.2.0-r100/temp/environment'.
 * Working directory: '/mnt/host/source/src/platform/factory'
 * S: '/mnt/host/source/src/platform/factory'


 
Java in the chroot is: /usr/bin/java
This is a symlink to /usr/bin/java/run-java-tool

Reading run-java-tool, showed that my system was missing:
 /etc/java-config-2/current-system-vm/

Running the following on a working system:
equery belongs /etc/java-config-2/current-system-vm/

... shows it should have been installed by /opt/icedtea-bin

I can install the missing symlink with:
sudo emerge icedtea-bin

And... now I can build_packages successfully.


But, we still don't know why the chroot was broken to start with.
Owner: djkurtz@chromium.org
i can't reproduce
$ cros_sdk --chroot foo
...
$ java -version
java version "1.7.0_71"
OpenJDK Runtime Environment (IcedTea 2.5.3) (Gentoo package icedtea-7.2.5.3)
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)

in sdk_lib/make_chroot.sh, we explicitly make calls to set up the java vm:
# The java-config package atm does not support $ROOT.  Select a default
# VM ourselves until that gets fixed upstream.
enter_chroot sudo java-config --set-system-vm 1

it's the last thing done during new chroot creation, so if the setup was interrupted for some reason, it wouldn't have been run.
Status: WontFix (was: Available)
dunno.  Guess chroot must have been interrupted.
I'll retry, and re-open if it it recurs.

Sign in to add a comment