web-dev-qa-db-fra.com

java.net.SocketException: erreur Windows Sockets non reconnue: 0: JVM_Bind (JBOSS)


J'utilise JBoss 4.0.5 GA sous Windows 7 avec Java version 1.5 (je dois utiliser une version plus ancienne de Java et un JBoss car je travaille avec un système hérité). Et quand je démarre le serveur, j'obtiens l'erreur suivante: 

Java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind  

Et je crois que cela cause de nombreuses autres exceptions: 

11:09:26,925 WARN  [ServiceController] Problem starting servicejboss.cache:service=TomcatClustering Cache
Java.lang.NullPointerException
    at org.jgroups.protocols.FD_SOCK.down(FD_SOCK.Java:235)
    at org.jgroups.stack.Protocol.receiveDownEvent(Protocol.Java:467)
    at org.jgroups.stack.Protocol.passDown(Protocol.Java:510)
    at org.jgroups.protocols.FD.down(FD.Java:278)
    at org.jgroups.stack.Protocol.receiveDownEvent(Protocol.Java:467)
    at org.jgroups.stack.Protocol.passDown(Protocol.Java:510)
    at org.jgroups.stack.Protocol.down(Protocol.Java:540)
    at org.jgroups.stack.Protocol.receiveDownEvent(Protocol.Java:467)
    at org.jgroups.stack.Protocol.passDown(Protocol.Java:510)
    at org.jgroups.protocols.pbcast.NAKACK.down(NAKACK.Java:297)
    at org.jgroups.stack.Protocol.receiveDownEvent(Protocol.Java:467)
    at org.jgroups.stack.Protocol.passDown(Protocol.Java:510)
    at org.jgroups.protocols.UNICAST.down(UNICAST.Java:262)
    at org.jgroups.stack.Protocol.receiveDownEvent(Protocol.Java:467)
    at org.jgroups.stack.Protocol.passDown(Protocol.Java:510)
    at org.jgroups.protocols.pbcast.STABLE.down(STABLE.Java:292)
    at org.jgroups.stack.Protocol.receiveDownEvent(Protocol.Java:467)
    at org.jgroups.stack.Protocol.passDown(Protocol.Java:510)
    at org.jgroups.protocols.pbcast.GMS.down(GMS.Java:605)
    at org.jgroups.stack.Protocol.receiveDownEvent(Protocol.Java:467)
    at org.jgroups.stack.Protocol.passDown(Protocol.Java:510)
    at org.jgroups.protocols.FC.down(FC.Java:122)
    at org.jgroups.stack.Protocol.receiveDownEvent(Protocol.Java:467)
    at org.jgroups.stack.Protocol.passDown(Protocol.Java:510)
    at org.jgroups.protocols.FRAG2.down(FRAG2.Java:146)
    at org.jgroups.stack.Protocol.receiveDownEvent(Protocol.Java:467)
    at org.jgroups.stack.Protocol.passDown(Protocol.Java:510)
    at org.jgroups.protocols.pbcast.STATE_TRANSFER.down(STATE_TRANSFER.Java:217)
    at org.jgroups.stack.Protocol.receiveDownEvent(Protocol.Java:467)
    at org.jgroups.stack.ProtocolStack.down(ProtocolStack.Java:331)
    at org.jgroups.JChannel.down(JChannel.Java:1035)
    at org.jgroups.JChannel.connect(JChannel.Java:374)
    at org.jboss.cache.TreeCache.startService(TreeCache.Java:1424)
    at org.jboss.cache.aop.PojoCache.startService(PojoCache.Java:94)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.Java:289)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.Java:245)

    at Sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
    at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:25)
    at Java.lang.reflect.Method.invoke(Method.Java:597)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.Java:155)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.Java:94)
    at org.jboss.mx.server.Invocation.invoke(Invocation.Java:86)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.Java:264)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.Java:659)
    at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.Java:978)
    at $Proxy0.start(Unknown Source)
    at org.jboss.system.ServiceController.start(ServiceController.Java:417)
    at Sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
    at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:25)
    at Java.lang.reflect.Method.invoke(Method.Java:597)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.Java:155)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.Java:94)
    at org.jboss.mx.server.Invocation.invoke(Invocation.Java:86)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.Java:264)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.Java:659)
    at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.Java:210)
    at $Proxy4.start(Unknown Source)
    at org.jboss.deployment.SARDeployer.start(SARDeployer.Java:302)
    at org.jboss.deployment.MainDeployer.start(MainDeployer.Java:1025)
    at org.jboss.deployment.MainDeployer.deploy(MainDeployer.Java:819)
    at org.jboss.deployment.MainDeployer.deploy(MainDeployer.Java:782)
    at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:39)
    at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:25)
    at Java.lang.reflect.Method.invoke(Method.Java:597)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.Java:155)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.Java:94)
    at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.Java:133)
    at org.jboss.mx.server.Invocation.invoke(Invocation.Java:88)
    at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.Java:142)
    at org.jboss.mx.server.Invocation.invoke(Invocation.Java:88)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.Java:264)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.Java:659)
    at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.Java:210)
    at $Proxy8.deploy(Unknown Source)
    at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.Java:421)
    at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.Java:634)
    at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.Java:263)
    at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.Java:336)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.Java:289)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.Java:245)

    at Sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
    at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:25)
    at Java.lang.reflect.Method.invoke(Method.Java:597)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.Java:155)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.Java:94)
    at org.jboss.mx.server.Invocation.invoke(Invocation.Java:86)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.Java:264)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.Java:659)
    at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.Java:978)
    at $Proxy0.start(Unknown Source)
    at org.jboss.system.ServiceController.start(ServiceController.Java:417)
    at Sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
    at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:25)
    at Java.lang.reflect.Method.invoke(Method.Java:597)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.Java:155)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.Java:94)
    at org.jboss.mx.server.Invocation.invoke(Invocation.Java:86)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.Java:264)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.Java:659)
    at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.Java:210)
    at $Proxy4.start(Unknown Source)
    at org.jboss.deployment.SARDeployer.start(SARDeployer.Java:302)
    at org.jboss.deployment.MainDeployer.start(MainDeployer.Java:1025)
    at org.jboss.deployment.MainDeployer.deploy(MainDeployer.Java:819)
    at org.jboss.deployment.MainDeployer.deploy(MainDeployer.Java:782)
    at org.jboss.deployment.MainDeployer.deploy(MainDeployer.Java:766)
    at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:39)
    at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:25)
    at Java.lang.reflect.Method.invoke(Method.Java:597)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.Java:155)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.Java:94)
    at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.Java:133)
    at org.jboss.mx.server.Invocation.invoke(Invocation.Java:88)
    at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.Java:142)
    at org.jboss.mx.server.Invocation.invoke(Invocation.Java:88)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.Java:264)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.Java:659)
    at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.Java:210)
    at $Proxy5.deploy(Unknown Source)
    at org.jboss.system.server.ServerImpl.doStart(ServerImpl.Java:482)
    at org.jboss.system.server.ServerImpl.start(ServerImpl.Java:362)
    at org.jboss.Main.boot(Main.Java:200)
    at org.jboss.Main$1.run(Main.Java:490)
    at Java.lang.Thread.run(Thread.Java:619)  

