반응형

근본적인 해결법을 찾아서 글을 올렸습니다. https://blog.joyfui.com/1235


가끔 인텔리제이나, 파이참, 안드로이드 스튜디오 등 젯브레인의 IDE를 실행하면 아래와 같은 메시지가 뜨면서 실행이 안 되는 오류가 난다. (심지어 최신버전에서는 오류 메시지도 안뜨고 무한 스플래시 화면이다...)

java.util.concurrent.CompletionException: java.net.BindException: Address already in use: bind
    at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314)
    at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:319)
    at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1702)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.net.BindException: Address already in use: bind
    at java.base/sun.nio.ch.Net.bind0(Native Method)
    at java.base/sun.nio.ch.Net.bind(Net.java:455)
    at java.base/sun.nio.ch.Net.bind(Net.java:447)
    at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:227)
    at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:134)
    at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:550)
    at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1334)
    at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:506)
    at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:491)
    at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:973)
    at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:248)
    at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:356)
    at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500)
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    ... 1 more

예전에 찾아봤을 땐 특정 포트를 다른 프로그램에서 선점하면 일어나는 오류라고 해서 그동안 재부팅 해서 해결하곤 했다.

지난번에 이 문제 때문에 특정 포트를 사용 중인 프로그램 찾는 법을 올렸었는데 해당 방법으로도 뭐가 원인인지 찾을 수 없었다. 안 그래도 요즘 들어서 저 현상이 너무 자주 일어나서 다시 찾아보니까 Hyper-V에서(내 경우 WSL) 포트를 선점해서 그렇다고 한다. 재부팅 없이 해결하는 방법도 찾았다.

명령 프롬프트를 관리자 권한으로 열고 아래 명령어를 입력하면 된다.

net stop winnat
net start winnat

출처: https://intellij-support.jetbrains.com/hc/en-us/community/posts/360009005139-Intellij-Not-starting-up-getting-error-BindException-Address-already-in-use-?page=1#community_comment_360002524640

치명적인 문제점으로 위 명령어를 실행한 이후엔 wsl에서 네트워크 연결이 안 된다. 아 이럼 나가린데...

반응형

+ Recent posts