Crash aléatoire de Bluemind

Bonjour à tous,

Depuis quelques mois, notre serveur Bluemind (version : 3.5.11-8) se met à planter de façon aléatoire.
Celui-ci devient inaccessible au moins une voir deux fois par semaine (Impossible de s’authentifier dessus, la page web affiche une erreur 500).
Le moyen auquel nous avons pensé est de le redémarrer chaque jour, mais c’est assez gênant.
Nous avons un serveur Dédié :

  • 8 cores
  • 32GB Ram
  • 2To de stockage

En terme d’utilisation, nous avons 72 utilisateurs et 79 groupes enregistrés.
D’autres personnes ont-ils rencontré ce problème? Car nous n’en voyons pas la cause.

Merci à vous

Salut,

tu pourrais préciser :

  • OS?
  • machine physique ou virtuelle?
  • si virtuelle, quelle techno?

Pascal

Bonjour,

Notre OS est Ubuntu 18.04
Il s’agit d’une machine physique

Michel

Bonjour,
Petite question, est-ce que c’est bien la page de mode maintenance avec le logo de BlueMind ?
Car de mon côté ça arrive régulièrement aussi mais de manière totalement aléatoire et que sur certains postes client (aléatoires aussi). Pour contourner le souci sans redémarrer les services de BM, il faut supprimer les cookies webmail… ça ne résous pas le problème à l’origine mais au moins les utilisateurs peuvent continuer à travailler…
A bientôt !
Ilian

Bonjour,

Nous avons bien une page avec le logo Bluemind nous faisant un “Internal Error”. Du coup aucun de nos utilisateurs ne peux accéder à sa messagerie.
Nous n’avons pas tenté de supprimer les cookies du webmail, nous essaierons si besoin. Mais notre objectif principal est de trouver la nature du problème car cela devient rapidement gênant pour nos utilisateurs.
Merci à vous,

Michel

Bonjour
J’ai deja constaté des freez aléatoires (sous Ubuntu / Debian) qui, parfois, été lié à des erreurs d’écritures/écritures sur les disques (comme des kernel panic / i/o error) à regarder dans les logs ; il faudrait vérifier ton RAID et regarder si un disque n’est pas dégradé ou en panne imminente

Bonjour,

Aucun soucis question disques, j’ai fait un test dessus et tout est bon.

[quote=michelatwassa]Bonjour,

Nous avons bien une page avec le logo Bluemind nous faisant un “Internal Error”. Du coup aucun de nos utilisateurs ne peux accéder à sa messagerie.
Nous n’avons pas tenté de supprimer les cookies du webmail, nous essaierons si besoin. Mais notre objectif principal est de trouver la nature du problème car cela devient rapidement gênant pour nos utilisateurs.
Merci à vous,

Michel[/quote]
Bonjour,
De notre côté nous avons créé un ticket chez notre intégrateur qui reste sans solution pour le moment. La suppression des cookies n’est bien qu’un moyen de redonner la possibilité à nos utilisateurs de consulter leurs messages…

Bonjour,

Pour le moment, le soucis n’est pas revenu. Je vois bien que supprimer les cookies du Webmail permet juste d’assurer la disponibilité du serveur mail. Mais nous aimerions vraiment trouver la nature de ce crash. Une personne de chez Bluemind pourrait-elle nous aider?

Merci

Michel

[quote=michelatwassa]Bonjour,

Pour le moment, le soucis n’est pas revenu. Je vois bien que supprimer les cookies du Webmail permet juste d’assurer la disponibilité du serveur mail. Mais nous aimerions vraiment trouver la nature de ce crash. Une personne de chez Bluemind pourrait-elle nous aider?

Merci

Michel[/quote]
+1 ! C’est clair que même si jamais l’origine n’est pas “grave” c’est très très bloquant pour les utilisateurs. Et comme tous les problèmes aléatoires, c’est casse tête !!

Disons que ça survient aléatoirement, donc le problème est que parfois il s’agit d’un samedi. Nous n’avons pas forcément le matériel pour nous connecter au serveur le week-end. Donc ça peut arriver que nous avons tout un week-end sans messagerie, ce qui est très embêtant pour nos utilisateurs.

