klo2k / nexus3-docker

ARM Docker image of Sonatype Nexus Repository Manager (NXRM) (Raspberry Pis - armv7l, aarch64)
GNU General Public License v3.0
109 stars 39 forks source link

Current development build startup hang with "OpenJDK Client VM warning: No monotonic clock was available" error + 400% CPU #4

Closed klo2k closed 4 years ago

klo2k commented 4 years ago

When trying to test https://github.com/klo2k/nexus3-docker/pull/3, current development build is failing to start, while CPU is pegged at 400%

docker log:

OpenJDK Client VM warning: No monotonic clock was available - timed services may be adversely affected if the time-of-day clock changes
1969-12-31 23:59:58,000+0000 INFO  [FelixStartLevel] *SYSTEM org.sonatype.nexus.pax.logging.NexusLogActivator - start

Steps to reproduce

  1. docker pull klo2k/nexus3:development
  2. docker run --rm --detached klo2k/nexus3:development
klo2k commented 4 years ago

It's definitely unrelated to https://github.com/klo2k/nexus3-docker/pull/3 - The build on master now fails to start with the same symptoms.

I did noticed the Java version changed between the latest (published) image and the one we're building now - 1.8.0_252-8u252-b09-1~18.04-b09 published vs 1.8.0_252-8u252-b09-1ubuntu1-b09 development.

development build:

root@pi4-dev1:/srv/nexus# docker run --rm -it klo2k/nexus3:development bash
nexus@97159d2ced85:/$ java -version
OpenJDK Client VM warning: No monotonic clock was available - timed services may be adversely affected if the time-of-day clock changes
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1ubuntu1-b09)
OpenJDK Client VM (build 25.252-b09, mixed mode)
nexus@97159d2ced85:/$ exit

stable release:

root@pi4-dev1:/srv/nexus# docker run --rm -it klo2k/nexus3:3.25.0 bash
nexus@f76cfa391e8b:/$ java -version
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK Client VM (build 25.252-b09, mixed mode)
klo2k commented 4 years ago

In case it's a temporary issue with the ubuntu packages, I'll try again in a few day's time.

klo2k commented 4 years ago

I think I should get ready for plan-b - using Debian buster with adoptopenjdk for JDK 8 / use Bionic (18.04) image.

The arm32 Focal image / repo seems a bit screwed atm. - or at least with the latest Docker version...

I can't even install some package inside the container - similar to https://github.com/dotnet/dotnet-docker/issues/1747:

apt install libc6-armhf-cross
...
root@96774ce14d35:/lib/arm-linux-gnueabihf# apt install libc6-armhf-cross
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  libc6-armhf-cross
0 upgraded, 1 newly installed, 0 to remove and 4 not upgraded.
Need to get 906 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://ports.ubuntu.com/ubuntu-ports focal/main armhf libc6-armhf-cross all 2.31-0ubuntu7cross1 [906 kB]
Fetched 906 kB in 12682d 20h 36min 45s (0 B/s)
debconf: delaying package configuration, since apt-utils is not installed
tar: ./control: Cannot utime: Operation not permitted
tar: ./md5sums: Cannot utime: Operation not permitted
tar: ./preinst: Cannot utime: Operation not permitted
tar: ./shlibs: Cannot utime: Operation not permitted
tar: .: Cannot utime: Operation not permitted
tar: Exiting with failure status due to previous errors
dpkg-deb: error: tar subprocess returned error exit status 2
dpkg: error processing archive /var/cache/apt/archives/libc6-armhf-cross_2.31-0ubuntu7cross1_all.deb (--unpack):
 dpkg-deb --control subprocess returned error exit status 2
Errors were encountered while processing:
 /var/cache/apt/archives/libc6-armhf-cross_2.31-0ubuntu7cross1_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

It seems more than a coincident my JDK error also involves an error to do with getting time...

klo2k commented 4 years ago

This is still a problem - gonna try using JDK from https://adoptopenjdk.net/...

klo2k commented 4 years ago

It may be a problem with all my Raspberry Pi 3 and 4-s - running java -version and apt update in buildx (with arm32v7/ubuntu:latest) seems fine...

Update: 😮️ if I run it with --privileged flag apt update and java -version works without error.

