Ciao a tutti,
In un vecchio microservizio ho recentemente aggiornato Tomcat embed dalla versione 8.5.98 alla 8.5.99. Dopo questa modifica l'applicazione non parte e rimane freezata. Ho guardato online la differenza fra le versioni
nel changelog ma non c'e' niente di significativo.
I log in TRACE di tomcat (8.5.99) dicono questo:
20 May 2024 11:57:18.598 | | DEBUG DirectJDKLog Setting state for [org.springframework.boot.context.embedded.tomcat.LazySessionIdGenerator@6e2c6916] to [INITIALIZING]
20 May 2024 11:57:18.598 | | DEBUG DirectJDKLog Setting state for [org.springframework.boot.context.embedded.tomcat.LazySessionIdGenerator@6e2c6916] to [INITIALIZED]
20 May 2024 11:57:18.598 | | DEBUG DirectJDKLog Setting state for [org.springframework.boot.context.embedded.tomcat.LazySessionIdGenerator@6e2c6916] to [STARTING_PREP]
20 May 2024 11:57:18.598 | | DEBUG DirectJDKLog Setting state for [org.springframework.boot.context.embedded.tomcat.LazySessionIdGenerator@6e2c6916] to [STARTING]
20 May 2024 11:57:18.598 | | DEBUG DirectJDKLog Setting state for [org.springframework.boot.context.embedded.tomcat.LazySessionIdGenerator@6e2c6916] to [STARTED]
20 May 2024 11:57:18.598 | | DEBUG DirectJDKLog Start: Loading persisted sessions
20 May 2024 11:57:18.598 | | DEBUG DirectJDKLog Loading persisted sessions from [SESSIONS.ser]
20 May 2024 11:57:18.598 | | DEBUG DirectJDKLog Persisted data file [/tmp/tomcat.8240640601731971624.8110/work/Tomcat/localhost/ROOT/SESSIONS.ser] was not found
20 May 2024 11:57:18.598 | | DEBUG DirectJDKLog Setting state for [StandardManager[StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]]] to [STARTING]
20 May 2024 11:57:18.598 | | DEBUG DirectJDKLog Setting state for [StandardManager[StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]]] to [STARTED]
20 May 2024 11:57:18.598 | | DEBUG DirectJDKLog Starting filters
20 May 2024 11:57:18.598 | | DEBUG DirectJDKLog Starting filter 'Tomcat WebSocket (JSR356) Filter'
20 May 2024 11:57:18.599 | | DEBUG DirectJDKLog Starting filter 'requestLoggingFilter'
20 May 2024 11:57:18.599 | | DEBUG GenericFilterBean Initializing filter 'requestLoggingFilter'
20 May 2024 11:57:18.601 | | DEBUG GenericFilterBean Filter 'requestLoggingFilter' configured successfully
20 May 2024 11:57:18.601 | | DEBUG DirectJDKLog Starting filter 'shallowEtagHeaderFilter'
20 May 2024 11:57:18.601 | | DEBUG GenericFilterBean Initializing filter 'shallowEtagHeaderFilter'
20 May 2024 11:57:18.601 | | DEBUG GenericFilterBean Filter 'shallowEtagHeaderFilter' configured successfully
20 May 2024 11:57:18.601 | | DEBUG DirectJDKLog Starting filter 'authFilter'
20 May 2024 11:57:18.601 | | DEBUG GenericFilterBean Initializing filter 'authFilter'
20 May 2024 11:57:18.602 | | DEBUG GenericFilterBean Filter 'authFilter' configured successfully
20 May 2024 11:57:18.602 | | DEBUG DirectJDKLog Starting filter 'characterEncodingFilter'
20 May 2024 11:57:18.602 | | DEBUG GenericFilterBean Initializing filter 'characterEncodingFilter'
20 May 2024 11:57:18.602 | | DEBUG GenericFilterBean Filter 'characterEncodingFilter' configured successfully
20 May 2024 11:57:18.602 | | DEBUG DirectJDKLog Starting completed
20 May 2024 11:57:18.602 | | DEBUG DirectJDKLog Setting state for [StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]] to [STARTING]
(qui si pianta per sempre, nessun altro log)
Se riporto alla v.8.5.98, tutto uguale nei log ma il server parte correttamente con questi log:
20 May 2024 12:03:59.612 | | DEBUG GenericFilterBean Filter 'characterEncodingFilter' configured successfully
20 May 2024 12:03:59.612 | | DEBUG DirectJDKLog Starting completed
20 May 2024 12:03:59.612 | | DEBUG DirectJDKLog Setting state for [StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]] to [STARTING]
20 May 2024 12:03:59.612 | | DEBUG DirectJDKLog Setting state for [StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]] to [STARTED]
20 May 2024 12:03:59.613 | | DEBUG DirectJDKLog Setting state for [Pipeline[StandardEngine[Tomcat].StandardHost[localhost]]] to [INITIALIZING]
20 May 2024 12:03:59.613 | | DEBUG DirectJDKLog Setting state for [Pipeline[StandardEngine[Tomcat].StandardHost[localhost]]] to [INITIALIZED]
20 May 2024 12:03:59.613 | | DEBUG DirectJDKLog Setting state for [Pipeline[StandardEngine[Tomcat].StandardHost[localhost]]] to [STARTING_PREP]
(continua e parte tutto correttamente)
I log di Tomcat sono gia' a "TRACE" (logging.level.org.apache.catalina=TRACE) e non so bene come debuggare oltre, a parte cominciare a smanettare con jstack/visualvm per vedere se trovo qualche deadlock. Idealmente i log di tomcat dovrebbero esser sufficienti ma, beh, no, non dicono molto :)
Se qualcuno ha idee, spari senza pieta'! Io vi tengo aggiornati se scopro qualcosa.
Ciao,
Bruno