jdk9 builds failing with: java.io.IOException: Mount point not found

Matthias Klose doko at ubuntu.com
Tue Aug 30 11:49:47 UTC 2016


In some build environments jdk9 builds fail with

Error: jdk.tools.jlink.plugin.PluginException: java.io.IOException: Mount point
not found

complete build log e.g. at
https://launchpadlibrarian.net/281693434/buildlog_ubuntu-yakkety-arm64.openjdk-9_9~b133-1ubuntu1_BUILDING.txt.gz

The issue is not new, popped up earlier as seen in
http://mail.openjdk.java.net/pipermail/nio-dev/2009-May/000547.html

However for some reason this code is not called during 7 and 8 builds, only for 9.

The problem is that LinuxFileStore.findMountEntry() tries to look up the file
system by looking up /etc/mtab (which doesn't exist), and then trying to look up
/proc/mounts which only has:

$ cat /proc/mounts
none /proc proc rw,relatime 0 0
none /dev/pts devpts rw,relatime,gid=5,mode=620,ptmxmode=000 0 0
none /sys sysfs rw,relatime 0 0
none /dev/shm tmpfs rw,relatime 0 0

it's about the entry for the top of the chroot fs namespace is missing.

You can reproduce this with a 3.19 or newer kernel by taking a random chroot and
doing "sudo mount -t proc none $CHROOT/proc; sudo chroot $CHROOT cat
/proc/mounts; sudo umount $CHROOT/proc"

Maybe this worked in 2009, but apparently due to a kernel change in 2014, this
entry for the top of the chroot namespace is not always visible:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=9d4d65748a5ca26ea8650e50ba521295549bf4e3

The alternative would be to use the f_fsid field in the the statvfs information
to get a handle for the file system / the file storage.

$ sudo mount -t proc none /var/lib/schroot/chroots/xenial-amd64/proc; sudo
chroot /var/lib/schroot/chroots/xenial-amd64 stat -f /bin/ls; sudo umount
/var/lib/schroot/chroots/xenial-amd64/proc
  File: "/bin/ls"
    ID: ee43128f92e561ac Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 113075671  Free: 10105058   Available: 4355386
Inodes: Total: 28729344   Free: 21572152


As a work around, is it possible to disable this check as it's done for OpenJDK-8?

Matthias


More information about the jdk9-dev mailing list