Bonjour,
Si le serveur plante, vous devez avoir des informations dans les logs. Avez-vous regardé, trouvé des exceptions, tenté de comprendre ce qu’il pouvait se passer ?
Voici les fichiers de logs BlueMind : https://forge.bluemind.net/confluence/display/BM35/Logs±+Fichiers+journaux

Bonjour,

J’ai tenté de regarder les logs qui furent bien nombreux, mais malheureusement sans succès pour trouver l’origine du problème. Pour le moment Bluemind n’a pas crashé, mais la prochaine fois je regarderai davantage et je partagerai alors ceux-ci directement ici.

Bonjour,

Aujourd’hui, notre serveur Bluemind n’était plus accessible et a généré un fichier hprof. Dans ce fichier, l’erreur est la suivante : The class “net.bluemind.system.importation.commons.pool.LdapPoolByDomain”, loaded by “net.bluemind.system.importation.commons”, occupies 903,751,544 (86.37%) bytes. The memory is accumulated in one instance of “java.util.concurrent.ConcurrentHashMap$Node]” loaded by “”.

Comment est-ce possible que notre process LDAP puisse utiliser autant de mémoire?
Notre serveur en possédant 32GB, est-il possible d’augmenter cette valeur?

Merci à Vous

Dans les logs node.log, je trouve ce log qui me semble inquiétant :
2019-07-16 15:23:11,990 [vert.x-eventloop-thread-8] n.b.n.s.t.HprofMonitor ERROR - hprofs detected.

Celui-ci se répète sans cesse.

Bonjour,

Même problème ici, également en version 3.5.11-8 sur Debian 9 virtualisé. 2vCPU, 8Go de RAM, 2 utilisateurs / 10 boites mails.

Des erreurs 500, obligé de redémarrer le serveur.

Extrait du core.log, même erreur toutes les minutes en cas de plantage :