J'apprécie grandement si quelqu'un peut aider. Au moins pour déterminer où je devrais chercher la solution (par exemple, s'agit-il d'une erreur liée à l'incompatibilité de la mise en cluster de Windows 7 et de JBoss? Est-ce dû à une mauvaise configuration de port? Etc.) 

Merci.

19

Ce problème se produit sur certains systèmes Windows sur lesquels la pile IPv6 TCP est installée. Si IPv4 et IPv6 sont installés sur l'ordinateur, la machine virtuelle Java (JVM) peut rencontrer des problèmes pour fermer ou ouvrir des sockets au niveau du système d'exploitation. 

Ajoutez l'option JVM suivante: -Djava.net.preferIPv4Stack=true 

J'ai vu cela se produire sur les systèmes Windows 7 et Windows 2008 sur lesquels des piles IPv4 et IPv6 sont installées par défaut.

26
user1269569

Il est fort probable qu'un autre processus soit déjà lié sur un port utilisé par JBoss (8080?), Ce qui empêche JBoss de démarrer correctement (voir cette page pour obtenir une liste des ports utilisés par JBoss).

Trouvez le processus en conflit et fermez-le:

  • utilisez netstat -a -o -n et recherchez les ports utilisés par JBoss (par exemple 8080) et la variable pid correspondante
  • puis utilisez tasklist /FI "PID eq <pid>" pour trouver le processus

Ou changez les ports par défaut de JBoss. Il existe plusieurs manières de le faire, mais la meilleure consiste à utiliser Service Binding Manager (voir les instructions détaillées dans Configuration de plusieurs instances de JBoss sur une machine ).

14
Pascal Thivent

J'ai rencontré le même problème sur Win7 en essayant d'implémenter l'exemple ici: http://download.Oracle.com/javase/tutorial/networking/sockets/clientServer.html

Le port par défaut dans l'exemple de code est 4444. En utilisant ce port, j'ai obtenu "Erreur non reconnue de Windows Sockets: 0: JVM_Bind"

J'ai changé le port à 44444 et ai essayé encore. Le service de pare-feu Windows m'a demandé une fenêtre contextuelle me demandant si cette application était autorisée à accéder au réseau. En sélectionnant OK, je ne reçois plus le message d'erreur lorsque je lance mon serveur.

Après quelques expériences, j'ai découvert qu'avec un port de 5 000 ou moins, l'erreur JVM_Bind était générée. Tout port de 5001 ou plus lierait sans problème.

3
efelton

J'ai eu le même problème. J'ai utilisé process-xp et kill javaw.exe, puis redémarrez l'application. Ça marche pour moi.

3

J'avais ce problème avec mon Tomcat et cela s'est avéré être un conflit de ports avec Skype. Dans Skype-> Options-> Avancé-> Connexion, j'ai décoché ce qui suit "Utilisez les ports 80 et 443 comme alternatives pour les connexions entrantes". Cela a complètement résolu le problème.

2
Artem Khojoyan

cela a résolu mon problème :) Ajoutez l'option JVM suivante: -Djava.net.preferIPv4Stack = true

