Erreur 500 sur /ping

Bonjour

Sur une installation récente de Scenari 4.2 faite avec les packages APT.
On a pu utiliser pendant 4 jours et suite à un arrêt violent du serveur ça ne fonctionne plus.

Le ping : http://srv-scenari:8080/scenariserver4.2/s/chain/u/ping

Fait l’erreur
Etat HTTP 500 -

type Rapport d’'exception

message

description Le serveur a rencontré une erreur interne qui l’'a empêché de satisfaire la requête.

exception

java.lang.NullPointerException
eu.scenari.core.execframe.httpservlet.servlets.ServiceServlet.service(ServiceServlet.java:77)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/8.0.32 (Ubuntu).

J’ai tenté d’exécuter: /s/chain/u/adminOdb?cdaction=Rebuild et /s/chain/u/adminOdb?cdaction=CheckStorage mais le problème n’est pas résolu.

Merci pour votre aide.

Cordialement

Il faut aller voir les logs de SCENARI dans /var/logs/scenariserver4.2/ pour comprendre.

Ci-dessous le contenu de : /var/log/scenariserver4.2/scenari_2016-11-28.log que j’ai pu trouver entre 2 restart de tomcat8

1— Info : Mon Nov 28 15:37:53 CET 2016 (localhost-startStop-1) —

Starting SCENARIserver 4.2.101 final (2016062817) on OpenJDK 64-Bit Server VM 1.8.0_111 25.111-b14 / Linux amd64

1— Info : Mon Nov 28 15:37:54 CET 2016 (localhost-startStop-1) —
OpenDocument editor not found.

1— Error : Mon Nov 28 15:37:56 CET 2016 (localhost-startStop-1) —
Init Scenari webapp in eu.scenari.core.execframe.httpservlet.servlets.InitAppContextListener failed

2— Error : Mon Nov 28 15:37:56 CET 2016 (localhost-startStop-1) —
Init application ‹ /etc/scenariserver4.2/universeInit.xml › failed.

3— Error : Mon Nov 28 15:37:56 CET 2016 (localhost-startStop-1) —
Error on parsing xml end element ‹ universe ›

4— Error : Mon Nov 28 15:37:56 CET 2016 (localhost-startStop-1) —
Check sum on db files failed for db : /var/lib/scenariserver4.2/data/db

5— Error : Mon Nov 28 15:37:56 CET 2016 (localhost-startStop-1) —
New file(s) found in current db : [index.0.oda, histo.0.ocl, default.och, default.odh, default.0.ocl, histo.och, internal.och, database.ocf, default.0.oda, index.0.ocl, internal.0.ocl, versions.0.ocl, _timestampSystem, index.och, roots.0.ocl, subrec.och, users.och, index.odh, users.0.ocl, roots.och, _timestamp, versions.och, subrec.0.ocl]

6— Exception : Mon Nov 28 15:37:56 CET 2016 (localhost-startStop-1) —
eu.scenari.commons.util.lang.ScException
at eu.scenari.orient.engine.DbDriver.acquireDatabase(DbDriver.java:404)
at eu.scenari.orient.engine.DbDriver.openThreadLocalDatabase(DbDriver.java:449)
at eu.scenari.userodb.UserOdbMgr.initUserMgr(UserOdbMgr.java:263)
at eu.scenari.userodb.UserOdbMgrLoader$1.onUniverseEvent(UserOdbMgrLoader.java:121)
at eu.scenari.core.universe.Universe.dispatchEvent(Universe.java:315)
at eu.scenari.core.universe.Universe.xInitEnd(Universe.java:441)
at eu.scenari.core.universe.UniverseLoader.xEndElement(UniverseLoader.java:201)
at eu.scenari.commons.util.xml.FragmentSaxHandlerBase.endElement(FragmentSaxHandlerBase.java:242)
at com.bluecast.xml.Piccolo.reportEndTag(Piccolo.java:824)
at com.bluecast.xml.PiccoloLexer.parseCloseTagNS(PiccoloLexer.java:1598)
at com.bluecast.xml.PiccoloLexer.parseTagNS(PiccoloLexer.java:918)
at com.bluecast.xml.PiccoloLexer.parseXMLNS(PiccoloLexer.java:867)
at com.bluecast.xml.PiccoloLexer.parseXML(PiccoloLexer.java:838)
at com.bluecast.xml.PiccoloLexer.yylex(PiccoloLexer.java:4040)
at com.bluecast.xml.Piccolo.yylex(Piccolo.java:951)
at com.bluecast.xml.Piccolo.yyparse(Piccolo.java:1039)
at com.bluecast.xml.Piccolo.parse(Piccolo.java:501)
at eu.scenari.xml.parser.PoolXmlReader$XXmlReader.parse(PoolXmlReader.java:109)
at eu.scenari.core.execframe.httpservlet.servlets.InitAppContextListener.contextInitialized(InitAppContextListener.java:143)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4812)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5255)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:585)
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1794)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

1— Error : Mon Nov 28 15:40:02 CET 2016 (http-nio-8080-exec-1) —
Init servlet failed : svcUiMoz

2— Error : Mon Nov 28 15:40:02 CET 2016 (http-nio-8080-exec-1) —
Universe ‹ null › not found.