2019-07-17 13:56:31,774 [vert.x-worker-thread-7] n.b.p.x.i.ConnectionPool ERROR - pingMutex: could not grab lock.
2019-07-17 13:56:31,775 [vert.x-worker-thread-7] n.b.s.s.i.SystemConfiguration ERROR - error retrieving system configuration from database
java.lang.NullPointerException: null
at net.bluemind.pool.xa.impl.ConnectionPool.getConnection(ConnectionPool.java:205)
at net.bluemind.pool.xa.impl.DataSource.getConnection(DataSource.java:95)
at net.bluemind.core.jdbc.JdbcAbstractStore.getConnection(JdbcAbstractStore.java:431)
at net.bluemind.core.jdbc.JdbcAbstractStore.select(JdbcAbstractStore.java:71)
at net.bluemind.core.jdbc.JdbcAbstractStore.unique(JdbcAbstractStore.java:143)
at net.bluemind.system.persistance.SystemConfStore.get(SystemConfStore.java:49)
at net.bluemind.system.service.internal.SystemConfiguration.getValues(SystemConfiguration.java:78)
at net.bluemind.system.service.internal.InstallationService.getVersion(InstallationService.java:255)
at net.bluemind.scheduledjob.scheduler.impl.JobSchedulerVerticle.versionMismatch(JobSchedulerVerticle.java:93)
at net.bluemind.scheduledjob.scheduler.impl.JobSchedulerVerticle.isDisabled(JobSchedulerVerticle.java:80)
at net.bluemind.scheduledjob.scheduler.impl.JobSchedulerVerticle.executeJobs(JobSchedulerVerticle.java:66)
at net.bluemind.scheduledjob.scheduler.impl.JobSchedulerVerticle$1.handle(JobSchedulerVerticle.java:60)
at net.bluemind.scheduledjob.scheduler.impl.JobSchedulerVerticle$1.handle(JobSchedulerVerticle.java:1)
at org.vertx.java.core.impl.DefaultVertx$InternalTimerHandler.run(DefaultVertx.java:432)
at org.vertx.java.core.impl.DefaultContext$3.run(DefaultContext.java:175)
at org.vertx.java.core.impl.DefaultContext$3.run(DefaultContext.java:175)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:748)
2019-07-17 13:56:31,775 [vert.x-worker-thread-7] n.b.s.s.i.SystemConfiguration WARN - Trying loading 3.0 bminfo
2019-07-17 13:56:36,775 [vert.x-worker-thread-7] n.b.p.x.i.ConnectionPool ERROR - pingMutex: could not grab lock.
2019-07-17 13:56:36,775 [vert.x-worker-thread-7] n.b.s.s.i.InstallationService INFO - error retrieving database version : Fail to fetch system configuration
net.bluemind.core.api.fault.ServerFault: Fail to fetch system configuration
at net.bluemind.system.service.internal.SystemConfiguration.getValues(SystemConfiguration.java:91)
at net.bluemind.system.service.internal.InstallationService.getVersion(InstallationService.java:255)
at net.bluemind.scheduledjob.scheduler.impl.JobSchedulerVerticle.versionMismatch(JobSchedulerVerticle.java:93)
at net.bluemind.scheduledjob.scheduler.impl.JobSchedulerVerticle.isDisabled(JobSchedulerVerticle.java:80)
at net.bluemind.scheduledjob.scheduler.impl.JobSchedulerVerticle.executeJobs(JobSchedulerVerticle.java:66)
at net.bluemind.scheduledjob.scheduler.impl.JobSchedulerVerticle$1.handle(JobSchedulerVerticle.java:60)
at net.bluemind.scheduledjob.scheduler.impl.JobSchedulerVerticle$1.handle(JobSchedulerVerticle.java:1)
at org.vertx.java.core.impl.DefaultVertx$InternalTimerHandler.run(DefaultVertx.java:432)
at org.vertx.java.core.impl.DefaultContext$3.run(DefaultContext.java:175)
at org.vertx.java.core.impl.DefaultContext$3.run(DefaultContext.java:175)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException: null
at net.bluemind.pool.xa.impl.ConnectionPool.getConnection(ConnectionPool.java:205)
at net.bluemind.pool.xa.impl.DataSource.getConnection(DataSource.java:95)
at net.bluemind.core.jdbc.JdbcAbstractStore.getConnection(JdbcAbstractStore.java:431)
at net.bluemind.core.jdbc.JdbcAbstractStore.select(JdbcAbstractStore.java:71)
at net.bluemind.core.jdbc.JdbcAbstractStore.select(JdbcAbstractStore.java:57)
at net.bluemind.system.persistance.SystemConfStore.get30(SystemConfStore.java:64)
at net.bluemind.system.service.internal.SystemConfiguration.getValues(SystemConfiguration.java:84)
… 13 common frames omitted
2019-07-17 13:56:41,776 [vert.x-worker-thread-7] n.b.p.x.i.ConnectionPool ERROR - pingMutex: could not grab lock.
2019-07-17 13:56:41,776 [vert.x-worker-thread-7] n.b.s.s.i.InstallationService INFO - error retrieving database version : null
java.lang.NullPointerException: null
at net.bluemind.pool.xa.impl.ConnectionPool.getConnection(ConnectionPool.java:205)
at net.bluemind.pool.xa.impl.DataSource.getConnection(DataSource.java:95)
at net.bluemind.core.jdbc.JdbcAbstractStore.getConnection(JdbcAbstractStore.java:431)
at net.bluemind.core.jdbc.JdbcAbstractStore.select(JdbcAbstractStore.java:71)
at net.bluemind.core.jdbc.JdbcAbstractStore.select(JdbcAbstractStore.java:57)
at net.bluemind.system.persistance.SchemaVersionStore.getComponentsVersion(SchemaVersionStore.java:81)
at net.bluemind.system.service.internal.InstallationService.getComponentsVersion(InstallationService.java:274)
at net.bluemind.system.service.internal.InstallationService.getVersion(InstallationService.java:261)
at net.bluemind.scheduledjob.scheduler.impl.JobSchedulerVerticle.versionMismatch(JobSchedulerVerticle.java:93)
at net.bluemind.scheduledjob.scheduler.impl.JobSchedulerVerticle.isDisabled(JobSchedulerVerticle.java:80)
at net.bluemind.scheduledjob.scheduler.impl.JobSchedulerVerticle.executeJobs(JobSchedulerVerticle.java:66)
at net.bluemind.scheduledjob.scheduler.impl.JobSchedulerVerticle$1.handle(JobSchedulerVerticle.java:60)
at net.bluemind.scheduledjob.scheduler.impl.JobSchedulerVerticle$1.handle(JobSchedulerVerticle.java:1)
at org.vertx.java.core.impl.DefaultVertx$InternalTimerHandler.run(DefaultVertx.java:432)
at org.vertx.java.core.impl.DefaultContext$3.run(DefaultContext.java:175)
at org.vertx.java.core.impl.DefaultContext$3.run(DefaultContext.java:175)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:748)
2019-07-17 13:56:41,776 [vert.x-worker-thread-7] n.b.s.s.i.JobSchedulerVerticle INFO - No db version
2019-07-17 13:56:41,776 [vert.x-worker-thread-7] n.b.s.s.i.JobSchedulerVerticle WARN - core jobs are disabled

