티스토리 뷰

잘 돌아가던 톰캣 서버에서 아래와 같은 Exception을 확인하였다. 

잘 떠있던 놈이.. 갑자기 왜.


물론 재시작 하면서 이슈는 해결되었지만 원인을 찾기 위해서 삽질을 하고, 아래와 같은 로그를 드디어 재현하였다. 


원인은, 프로세스가 떠 있는 상태에서 yum 업데이트로 jdk버전을 업데이트 해버려서, 이 프로세스에서 잡고 있던 java lib들을 알 수 없었기 때문에 오류가 났던 것이다. 


tomcat started -> yum update jdk* -> curl http://url -> occured Exception .




java.lang.UnsatisfiedLinkError: no net in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
        at java.lang.Runtime.loadLibrary0(Runtime.java:870)
        at java.lang.System.loadLibrary(System.java:1122)
        at sun.net.ExtendedOptionsImpl.lambda$static$0(ExtendedOptionsImpl.java:48)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.net.ExtendedOptionsImpl.(ExtendedOptionsImpl.java:47)
        at sun.nio.ch.SocketChannelImpl$DefaultOptionsHolder.defaultOptions(SocketChannelImpl.java:242)
        at sun.nio.ch.SocketChannelImpl$DefaultOptionsHolder.(SocketChannelImpl.java:229)
        at sun.nio.ch.SocketChannelImpl.supportedOptions(SocketChannelImpl.java:251)
        at sun.nio.ch.SocketChannelImpl.setOption(SocketChannelImpl.java:169)
        at sun.nio.ch.SocketAdaptor.setIntOption(SocketAdaptor.java:281)
        at sun.nio.ch.SocketAdaptor.setSoLinger(SocketAdaptor.java:316)
        at org.apache.tomcat.util.net.SocketProperties.setProperties(SocketProperties.java:202)
        at org.apache.tomcat.util.net.NioEndpoint.setSocketOptions(NioEndpoint.java:533)
        at org.apache.tomcat.util.net.NioEndpoint$Acceptor.run(NioEndpoint.java:697)
        at java.lang.Thread.run(Thread.java:745)

2017-08-10 06:52:01.881 ERROR 5479 [http-nio-63336-Acceptor-0] --- org.apache.tomcat.util.net.NioEndpoint   :

java.lang.NoClassDefFoundError: Could not initialize class sun.nio.ch.SocketChannelImpl$DefaultOptionsHolder
        at sun.nio.ch.SocketChannelImpl.supportedOptions(SocketChannelImpl.java:251)
        at sun.nio.ch.SocketChannelImpl.setOption(SocketChannelImpl.java:169)


댓글