3— Exception : Mon Nov 28 15:40:02 CET 2016 (http-nio-8080-exec-1) —
eu.scenari.commons.util.lang.ScException
at eu.scenari.commons.log.LogMgr.newException(LogMgr.java:388)
at eu.scenari.core.execframe.httpservlet.servlets.UniverseServletBase.xLookForUniverse(UniverseServletBase.java:135)
at eu.scenari.core.execframe.httpservlet.servlets.UniverseServletBase.init(UniverseServletBase.java:157)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1238)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1151)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:828)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:135)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)

1— Info : Mon Nov 28 15:40:41 CET 2016 (localhost-startStop-1) —

Starting SCENARIserver 4.2.101 final (2016062817) on OpenJDK 64-Bit Server VM 1.8.0_111 25.111-b14 / Linux amd64

1— Info : Mon Nov 28 15:40:42 CET 2016 (localhost-startStop-1) —
OpenDocument editor not found.

vous pouvez supprimer les fichiers _checkSum.txt du dossier /var/lib/scenariserver4.2/data/blobs_1 et /var/lib/scenariserver4.2/data/db et relancer Tomcat, mais votre DB est peut-être corrompue.

Ça fonctionne après suppression des 2 fichiers _checkSum.txt des dossiers /var/lib/scenariserver4.2/data/blobs1 et /var/lib/scenariserver4.2/data/db et relancer Tomcat.
Merci pour votre réactivité.

Bonjour,

Après ce type d’évènement (coupure brutale du serveur), un test de la bonne santé de la base de données s’impose.

Vous pouvez notamment interroger le service checkAuto (cf SCENARIchain-server).

Cdt

Antoine

Kelis

.

Bonjour,

Je rebondis sur le sujet parce que ça vient de nous arriver à la suite d’une coupure sur le serveur.

Quand je fais un checkAuto avec :
http://xxxxxxxxxx:8080/scenariserver4.2/s/u/adminOdb?cdaction=CheckAuto

J’obtiens un 401. C’est un vrai problème de droit ou une erreur sur les données ?

Merci

Bonjour,

Il faut consulter les logs serveur pour le savoir…

Cdt

Antoine

Kelis

Salut Mory,

Essaye plutôt « /web » (plus simple pour l’authentification):
http://xxxxxxxxxx:8080/scenariserver4.2/web/u/adminOdb?cdaction=CheckAuto

Salut Sylvain.

Merci c’est passé en effet.

Du coup, cette fois j’ai un 503 avec :

`<message type="Warning" thread="http-nio-8080-exec-3" ts="1492528040725" user="xxxxx" desc="Check db auto with warnings in 4212ms. See file: null"/>` 

J’imagine que c’est pas forcément bon signe…

Y’a un moyen d’obtenir plus de détails sur les warnings ?

Merci.

Bonjour Mory,

Comme indiqué dans mon précédent message, il faut regarder dans le fichier de log de la webApp.

Cdt

Antoine

Kelis

Je ne suis pas bien sûr des logs dont tu parles, mais j’ai checker ceux ci-dessous :

/var/log/scenariserver4.2/scenari_2017-04-18.log

1--- Warning : Tue Apr 18 17:29:23 CEST 2017 - admin (http-nio-8080-exec-2) ---
    Check db auto with warnings in 7942ms. See file: null 

et : /var/log/tomcat8/localhost_access_log.2017-04-18.txt

"GET /scenariserver4.2/web/u/adminOdb?cdaction=CheckAuto HTTP/1.1" 503 188

Du coup, je ne sais pas si je ne regarde pas au bon endroit ou s’il y a un paramètre dans la conf pour avoir un détail ou s’il y a des lignes de logs que je rate…

Merci

Ça se passe dans le fichier /var/log/scenariserver4.2/scenari_2017-04-18.log.

Il doit y avoir d’autres informations que la ligne copiée/collée, non ? Très certainement en amont, en dessous de la ligne mentionnant le démarrage du serveur.

Salut Antoine,

Donc j’ai flushé les logs et relancé le serveur ce matin. Je n’ai pas beaucoup plus d’infos…

1--- Info : Wed Apr 19 09:22:58 CEST 2017 (localhost-startStop-1) ---
================================================================================
Starting SCENARIserver 4.2.101 final (2016062817) on OpenJDK 64-Bit Server VM 1.7.0_111 24.111-b01 / Linux amd64


1--- Info : Wed Apr 19 09:22:59 CEST 2017 (localhost-startStop-1) ---
OpenDocument editor found by 'locate' in: /opt/libreoffice4.4/program


1--- Warning : Wed Apr 19 09:23:11 CEST 2017 - admin (http-nio-8080-exec-1) ---
Check db auto with warnings in 8755ms. See file: null

Y’a un endroit ou on peut spécifier le fichier dans lequel il peut écrire les résultats du checkAuto (rapport au "See file: null) ?

Merci

Il doit y avoir un problème de config (absence de path configuré) qui
fait que le fichier d’erreur n’est pas produit. On va regarder.

Tu peux à la place lancer :

http://xxxxxxxxxx:8080/scenariserver4.2/web/u/adminOdb?cdaction=CheckRefIntegrity

Tu auras les erreurs directement. (CheckAuto est fait pour sonder la
base toutes les nuits par exemple).

Mais le message donne déjà l’indication que ce ne sont que des « warnings », pas des « errors ». Donc rien de très grave en principe, ta base devrait être utilisable sans soucis majeurs.

Ok merci pour toutes ces infos.