Résolu Crash bukkit : A fatal error has been detected by the Java Runtime Environment

Splint

Gestion Serveur, Modding & Site.
20 Septembre 2011
50
3
3
28
Bonjour !
Aujourd'hui, je change d'hébergeur de mon serveur minecraft pour passer de myriapulse à bien plus puissant. Je transfère les plugins, les maps et autre sur le nouvel hébergeur.

Depuis quelque temps, dès qu'il y à au moins une personne de connecté sur le serveur, j'observe de façon aléatoire une erreur, qui fais crasher tout le serveur.
Ce n'est pas une erreur habituelle avec [WARNING] ou [SEVERE] mais plus étrange...

Code:
22.02 17:23:59 [Server] INFO # A fatal error has been detected by the Java Runtime Environment:
22.02 17:23:59 [Server] INFO #
22.02 17:23:59 [Server] INFO #  SIGSEGV (0xb) at pc=0x00007f70919f867d, pid=6908, tid=140121307141888
22.02 17:23:59 [Server] INFO #
22.02 17:23:59 [Server] INFO # JRE version: 7.0_04-b20
22.02 17:23:59 [Server] INFO # Java VM: Java HotSpot(TM) 64-Bit Server VM (23.0-b21 mixed mode linux-amd64 compressed oops)
22.02 17:23:59 [Server] INFO # Problematic frame:
22.02 17:23:59 [Server] INFO # J  net.minecraft.server.v1_4_R1.WorldServer.a(IIIIII)V
22.02 17:23:59 [Server] INFO #
22.02 17:23:59 [Server] INFO # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
22.02 17:23:59 [Server] INFO #
22.02 17:23:59 [Server] INFO # An error report file with more information is saved as:
22.02 17:23:59 [Server] INFO # /var/multicraft/servers/server91/hs_err_pid6908.log
22.02 17:23:59 [Server] INFO #
22.02 17:23:59 [Server] INFO # If you would like to submit a bug report, please visit:
22.02 17:23:59 [Server] INFO #  http://bugreport.sun.com/bugreport/crash.jsp

Voici le contenu du fichier d'erreur .log
http://pastebin.com/B3uNVD8J

Qu'est ce qui pourrait en être la cause ?
 
J'ai remarqué la présence dans le fichier .log de processus "PermissionEx" "Jobs" et de "LogBlock"

Je vais essayer avec les toutes dernières versions de ces plugins.
 
Pour un log de Bukkit, c'est assez étrange...

Au fait, quand tu parle de plus puissant, tu ne parlerais pas d'un serveur VPS par hasard ?
Ce n'est pas la première fois qu'un problème de ce type apparaît.

Voici deux choses que je te conseille de faire :
1. Vérifie que le serveur en question est compatible avec les serveurs de jeux
2. Essaye le serveur sans aucun plugin.
3. Vérifie que la version Bukkit de ton serveur est compatible avec le système du serveur ( Linux - Windows... )
4. Si le problème est toujours présent, contacte le plus rapidement possible le support technique de ton hébergeur afin d'avoir de l'aide ou des explications.
 
Je n'avais encore jamais vu cette erreur mais j'ai relevé quelques points qui peuvent peut-être t'aider :

- Tu es en java 7 update 4, actuellement la dernière version de java 7 est l'update 15. (bien que ça ne doit pas être la cause de ton erreur)

- La source de ton problème semble se trouver ici :
Code:
22.02 17:23:59 [Server] INFO # Problematic frame:
22.02 17:23:59 [Server] INFO # J net.minecraft.server.v1_4_R1.WorldServer.a(IIIIII)V
Il me semble que l'utilisation de variable 'a' se fait dans le craftbukkit.jar.
As-tu une carte, un joueur , un pnj ou autre qui se nomme IIIIII ?

- Tu sembles être en version 1.4_R1. Quelle est la version de ton craftbukkit.jar et de ton minecraft_server.jar ?(Sont-ils compatibles ?)