En cas de plantage j’ai vérifié, postegresql est bien lancé.

Bonjour,

Maintenant j’obtiens quelque chose de très étrange. Après que le login plante aléatoirement, je constate que Bluemind suspend tout mes utilisateurs. Comment est-ce possible?

[quote=michelatwassa]Bonjour,

Aujourd’hui, notre serveur Bluemind n’était plus accessible et a généré un fichier hprof. Dans ce fichier, l’erreur est la suivante : The class “net.bluemind.system.importation.commons.pool.LdapPoolByDomain”, loaded by “net.bluemind.system.importation.commons”, occupies 903,751,544 (86.37%) bytes. The memory is accumulated in one instance of “java.util.concurrent.ConcurrentHashMap$Node]” loaded by “”.

Comment est-ce possible que notre process LDAP puisse utiliser autant de mémoire?
Notre serveur en possédant 32GB, est-il possible d’augmenter cette valeur?

Merci à Vous[/quote]

Pour l’import LDAP, assurez-vous que celui-ci s’exécute sans erreur, et en cas d’erreur d’import (un champ manquant / qui n’a pas le bon format pour être importé), corrigez la rapidement. En effet, tant qu’il échoue, il s’agit d’un import total, pas incrémental. Cela peut générer des opérations lourdes et ça augmente de façon massive les changelogs.

Votre dernière erreur s’explique par le fait qu’un utilisateur présent dans BlueMind mais qui n’est pas présent (ou pas vu par l’import) dans le LDAP est archivé.

Sur les logs de l’import, vous devrez trouver les causes de (ou des) erreurs.

[quote=bluealex]Bonjour,

Même problème ici, également en version 3.5.11-8 sur Debian 9 virtualisé. 2vCPU, 8Go de RAM, 2 utilisateurs / 10 boites mails.

Des erreurs 500, obligé de redémarrer le serveur.

Extrait du core.log, même erreur toutes les minutes en cas de plantage :

2019-07-17 13:56:31,774 [vert.x-worker-thread-7] n.b.p.x.i.ConnectionPool ERROR - pingMutex: could not grab lock.
2019-07-17 13:56:31,775 [vert.x-worker-thread-7] n.b.s.s.i.SystemConfiguration ERROR - error retrieving system configuration from database
java.lang.NullPointerException: null
2019-07-17 13:56:41,776 [vert.x-worker-thread-7] n.b.s.s.i.JobSchedulerVerticle INFO - No db version
2019-07-17 13:56:41,776 [vert.x-worker-thread-7] n.b.s.s.i.JobSchedulerVerticle WARN - core jobs are disabled

En cas de plantage j’ai vérifié, postegresql est bien lancé.[/quote]

C’est très probablement un autre problème. Là, la BD n’a pas l’air d’être trouvée.