Erreur interne de Servlet (500)

Bonjour,
nous rencontrons des difficultés sur notre scenari serveur (4.1). Lors de l’ajout de nouvel item ou l’enregistrement d’un item modifié, il indique erreur interne de Servlet (500).
Avez-vous une piste pour résoudre ce problème?
Merci,
Katia

Bonjour Katia,

Une des pistes probables : un disque plein…

Tu peux commencer par vérifier cela ?

Si c’est pas ça, les logs coté serveur donneront plus d’informations.

Antoine

Kelis

https://forums.scenari.org/t/erreur-interne-de-servlet-500/510/1 Visiter sujet ou répondre à ce courriel pour répondre.

Pour ne plus recevoir de notifications pour ce sujet, https://forums.scenari.org/t/erreur-interne-de-servlet-500/510/unsubscribe cliquez ici. Pour ne plus recevoir ces courriels, visitez vos https://forums.scenari.org/my/preferences préférences utilisateur.

Bonjour Antoine,
merci pour ton aide.
On a vérifié et le disque n’est pas plein. On a ensuite regardé les logs, mais on ne comprend pas grand chose, tu peux nous aider ?

Merci et à bientôt,
Katia

Voici les logs :
::1 - - [13/Apr/2016:10:33:02 +0200] « GET /scenariserver4.1/s/chain/~ivano.azzarone/u/ping HTTP/1.1 » 200 -
::1 - - [13/Apr/2016:10:33:03 +0200] « PUT /scenariserver4.1/s/chain/~ivano.azzarone/u/wspDav/uXDYPIwHjGGriAdaW1xdmf/grain_02454.xml HTTP/1.1 » 500 1068
10:34 1— Info : Wed Apr 13 10:34:12 CEST 2016 - ivano.azzarone (http-apr-8080-exec-9) —
Error Response : 500 - Internal Server Error

1— Exception : Wed Apr 13 10:34:12 CEST 2016 - ivano.azzarone (http-apr-8080-exec-9) —
java.lang.NullPointerException
at eu.scenari.orient.recordstruct.lib.tree.ValueTreeRake.loadNode(ValueTreeRake.java:168)
at eu.scenari.orient.tree.impl.RSTreeRake.getNode(RSTreeRake.java:58)
at eu.scenari.orient.tree.impl.RSTreeRake.findSlot(RSTreeRake.java:255)
at eu.scenari.orient.tree.impl.RSTreeRake.findSlot(RSTreeRake.java:255)
at eu.scenari.orient.tree.impl.RSTree.get(RSTree.java:276)
at eu.scenari.orient.tree.impl.RSTreeRWLock.get(RSTreeRWLock.java:184)
at eu.scenari.orient.manager.blob.impl.BlobDbMgr$BlobBuilder$BlobOutput.dedupe(BlobDbMgr.java:145)
at eu.scenari.orient.manager.blob.impl.BlobDbMgr$BlobBuilder$BlobOutput$1.call(BlobDbMgr.java:134)
at eu.scenari.orient.manager.blob.impl.BlobDbMgr$BlobBuilder$BlobOutput$1.call(BlobDbMgr.java:130)
at com.orientechnologies.orient.core.storage.OStorageAbstract.callInLock(OStorageAbstract.java:167)
at com.orientechnologies.orient.core.db.ODatabaseWrapperAbstract.callInLock(ODatabaseWrapperAbstract.java:310)
at eu.scenari.orient.manager.blob.impl.BlobDbMgr$BlobBuilder$BlobOutput.close(BlobDbMgr.java:130)
at java.io.FilterOutputStream.close(FilterOutputStream.java:160)
at eu.scenari.orient.recordstruct.lib.base.ValueBlob$2.close(ValueBlob.java:239)
at java.io.FilterOutputStream.close(FilterOutputStream.java:160)
at eu.scenari.wspodb.stateless.src.StatelessSrcNode$ContentOutputStream.close(StatelessSrcNode.java:150)
at java.io.FilterOutputStream.close(FilterOutputStream.java:160)
at eu.scenari.wspodb.wsp.src.OdbWritableSrcNode$ContentOutputStream.access$001(OdbWritableSrcNode.java:96)
at eu.scenari.wspodb.wsp.src.OdbWritableSrcNode$ContentOutputStream$1.execute(OdbWritableSrcNode.java:133)
at eu.scenari.orient.utils.OptimisticUpdateAbstract.call(OptimisticUpdateAbstract.java:73)
at eu.scenari.orient.utils.OptimisticUpdateAbstract.callThis(OptimisticUpdateAbstract.java:110)
at eu.scenari.wspodb.wsp.src.OdbWritableSrcNode$ContentOutputStream.close(OdbWritableSrcNode.java:123)
at com.scenari.src.feature.streams.SrcFeatureStreams.writeFrom(SrcFeatureStreams.java:173)
at com.scenari.m.bdp.item.fs.HContentAccessFs.hWrite(HContentAccessFs.java:363)
at com.scenari.m.bdp.module.save.HModuleSave.hSaveItem(HModuleSave.java:129)
at com.scenari.m.bdp.item.fs.WspSrcNodeItem.writeFrom(WspSrcNodeItem.java:463)
at com.scenari.src.feature.streams.SrcFeatureStreams.writeFrom(SrcFeatureStreams.java:166)
at eu.scenari.core.service.srcdav.SvcSrcDavDialog.xDoPut(SvcSrcDavDialog.java:315)
at eu.scenari.core.webdav.WebdavDialogBase.xExecuteDialog(WebdavDialogBase.java:252)
at eu.scenari.core.dialog.DialogBase.executeDialog(DialogBase.java:90)
at eu.scenari.core.execframe.httpservlet.servlets.ServletService.service(ServletService.java:154)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
at org.apache.tomcat.util.net.AprEndpoint$SocketWithOptionsProcessor.run(AprEndpoint.java:1728)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:701)

