0

Since last week (without any known change), Java started to duplicate and to hang its processes. This happens only for my user, for others it stills working.

Eg. The following commands have not returned any output in a couple of hours.

$ javac -help
$ java -version

In every test, Java always starts two processes for each run (as tracked by htop).

  PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command                                                                                                                                                                                                        
 7732 giordano   20   0 38012  4708  3576 S  0.0  0.0  0:00.00 javac -help                                                                                                                                                                                                          
 7731 giordano   20   0 38012  4708  3576 S  0.0  0.0  0:00.00 javac -help
 8740 giordano   20   0 38012  4692  3560 S  0.0  0.0  0:00.00 java -version
 8739 giordano   20   0 38012  4692  3560 S  0.0  0.0  0:00.00 java -version

Additional info:

$ which java
/usr/bin/java

$ update-alternatives --config java

There are 3 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
   1           /usr/lib/jvm/jre-1.5.0-gcj/bin/java
   2           /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java
*+ 3           /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java

Enviroment

$ env
HOSTNAME=XXXX-XXXX.XXX.XXXX.XX
TERM=vt100
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=XXX.XXX.XX.XXX XXXXX XX
QTDIR=/usr/lib64/qt-3.3
QTINC=/usr/lib64/qt-3.3/include
SSH_TTY=/dev/pts/163
USER=giordano
LD_LIBRARY_PATH=/opt/glibc-2.14/lib
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:
MAIL=/var/spool/mail/giordano
PATH=/home/giordano/anaconda3/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/giordano/bin
PWD=/home/giordano
LANG=en_US.UTF-8
MODULEPATH=/usr/share/Modules/modulefiles:/etc/modulefiles
LOADEDMODULES=
KDEDIRS=/usr
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
HISTCONTROL=ignoredups
SHLVL=1
HOME=/home/giordano
LOGNAME=giordano
QTLIB=/usr/lib64/qt-3.3/lib
CVS_RSH=ssh
SSH_CONNECTION=XXX.XXX.XX.XXX XXXXX XXX.XXX.XX.XXX XX
MODULESHOME=/usr/share/Modules
LESSOPEN=||/usr/bin/lesspipe.sh %s
DISPLAY=localhost:0
G_BROKEN_FILENAMES=1
BASH_FUNC_module()=() {  eval `/usr/bin/modulecmd bash $*`
}
_=/bin/env

Shared objects

$ ldd /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.141.x86_64/bin/java
        linux-vdso.so.1 =>  (0x00007ffc4c7e6000)
        libpthread.so.0 => /opt/glibc-2.14/lib/libpthread.so.0 (0x00007f545c130000)
        libjli.so => /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.141.x86_64/bin/../lib/amd64/jli/libjli.so (0x00007f545bf23000)
        libdl.so.2 => /opt/glibc-2.14/lib/libdl.so.2 (0x00007f545bd1f000)
        libc.so.6 => /opt/glibc-2.14/lib/libc.so.6 (0x00007f545b992000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f545c34f000)
        libz.so.1 => /lib64/libz.so.1 (0x00007f545b762000)

NOTICE: There are only two differences on my env compared to that of another user:

LD_LIBRARY_PATH=/opt/glibc-2.14/lib

and

PATH=/home/giordano/anaconda3/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/giordano/bin

(The anaconda path - /home/giordano/anaconda3/bin - but no Java on it).

Any tips to solve this issue? I would appreciate any help you can provide!

Regards,

Jwojwo
  • 49
  • 5

1 Answers1

1

LD_LIBRARY_PATH=/opt/glibc-2.14/lib

If the system GLIBC is not an exact copy of what's in /opt/glibc-2.14/lib, then this LD_LIBRARY_PATH setting is wrong and can't work.

Explanation here.

Employed Russian
  • 199,314
  • 34
  • 295
  • 362
  • Many thanks! Problem solved (export LD_LIBRARY_PATH=/usr/lib64/) \o/ – Jwojwo Dec 19 '17 at 15:36
  • 1
    @Jwojwo `export LD_LIBRARY_PATH=/usr/lib64` is pointless and better replaced with not setting `LD_LIBRARY_PATH` *at all* -- the linker will search there without any extra help. – Employed Russian Dec 20 '17 at 03:29
  • Great, I just removed it from .bashrc (and also discovered that it was an anaconda's issue). Many thanks again! – Jwojwo Dec 21 '17 at 04:37