1637730466 M * Bertl_oO off to bed now ... have a good one everyone! 1637730468 N * Bertl_oO Bertl_zZ 1637734948 J * ntrs_ ~ntrs@vault08.rosehosting.com 1637734948 Q * ntrs Read error: Connection reset by peer 1637736891 J * Ghislain ~ghislain@adsl1.aqueos.com 1637753445 M * arekm Did anyone have issues with "java -version" hanging (after 8-10 runs) in vserver guest (but not host) ? for openjdk8 1637753464 M * arekm Simple test, openjdk8, vserver guest: while (true); do date; java -version; done 1637753488 M * arekm hangs on futexes 1637753815 M * Guy- we use java heavily in vserver guests and don't have such hangs, but I didn't try this specific thing 1637753922 M * arekm openjdk9 also hangs. 10 and 11 works 1637753970 M * arekm Guy-: java -version by hand also hangs (needs 5-15 retries) 1637753996 M * Guy- arekm: I started your loop and it doesn't hang 1637754010 M * Guy- java version "1.8.0_201" 1637754010 M * Guy- Java(TM) SE Runtime Environment (build 1.8.0_201-b09) 1637754010 M * Guy- Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode) 1637754021 M * arekm Guy-: ok, what glibc? 1637754022 M * Guy- 4.9.248-vs2.3.9.12 1637754025 M * arekm 2.34 here 1637754034 M * Guy- 2.32-4 1637754286 M * arekm I had one guest, on the same machine, with glibc 2.33 and installed exactly the same openjdk8 binaries - doesn't hang there 1637754313 M * arekm so vserver guest + glibc 2.34 + openjdk8/9 is problematic 1637754385 M * arekm the same vserver but host this time + glibc 2.34 + openjdk8/9 works 1637754533 M * arekm Guy-: could you get 2.34 tarball from your (devel likely) distro, put it somewhere and try LD_LIBRARY_PATH=where_2.34_so_libs_are java --version ? 1637754556 M * Guy- yes 1637754559 M * Guy- hang on 1637754925 M * Guy- arekm: it doesn't seem to be that easy; I get "symbol lookup error: /tmp/libc/libc.so.6: undefined symbol: _dl_catch_error_ptr, version GLIBC_PRIVATE" 1637755052 M * arekm yeah, I'm trying to find out how glibc runs it's own test suite with new glibc... there is some way 1637755773 M * arekm found a way 1637755810 M * arekm patchelf --set-interpreter /root/glibc-test/ld-linux-x86-64.so.2 /usr/lib64/jvm/openjdk8-1.8.0.302/bin/java (/usr/bin/java is symlink to that binary here; do a copy of that binary before changing it) 1637755846 M * arekm and then just: glibc-test]# while (true); do date; LD_LIBRARY_PATH=$(pwd) java -version; done 1637755851 M * arekm it hangs here 1637755865 M * Guy- OK, I'm in a teleconference right now, but I'll try it afterwards 1637755868 M * arekm patchelf if not in distro - https://github.com/NixOS/patchelf 1637755886 M * Guy- it's in Debian unstable 1637755935 M * arekm it's there 1637757270 N * Bertl_zZ Bertl 1637757273 M * Bertl morning folks! 1637759989 M * arekm Hi 1637772030 M * Bertl off for now ... bbl 1637772033 N * Bertl Bertl_oO 1637773797 M * Guy- arekm: sorry, still no luck; it says it can't find libjava.so, even if I LD_PRELOAD it 1637773868 M * Guy- openat(AT_FDCWD, "/usr/lib/jvm/oracle-java8-jre-amd64/lib/amd64/libjava.so", O_RDONLY|O_CLOEXEC) = 3 1637773871 M * Guy- write(2, "Error: could not find libjava.so", 32Error: could not find libjava.so) = 32 1637773876 M * Guy- these are the only hits on libjava.so in the strace 1637774840 M * arekm Guy-: but you run /usr/bin/java right? 1637774863 M * arekm java -version works but LD_LIBRARY_PATH=$(pwd) java -version doesn't? 1637774866 M * Guy- no, I run /tmp/java, which is the copy I edited with patchelf 1637774900 M * arekm that won't work. cp -a java java.org and patch java where it is 1637774905 M * Guy- OK 1637774963 M * Guy- yup, this works 1637774971 M * Guy- it doesn't hang 1637774997 M * Guy- this is with libc6=2.33-0experimental2 1637775023 M * arekm 2.33 works for me, 2.34 doesn't 1637775043 M * Guy- ah, sorry, I misunderstood 1637775248 M * arekm Guy-: try ubuntu binaries of glibc 2.34 (as I don't see 2.34 in debian) 1637775257 M * arekm Guy-: https://launchpad.net/ubuntu/+source/glibc/2.34-0ubuntu3 1637775305 M * Guy- OK, will do, but a little later 1637775310 M * Guy- please feel free to bug me :) 1637776436 M * arekm ugh, now figured out how to hang it without vserver involved 1637776440 M * arekm just /usr/lib64/jvm/openjdk8/bin/java -Xmx1600M -version 1637776468 M * Guy- so is it a libc bug, or a java8 bug? 1637777386 M * arekm no idea yet 1637778329 M * arekm Now I know why it did show up in guest but not on host and it is unrelated to vserver itself 1637778376 M * arekm It tries to access /sys/devices/system/cpu directory and I have no /sys mounted in guests. Now mkdir /sys/devices/system/cpu and no hangs heh 1637778425 M * arekm I can even do mkdir /test-system; rsync -avP --exclude /test-system --exclude /proc/ --exclude /sys/ / /test-system; chroot /test-system; java -version --- hangs 1637778445 M * arekm mkdir /test-system/sys/devices/system/cpu; chroot /test-system; java --version - no hangs 1637778448 M * arekm fuun 1637778463 M * arekm Still don't know if that's glibc fault or java 1637778481 M * arekm but since it works on glibc 2.33... 1637781623 M * Guy- does ltrace give any useful hints? 1637785042 Q * Ghislain Quit: Leaving. 1637792082 M * arekm Guy-: https://sourceware.org/bugzilla/show_bug.cgi?id=28624 1637794241 Q * CcxWrk_ 1637794246 J * CcxWrk ~ccx@asterix.te2000.cz