Bonjour Katia,

Vous avez un problème d’intégrité de la base, peut-être lié à un crash
du serveur.
Le plus simple est de repartir de votre dernier backup.

Sylvain

Bonjour Sylvain,
merci pour ta réponse !
Avant de repartir du dernier backup, est-ce que dans l’adminsitration avancée, le bouton « reconstruire » les références de la BDD pourrait être une solution?
Merci et à bientôt,
Katia

Non, ca ne résoudra pas le pb.
Si tu dispose d’un accès avec un rôle administrateur, tu peux essayer une requête de type :
[url d'accès à ton server]/s/chain/u/adminOdb?cdaction=Rebuild

1 « J'aime »

Bonjour Sylvain,
Merci!!! On a utilisé ta requête et tout semble fonctionner normalement.
A bientôt,
Katia

Bonjour Katia,

En complément, pour vérifier la bonne santé de la base de donnée et ainsi valider cette solution, je te conseil d’exécuter le service :

[url d’accès à ton server]/s/chain/u/u/adminOdb?cdaction=CheckStorage

Si le code de retour est 200, c’est que tout est ok. Sinon, le fichier de log de l’application indiquera les erreurs identifiées.

Antoine

https://forums.scenari.org/t/erreur-interne-de-servlet-500/510/7 Visiter sujet ou répondre à ce courriel pour répondre.

Pour ne plus recevoir de notifications pour ce sujet, https://forums.scenari.org/t/erreur-interne-de-servlet-500/510/unsubscribe cliquez ici. Pour ne plus recevoir ces courriels, visitez vos https://forums.scenari.org/my/preferences préférences utilisateur.

Bonjour Antoine,
merci pour cette information complémentaire. Nous avons testé mais dommage, pas de code retour à 200 pour nous mais un retour peu compréhensible, pouvez-vous nous traduire ?
Merci ,
Katia

Voici le retour obtenu :

eu.scenari.commons.util.lang.ScException
at eu.scenari.commons.log.LogMgr.newException(LogMgr.java:385)
at eu.scenari.core.execframe.httpservlet.servlets.ServletService.service(ServletService.java:157)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1770)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:701)