Bonjour,

c'est un problème que j'ai depuis au moins 2 mois sur une application sur TOMCAT. le serveur tourne et au bout d'un temps X (entre 10 minutes et 10 jours) l'accès à la base (Mysql 5.0) via Hibernate (3.2.6) est bloqué. Pas de log d'erreur.
Donc j'ai ajouté des loggers et j'ai finit par trouver que le code bloquait sur les fonction "list" et sur tout les accès vers la base en général.
En utilisant Your kit Profiler j'ai pus trouver la pile d'appel et surtout ou les accés bloquaient

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
http-0.0.0.0-80-7 [BLOCKED] CPU time: 0:00
ch.qos.logback.classic.Logger.callAppenders(LoggingEvent)
ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(String, Marker, Level, String, Object[], Throwable)
ch.qos.logback.classic.Logger.filterAndLog(String, Marker, Level, String, Object[], Throwable)
ch.qos.logback.classic.Logger.log(Marker, String, int, String, Throwable)
org.apache.commons.logging.impl.SLF4JLocationAwareLog.debug(Object)
org.hibernate.jdbc.AbstractBatcher.logOpenPreparedStatement()
org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(String, boolean, ScrollMode)
org.hibernate.loader.Loader.prepareQueryStatement(QueryParameters, boolean, SessionImplementor)
org.hibernate.loader.Loader.doQuery(SessionImplementor, QueryParameters, boolean)
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(SessionImplementor, QueryParameters, boolean)
org.hibernate.loader.Loader.doList(SessionImplementor, QueryParameters)
org.hibernate.loader.Loader.listIgnoreQueryCache(SessionImplementor, QueryParameters)
org.hibernate.loader.Loader.list(SessionImplementor, QueryParameters, Set, Type[])
org.hibernate.loader.criteria.CriteriaLoader.list(SessionImplementor)
org.hibernate.impl.SessionImpl.list(CriteriaImpl)
org.hibernate.impl.CriteriaImpl.list()
...connector.hibernate.HibernateUtil.list(Criteria)
...connector.user.UserHibernateFactory.exist(String, String)
...manager.DomainUserManagerImpl.authenticateUser(String, String, String, boolean)
...domain.Authenticate.<init>(String, String, String, boolean)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ServletRequest, ServletResponse)
...servlet.filter.SetCharacterEncodingFilter.doFilter(ServletRequest, ServletResponse, FilterChain)
java.lang.Thread.run()
Voila c'est donc bloque sur ch.qos.logback.classic.Logger.callAppenders.
S'il vous plait, Quelqu'un a t'il une vague idée sur le sujet, je prend toutes les suggestions.
J'ai plusieurs piste mais rien jusque là n'a pus contrecarrer ce bug et je ne parviens pas à le provoquer.