Jwojwo
Jwojwo

Reputation: 49

Duplicated Java process hanging on a single user of a GNU/Linux Server

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,

Upvotes: 0

Views: 241

Answers (1)

Employed Russian
Employed Russian

Reputation: 213476

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.

Upvotes: 1

Related Questions