- On peut voir ici que tu as 2 Go de mémoire de base attribués à ton java, mais aussi 2 Go au maximum :
Code:
jvm_args: -Xmx2048M -Xms2048M
Quelle sont les caractéristiques de ton serveur ?
Vu que tu dis passer à bien plus puissant, 2 Go ça me parait un peu léger.

Sinon quelques questions diverses:
- Quel est ton hébergeur ?
- S'agit-il d'un serveur dédié ?
- As-tu tout installé, ou est-ce un serveur minecraft pré-installé ? (Je suppose pré-installé vu la présence de multicraft)
 
- Tu es en java 7 update 4, actuellement la dernière version de java 7 est l'update 15. (bien que ça ne doit pas être la cause de ton erreur)
ça peut être une cause, garder une veille version de java (qui a des failles) peut être dangereux pour son ordinateur et son environnement java.

- La source de ton problème semble se trouver ici :
Code:
22.02 17:23:59 [Server] INFO # Problematic frame:
22.02 17:23:59 [Server] INFO # J net.minecraft.server.v1_4_R1.WorldServer.a(IIIIII)V
Il me semble que l'utilisation de variable 'a' se fait dans le craftbukkit.jar.
As-tu une carte, un joueur , un pnj ou autre qui se nomme IIIIII ?
Rien à voir avec le nom d'un mob. Si on regarde cette fonction :
https://github.com/Bukkit/CraftBukk...va/net/minecraft/server/WorldServer.java#L188
c'est la fonction a dans la classe WorldServer, d'après la fonction IIIIII semble être un "EnumCreatureType", mais le quel, je sais pas. (c'est vraiment du n'importe quoi les noms sous bukkit ....) ou, ça peut être un "BiomeMeta"comme le BiomeMeta est "cast" à la méthode
Tu pourrai essayer de lancer ton serveur avec une autre save pour voir
Si ça marche avec une autre save, c'est que ta map est corrompu
Si ça ne marche toujours pas, vu que cette méthode fait appelle à "List" de java, et que le world est une des première chose chargé, il y a des chances que ton environnement java soit endommagé

- Tu sembles être en version 1.4_R1. Quelle est la version de ton craftbukkit.jar et de ton minecraft_server.jar ?(Sont-ils compatibles ?)
Il est en 1.4.6 ou 1.4.7, bukkit à déplacer ses classes dans 1.4_R1 depuis le build recommandé pour 1.4.6
 
  • J'aime
Reactions: Splint et Detobel36
@robin4002:
J'avais également remarqué que la variable 'a' du WorldServer.java était utilisée avec EnumCreatureType.
Mais sans vouloir te contre dire, il me semble que le WorldServer.java utilise la variable 'a' dans plusieurs fonctions.
De plus, IIIIII ne correspond pas au format utilisé par 'EnumCreatureType'.
Par contre 'list' comprend une variable 'I'.
Dis moi si je me trompe, je ne suis pas au point niveau moding.

Pour ce qui est du "nom" (attribut) IIIIII d'un éventuel pnj, un plugin tel que citizens, non à jour, ne pourrait-il pas provoquer une erreur d’adressage au chargement d'un chunk où le dit pnj se situe ?

Il est en 1.4.6 ou 1.4.7, bukkit à déplacer ses classes dans 1.4_R1 depuis le build recommandé pour 1.4.6
Merci je ne savais pas.
 
  • J'aime
Reactions: Splint
Dans le cas actuel, je pense que l'on peut écarter la piste de Java. Si c,ette erreur se retrouve à chaque fois qu'un joueur se connecte, cela ne peut pas venir de Java ( à moins de chaque personne ait une ancienne version de Java )

Pour ma part, si on a pas plus d'informations sur le serveur, on ne pourra pas grand chose à par examiner encore les logs de Bukkit.
 
@Eraklis
Dans le cas actuel, je pense que l'on peut écarter la piste de Java. Si c,ette erreur se retrouve à chaque fois qu'un joueur se connecte, cela ne peut pas venir de Java ( à moins de chaque personne ait une ancienne version de Java )
L'on parle du java serveur, la version du java client n'a rien à voir avec cette erreur.
 
