web-dev-qa-db-fra.com

Comment puis-je dépanner l'erreur "Incohérence détectée: dl-lookup.c: 111" (résultat Java 127)?

J'essaie actuellement de construire un projet Java utilisant Maven pour un jeu sur lequel je travaille.

Une poussée récente vers notre référentiel par un autre utilisateur a interrompu la construction pour moi, mais pas pour les autres utilisateurs.

Aucune modification n'a été apportée à Pom.xml dans les versions récentes et mon environnement Java est resté cohérent.

J'utilise Java 8 OpenJDK (1.8.0_211) sur une distribution Ubuntu 18.04 LTS.

Le référentiel maven est capable de se compiler avec succès, mais lorsque j'essaie d'exécuter le code en utilisant notre build prédéterminé (mvn integration-test -Pdesktop), je reçois un Build Success, quelques erreurs et aucun lancement d'application.

J'ai regardé sur les forums Linux, mais je n'ai pas pu trouver de cas similaires.

Les options normales de débogage Maven n'ont fourni aucune indication initiale du problème que je reconnais.

J'ai examiné plusieurs questions de débordement de pile, y compris débogage ld, "incohérence détectée par ld.so" mais je ne sais pas par où commencer avec les commentaires suggérés et si cela est viable pour mon cas.

J'ai regardé le Java Code d'erreur 127, qui suggère qu'une ressource ne peut pas être trouvée sur mon CLASSPATH. Est-ce correct et comment puis-je identifier la ressource manquante sur ce qui semble être un succès construire?

L'erreur est la suivante.

 [Java] Inconsistency detected by ld.so: dl-lookup.c: 111: check_match: Assertion `version->filename == NULL || ! _dl_name_match_p (version->filename, map)' failed!
[Java] Java Result: 127

En cas de succès, je m'attends à ce que la version rapporte un succès et lance le jeu. En cas d'échec, je m'attendais à ce que la build signale un échec, mais à la place, je vois un succès de build sans le lancement de l'application LibGDX.

La version est actuellement en cours d'exécution pour les utilisateurs d'autres plates-formes.

10
Jack

Rétrograder vers OpenJDK 8

J'ai eu le même problème dans Xubuntu 18.04 avec Eclipse 2018-12 (4.10.0). Cela fonctionnait bien, mais probablement une mise à jour dans le système (ou vers OpenJDK spécifiquement) a commencé ce problème. De plus, les tâches Gradle n'apparaissaient pas dans la fenêtre Gradle.

J'ai résolu le problème de suppression des packages: default-jre, default-jdk, default-jre-headless, default-jdk-headless, tous "pointent vers" openjdk-11.

Ensuite, j'ai installé des packages: openjdk-8-jre, openjdk-8-jdk, openjdk-8-jre-headless et openjdk-8-jdk-headless.

Changement de Eclipse.ini dans la section vm en: -vm/usr/lib/jvm/Java-8-openjdk-AMD64/bin

Et maintenant tout fonctionne bien, et les tâches Gradle sont de nouveau visibles. Pour clarifier, j'utilise également LibGDX.

11
snesgx