Process tomcat absent et Time Zone en UTC

Bonjour,

Bizarrement, pour la 2ième fois en deux semaines, l’accès à l’instance immorecette est impossible à cause de l’absence du process tomcat.

Je l’ai redémarré et l’accès à l’instance est à nouveau disponible.


Auriez-vous une idée pourquoi ce process s’arrête aussi fréquemment ? (Nous n’avions jamais eu ces symptômes dans le passé)

Je ne sais pas si c’est lié, mais je constate que le time zone est passé à UTC, aurais-je oublié un paramètre lors du run.sh de tomcat ?

Merci d’avance pour votre aide.

Abed.

Pour investiguer un plantage Tomcat il faut regarder les logs avant de le redémarrer.

Pour le reste si on parle d’une instance gérée par le SIM, le “run.sh” n’a strictement aucune raison d’être utilisé.

On ne redémarre pas Tomcat comme cela sur le SIM. Il faut utiliser :

sim tomcat stop|start|debug

cf. https://docs.simplicite.io/documentation/90-operation/manager.md

Merci @david.
Je l’ai redémarré via le sim et tout est Ok.
Je regarderai la log la prochaine fois avant de le redémarrer.
Bonne journée.
Abed.

Bonjour @david,

Nous avons à nouveau le même pb (process tomcat absent) mais cette fois-ci, dans l’instance de dev « conjonctiondev » pour la première fois.

Avant de démarrer le process, j’essaie de regarder dans les logs (/home/conjonctiondev/tomcat/logs) pour voir quelle serait la cause.

Voici les dernières lignes enregistrées dans le dernièr log « localhost_access_log.2019-03-21.txt » :

0:0:0:0:0:0:0:1 - - [21/Mar/2019:11:12:25 +0100] "POST /ui/json/obj?action=get&object=Script&inst=the_ajax_Script&inline_documents=true HTTP/1.1" 200 135962
127.0.0.1 - - [21/Mar/2019:11:13:09 +0100] "GET /ui/editor?nav=hide&action=tab&key=ObjectInternal.obo_script_id.2094 HTTP/1.1" 200 5
0:0:0:0:0:0:0:1 - - [21/Mar/2019:11:13:09 +0100] "POST /ui/json/obj?action=get&object=ObjectInternal&inst=the_ajax_ObjectInternal&inline_documents=true HTTP/1.1" 200 55720
127.0.0.1 - - [21/Mar/2019:11:13:23 +0100] "POST /ui/json/app?action=setsysparam HTTP/1.1" 200 42

Je ne voie rien d’anormal, ou j’interprète mal ces lignes, ou je ne regarde pas les bons logs.

Pourriez-vous me dire s’il y a d’autres logs à regarder ? où se trouvent ?

Merci d’avance pour votre aide.

Abed.

Bonjour Abed,

Les logs applicatives se trouvent dans tomcat/webapps/ROOT/WEB-INF/log/.

Cdt,

Et les logs tecchniques Tomcat sont le fichier tomcat/logs/catalina.out

L’access log Tomcat n’a pas beaucoup d’intéret à par savoir ce qui a été appelé avant le plantage

Merci @nathalie et @david pour vos retours.

Je ne trouve pas d’erreur dans simplicite.log dont voici les dernières lignes dedans :

2019-03-21 11:15:04,239 INFO  [com.simplicite.util.engine.ProcessScheduler] SIMPLICITE|http://e3m.simplicite.io:10118||ICORETM009|system|com.simplicite.util.engine.ProcessScheduler|manageDeadlockActivity||Paramètre système ACTIVITY_LOCK_LIMIT = 3600s
2019-03-21 11:15:04,242 INFO  [com.simplicite.util.CronJob] SIMPLICITE|http://e3m.simplicite.io:10118||ICORECM005|system|com.simplicite.util.CronJob|run||Résultat de la tâche deadlockActivity : 

Quant à catalina.out, il n’est pas à jour depuis le 17/03/19 et voici les dernière lignes :

17-Mar-2019 05:05:25.901 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-10113"]
17-Mar-2019 05:05:25.914 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [17,988] milliseconds
Exception in thread "http-nio-10113-exec-1" java.lang.OutOfMemoryError: Java heap space
	at java.util.Arrays.copyOf(Arrays.java:3332)
	at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:124)
	at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:448)

Donc je n’ai pour l’instant pas d’explication sur pourquoi le process tomcat de cette instance était absent.

Il y a t il autres choses que je puisse faire avant de redémarrer le processus (et accéder à l’instance) ?
Merci encore.
Abed.

L’explication est pourtant parfaitement claire dans les logs: java.lang.OutOfMemoryError

C’est donc le out of memory qui a fait que 4 jours après on a ce pb de process ?

  1. la cause du plantage Tomcat c’est le manque de mémoire
  2. la cause du manque de mémoire est sans doute à chercher dans votre paramétrage et/ou votre code

NB: Sur le SIM vous pouvez facilement augmenter la mémoire allouée à votre instance (dans les limites des ressources totales de la VM): à faire dans le fichier ~/.simplicite ou directement dans le fichier /etc/init.d/tomcat-<instance> pour les anciennes instances (+ un arrêt/relance de Tomcat pour que ce soit pris en compte). Mais ça ne corrigera pas la cause du pb, ça repoussera juste les conditions où il se produira…

Votre instance immorecette est en HSQLDB embedded, la base de données partage donc la mémoire de la JVM qui exécute Tomcat, la cause du out of memory est donc peut être aussi liée au volume de données utilisé et/ou au nombre de sessions simultanées, etc.

Comme déjà expliqué, une base de données HSQLDB embedded c’est à réserver à du DEV/TEST ou éventuellement à des applications manipulant un volume de donnés restreint