Nouvelle erreur, ce n'est pas à chaque fois que quelqu'un se connecte, mais l'erreur ne se produit pas quand le serveur est vide.

Code:
25.02 13:21:22 [Server] INFO #
25.02 13:21:22 [Server] INFO # A fatal error has been detected by the Java Runtime Environment:
25.02 13:21:22 [Server] INFO #
25.02 13:21:22 [Server] INFO #  SIGSEGV (0xb) at pc=0x00007f1456cdfedd, pid=30953, tid=139725185578752
25.02 13:21:22 [Server] INFO #
25.02 13:21:22 [Server] INFO # JRE version: 7.0_04-b20
25.02 13:21:22 [Server] INFO # Java VM: Java HotSpot(TM) 64-Bit Server VM (23.0-b21 mixed mode linux-amd64 compressed oops)
25.02 13:21:22 [Server] INFO # Problematic frame:
25.02 13:21:22 [Server] INFO # j  net.minecraft.server.v1_4_R1.EntityTracker.updatePlayers()V+33
25.02 13:21:22 [Server] INFO #
25.02 13:21:22 [Server] INFO # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
25.02 13:21:22 [Server] INFO #
25.02 13:21:22 [Server] INFO # An error report file with more information is saved as:
25.02 13:21:22 [Server] INFO # /var/multicraft/servers/server91/hs_err_pid30953.log
25.02 13:21:22 [Server] INFO #
25.02 13:21:22 [Server] INFO # If you would like to submit a bug report, please visit:
25.02 13:21:22 [Server] INFO #  http://bugreport.sun.com/bugreport/crash.jsp
25.02 13:21:22 [Server] INFO #

Le contenu du .log
http://pastebin.com/uG7yT8Mq

Comme on peut voir, la source du problème n'est plus la même.
Nous étions 4/100 de connecté

Le changement d'hébergeur est "plus puissant" par rapport à ce que nous avions avant.
Nous sommes chez PulseHeberg, avec l'offre "Pulsecraft eXtreme 2kMo".
Ce n'est pas un VPS mais bien une offre Minecraft, avec le pannel Multicraft
Le serveur est très fluide, aucun problème, la ram utilisée est de 800/2048, ce qui laisse une bonne marge

Core i7 3.9GHz
2048 mo de ram
SSD 10Go

J'utilise la version 1.4.7 de craftbukkit "Recommandée"

Le serveur était pré installé, mais j'ai tout retiré (Les .jar de base et autre) pour réinstaller les fichiers. Je n'ai pas accès aux fichiers de Multicraft, seulement au FTP du serveur et au pannel multicraft.

J'inclus également le rapport de crash de minecraft:
http://pastebin.com/iKeGCLgC


EDIT: Depuis que j'ai cette erreur, la frame problématique est différente à chaque fois:

- # j net.minecraft.server.v1_4_R1.EntityTracker.updatePlayers()V+33
- # C [libc.so.6+0x7fa4b] memcpy+0x15b
- # J net.minecraft.server.v1_4_R1.WorldServer.a(IIIII)V
- # V [libjvm.so+0x6825c2] PhaseIdealLoop::build_loop_early(VectorSet&, Node_List&, Node_Stack&)+0xc2
- # J java.util.HashMap.transfer([Ljava/util/HashMap$Entry;)V
- # J net.minecraft.server.v1_4_R1.WorldServer.g()V
- # J net.minecraft.server.v1_4_R1.WorldServer.a(IIIIII)V
- # J net.minecraft.server.v1_4_R1.WorldServer.g()V


L'hébergeur m'à répondu
"C'est soit un plugin qui dysfonctionne, soit vous avez une version du serveur Minecraft mal modifiée."
Bien entendu, je n'ai pas modifié bukkit.

J'ai mis à jours tout mes plugins, mais je ne pense vraiment pas que cela soit ça, car cela marchais avant sur l'autre hébergeur.