Update 2: debian:latest seems fine - at least apt update anyway...

klo2k commented 4 years ago

Looks like ubuntu:focal-20200115 was the last good ubuntu build.

Interesting when I try to do apt upgrade -y from ubuntu:focal-20200115 it errors out at libc6:armhf (consistent with other bug reports - issue is somewhat related to libc)

docker run --rm -it ubuntu:focal-20200115
apt update && apt upgrade -y
...
The following NEW packages will be installed:
  gcc-10-base libapt-pkg6.0 libcrypt1 libffi7 libgcc-s1 libprocps8
The following packages will be upgraded:
  adduser apt base-files bash bsdutils dpkg e2fsprogs fdisk findutils gcc-9-base gpgv grep libacl1 libaudit-common libaudit1 libblkid1 libc-bin libc6 libcap-ng0 libcom-err2 libdb5.3 libdebconfclient0 libext2fs2 libfdisk1 libgcc1 libgcrypt20 libgmp10 libgnutls30 libgpg-error0 libmount1 libncurses6 libncursesw6 libp11-kit0 libpcre3 libseccomp2 libselinux1
  libsemanage-common libsemanage1 libsmartcols1 libss2 libstdc++6 libsystemd0 libtasn1-6 libtinfo6 libudev1 libuuid1 libzstd1 login logsave mawk mount ncurses-base ncurses-bin passwd perl-base procps sysvinit-utils tar ubuntu-keyring util-linux zlib1g
61 upgraded, 6 newly installed, 0 to remove and 0 not upgraded.
Need to get 16.9 MB of archives.
After this operation, 3235 kB of additional disk space will be used.
...
Fetched 16.9 MB in 14s (1217 kB/s)                                                                                                                                                                                                                                                                                                                                          
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package gcc-10-base:armhf.
(Reading database ... 4126 files and directories currently installed.)
Preparing to unpack .../gcc-10-base_10-20200411-0ubuntu1_armhf.deb ...
Unpacking gcc-10-base:armhf (10-20200411-0ubuntu1) ...
Setting up gcc-10-base:armhf (10-20200411-0ubuntu1) ...
Selecting previously unselected package libgcc-s1:armhf.
(Reading database ... 4131 files and directories currently installed.)
Preparing to unpack .../libgcc-s1_10-20200411-0ubuntu1_armhf.deb ...
Unpacking libgcc-s1:armhf (10-20200411-0ubuntu1) ...
Replacing files in old package libgcc1:armhf (1:9.2.1-21ubuntu1) ...
Setting up libgcc-s1:armhf (10-20200411-0ubuntu1) ...
(Reading database ... 4133 files and directories currently installed.)
Preparing to unpack .../libc6_2.31-0ubuntu9_armhf.deb ...
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/arm-linux-gnueabihf/perl5/5.30 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/arm-linux-gn
ueabihf/perl-base) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.)
debconf: falling back to frontend: Teletype
Checking for services that may need to be restarted...
Checking init scripts...
Checking for services that may need to be restarted...
Checking init scripts...
Nothing to restart.
Unpacking libc6:armhf (2.31-0ubuntu9) over (2.30-0ubuntu3) ...
tar: ./control: Cannot utime: Operation not permitted
tar: ./md5sums: Cannot utime: Operation not permitted
tar: ./shlibs: Cannot utime: Operation not permitted
tar: ./symbols: Cannot utime: Operation not permitted
tar: ./triggers: Cannot utime: Operation not permitted
tar: .: Cannot utime: Operation not permitted
tar: Exiting with failure status due to previous errors
dpkg-deb: error: tar subprocess returned error exit status 2
dpkg: error processing archive /var/cache/apt/archives/libcrypt1_1%3a4.4.10-10ubuntu4_armhf.deb (--unpack):
 dpkg-deb --control subprocess returned error exit status 2
Errors were encountered while processing:
 /var/cache/apt/archives/libcrypt1_1%3a4.4.10-10ubuntu4_armhf.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
klo2k commented 4 years ago

For now, this is temporarily fixed by using ubuntu:focal-20200115 via https://github.com/klo2k/nexus3-docker/releases/tag/3.25.1

Hopefully by next Neuxs release Ubuntu libc is fixed and we can go back to latest tag.