2
niknik123

C'est un problème de Java 32/64 bits. essayez de lancer votre jar avec JVM 32 bits

2
Kobi

J'ai eu le même problème avec Tomcat sous Windows 10. J'ai ajouté ceci au fichier catalina.bat situé tout en haut:

SET Java_OPTS=-Djava.net.preferIPv4Stack=true
1
mmeiners

Je sais qu’il s’agit d’un problème ancien, mais j’ai récemment découvert une cause, ainsi que la solution. Mon programme de socket serveur a bien fonctionné jusqu'à ce que je mette le code dans une boucle, puis l'erreur Unrecognized Windows Sockets error: 0: JVM_Bind apparaît à chaque tentative de accept() après la première tentative. J'ai eu le code comme ceci:

ServerSocket ssock = null;
Socket sock = null;

while (loopCount < loopLimit) {
    ssock = new ServerSocket(port);
    ssock.setSOLimit(millis);
    sock = ssock.accept();
    // some code here...
    loopCount++;
}

Ce n'est que lorsque j'ai placé ssock = new ServerSocket(port) et ssock.setSOLimit(millis); au-dessus de la boucle que j'ai éliminé l'erreur.

1
JCoop

ouvrir la commande Invite en tant qu'administrateur. Puis faites un netsh winsock reset

0
Pijush