Details
-
Bug
-
Resolution: Fixed
-
Major
-
1.9
-
None
-
None
Description
Nexus hangs on boot, but actually it's SISU that hangs, like deadlocks or so. One of our 1.9-M1 user have following problems (visible in this wrapper.log below): his Nexus 1.9-M1 "bounces" on startup, it "freezes" on line "Starting the Plexus Container.", ultimately JSW kills it (boot timeout), and all starts again (another bounce + freeze + kill...).
wrapper | Launching a JVM... jvm 1 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org jvm 1 | Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved. jvm 1 | jvm 1 | 2011-01-22 15:26:50 INFO [er_start_runner] - o.s.a.AppContext - Property "nexus-work"="/home/swfnexus/nexus-professional-webapp-1.9-M1/./../data" inserted into AppContext. jvm 1 | 2011-01-22 15:26:50 INFO [er_start_runner] - o.s.a.AppContext - Property "webapp"="/home/swfnexus/nexus-professional-webapp-1.9-M1/./runtime/apps/nexus/webapp" inserted into AppContext. jvm 1 | 2011-01-22 15:26:50 INFO [er_start_runner] - o.s.a.AppContext - Property "runtime-tmp"="/home/swfnexus/nexus-professional-webapp-1.9-M1/./runtime/tmp" inserted into AppContext. jvm 1 | 2011-01-22 15:26:50 INFO [er_start_runner] - o.s.a.AppContext - Property "branding.image.path"="/home/swfnexus/nexus-professional-webapp-1.9-M1/./../data/logo-eXo.png" inserted into AppContext. jvm 1 | 2011-01-22 15:26:50 INFO [er_start_runner] - o.s.a.AppContext - Property "webapp-context-path"="/" inserted into AppContext. jvm 1 | 2011-01-22 15:26:50 INFO [er_start_runner] - o.s.a.AppContext - Property "runtime"="/home/swfnexus/nexus-professional-webapp-1.9-M1/./runtime" inserted into AppContext. jvm 1 | 2011-01-22 15:26:50 INFO [er_start_runner] - o.s.a.AppContext - Property "application-port"="20010" inserted into AppContext. jvm 1 | 2011-01-22 15:26:50 INFO [er_start_runner] - o.s.a.AppContext - Property "application-host"="127.0.0.1" inserted into AppContext. jvm 1 | 2011-01-22 15:26:50 INFO [er_start_runner] - o.s.a.AppContext - Property "application-conf"="/home/swfnexus/nexus-professional-webapp-1.9-M1/./../data/conf" inserted into AppContext. jvm 1 | 2011-01-22 15:26:50 INFO [er_start_runner] - o.s.a.AppContext - Property "nexus-app"="/home/swfnexus/nexus-professional-webapp-1.9-M1/./runtime/apps/nexus" inserted into AppContext. jvm 1 | 2011-01-22 15:26:50 INFO [er_start_runner] - o.s.a.AppContext - Property "apps"="/home/swfnexus/nexus-professional-webapp-1.9-M1/./runtime/apps" inserted into AppContext. jvm 1 | 2011-01-22 15:26:50 INFO [er_start_runner] - o.s.a.AppContext - Property "security-xml-file"="/home/swfnexus/nexus-professional-webapp-1.9-M1/./../data/conf/security.xml" inserted into AppContext. jvm 1 | 2011-01-22 15:26:50 INFO [er_start_runner] - o.s.a.AppContext - Property "basedir"="/home/swfnexus/nexus-professional-webapp-1.9-M1/." inserted into AppContext. jvm 1 | 2011-01-22 15:26:50 INFO [er_start_runner] - o.s.a.AppContext - Property "appbooter.customizers"="org.sonatype.nexus.NexusBooterCustomizer" inserted into AppContext. jvm 1 | 2011-01-22 15:26:50 INFO [er_start_runner] - o.s.a.AppContext - Property "jetty.xml"="/home/swfnexus/nexus-professional-webapp-1.9-M1/./conf/jetty.xml" inserted into AppContext. jvm 1 | Loading PlexusAppBooterCustomizer (implementation=org.sonatype.nexus.NexusBooterCustomizer). jvm 1 | Starting the Plexus Container. wrapper | TERM trapped. Shutting down. wrapper | Shutdown failed: Timed out waiting for signal from JVM. wrapper | JVM did not exit on request, terminated wrapper | JVM exited on its own while waiting to kill the application. wrapper | JVM exited in response to signal SIGKILL (9). wrapper | <-- Wrapper Stopped wrapper | --> Wrapper Started as Daemon wrapper | Launching a JVM... ...
Finally, after many bounces, Nexus does start up:
wrapper | Reloading Wrapper configuration... wrapper | Launching a JVM... jvm 3 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org jvm 3 | Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved. jvm 3 | jvm 3 | Starting the Plexus Container. jvm 3 | 2011-01-22 15:55:11 INFO [er_start_runner] - o.s.a.AppContext - Property "nexus-work"="/home/swfnexus/nexus-professional-webapp-1.9-M1/./../data" inserted into AppContext. jvm 3 | 2011-01-22 15:55:11 INFO [er_start_runner] - o.s.a.AppContext - Property "webapp"="/home/swfnexus/nexus-professional-webapp-1.9-M1/./runtime/apps/nexus/webapp" inserted into AppContext. jvm 3 | 2011-01-22 15:55:11 INFO [er_start_runner] - o.s.a.AppContext - Property "runtime-tmp"="/home/swfnexus/nexus-professional-webapp-1.9-M1/./runtime/tmp" inserted into AppContext. jvm 3 | 2011-01-22 15:55:11 INFO [er_start_runner] - o.s.a.AppContext - Property "branding.image.path"="/home/swfnexus/nexus-professional-webapp-1.9-M1/./../data/logo-eXo.png" inserted into AppContext. jvm 3 | 2011-01-22 15:55:11 INFO [er_start_runner] - o.s.a.AppContext - Property "webapp-context-path"="/" inserted into AppContext. jvm 3 | 2011-01-22 15:55:11 INFO [er_start_runner] - o.s.a.AppContext - Property "runtime"="/home/swfnexus/nexus-professional-webapp-1.9-M1/./runtime" inserted into AppContext. jvm 3 | 2011-01-22 15:55:11 INFO [er_start_runner] - o.s.a.AppContext - Property "application-port"="20010" inserted into AppContext. jvm 3 | 2011-01-22 15:55:11 INFO [er_start_runner] - o.s.a.AppContext - Property "application-host"="127.0.0.1" inserted into AppContext. jvm 3 | 2011-01-22 15:55:11 INFO [er_start_runner] - o.s.a.AppContext - Property "application-conf"="/home/swfnexus/nexus-professional-webapp-1.9-M1/./../data/conf" inserted into AppContext. jvm 3 | 2011-01-22 15:55:11 INFO [er_start_runner] - o.s.a.AppContext - Property "nexus-app"="/home/swfnexus/nexus-professional-webapp-1.9-M1/./runtime/apps/nexus" inserted into AppContext. jvm 3 | 2011-01-22 15:55:11 INFO [er_start_runner] - o.s.a.AppContext - Property "apps"="/home/swfnexus/nexus-professional-webapp-1.9-M1/./runtime/apps" inserted into AppContext. jvm 3 | 2011-01-22 15:55:11 INFO [er_start_runner] - o.s.a.AppContext - Property "security-xml-file"="/home/swfnexus/nexus-professional-webapp-1.9-M1/./../data/conf/security.xml" inserted into AppContext. jvm 3 | 2011-01-22 15:55:11 INFO [er_start_runner] - o.s.a.AppContext - Property "basedir"="/home/swfnexus/nexus-professional-webapp-1.9-M1/." inserted into AppContext. jvm 3 | 2011-01-22 15:55:11 INFO [er_start_runner] - o.s.a.AppContext - Property "appbooter.customizers"="org.sonatype.nexus.NexusBooterCustomizer" inserted into AppContext. jvm 3 | 2011-01-22 15:55:11 INFO [er_start_runner] - o.s.a.AppContext - Property "jetty.xml"="/home/swfnexus/nexus-professional-webapp-1.9-M1/./conf/jetty.xml" inserted into AppContext. jvm 3 | Loading PlexusAppBooterCustomizer (implementation=org.sonatype.nexus.NexusBooterCustomizer). jvm 3 | 2011-01-22 15:55:13 INFO [er_start_runner] - org.mortbay.log - Logging to org.slf4j.impl.Log4jLoggerAdapter(org.mortbay.log) via org.mortbay.log.Slf4jLog jvm 3 | 2011-01-22 15:55:13 INFO [er_start_runner] - org.mortbay.log - jetty-6.1.19 jvm 3 | 2011-01-22 15:55:13 INFO [er_start_runner] - o.s.p.j.c.InjectExi~ - Injecting Plexus container for: null (context path: /) jvm 3 | 2011-01-22 15:55:13 INFO [er_start_runner] - o.s.p.j.c.DisableTa~ - Disabling TLD support for: null (context path: /) jvm 3 | 2011-01-22 15:55:14 INFO [er_start_runner] - org.mortbay.log - NO JSP Support for /, did not find org.apache.jasper.servlet.JspServlet jvm 3 | 2011-01-22 15:55:14 INFO [er_start_runner] - org.sonatype.security.configuration.source.FileSecurityConfigurationSource - Loading Security configuration from /home/swfnexus/nexus-professional-webapp-1.9-M1/./../data/conf/security-configuration.xml
Short analysis: the Nexus boot sequence freezes when it's still not a single Nexus component loaded up, it's actually Plexus IoC being created. It looks like some concurrency issue in following components:
- appcontext (in spice)
- appbooter (in spice)
- SISU
The line "org.sonatype.security.configuration.source.FileSecurityConfigurationSource" in 2nd log is the very 1st logline spitted out by Nexus (by Security most precisely), all the previous lines are spit out by appcontext and appbooter.
It is indicative that the log line "Starting the Plexus Container." on "good boot" very 1st (as it should), but on frozen boots it's actually after appContext fills up context.