MyFaces tomcat7:run goal cannot start ProtocolHandler "http-bio-8080"

artgrohe picture artgrohe · Oct 9, 2012 · Viewed 11.5k times · Source

I created a new MyFaces Project with the maven archetype HelloWorld 2.0 OpenWebBeans

and tested it instantly with mvn clean -Dcontainer="tomcat7" tomcat7:run. Everything goes well, until it comes to starting tomcat. The process get stuck at the following:

INFO: Starting ProtocolHandler ["http-bio-8080"]

I waited more then 20 minutes. this cannot be.

Info: There is no other service running on port 8080 and also no other tomcat is running.

Why does the ProtocolHandler not start?! I just want to develop a JSF Application with CDI and deploy it on Tomcat7, using Maven. If somebody has a better solution for me I - spit it out! ;)

Thanks!

UPDATE: Thanks for the jstack trick, very cool feature! Here is the complete StackTrace from jstack: As I see the http-bio has an AsyncTimeout and is in TIMED_WAITING State...what can I do next? Thanks guys!

Full thread dump Java HotSpot(TM) 64-Bit Server VM (23.3-b01 mixed mode):

"http-bio-8080-AsyncTimeout" daemon prio=6 tid=0x000000000c697000 nid=0xf3c waiting on condition [0x000000000d54f000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at org.apache.tomcat.util.net.JIoEndpoint$AsyncTimeout.run(JIoEndpoint.java:148)
        at java.lang.Thread.run(Thread.java:722)

"http-bio-8080-Acceptor-0" daemon prio=6 tid=0x000000000ae7a000 nid=0x97c runnable [0x000000000d25e000]
   java.lang.Thread.State: RUNNABLE
        at java.net.DualStackPlainSocketImpl.accept0(Native Method)
        at java.net.DualStackPlainSocketImpl.socketAccept(DualStackPlainSocketImpl.java:121)
        at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:398)
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:183)
        - locked <0x00000000f3670350> (a java.net.SocksSocketImpl)
        at java.net.ServerSocket.implAccept(ServerSocket.java:522)
        at java.net.ServerSocket.accept(ServerSocket.java:490)
        at org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:60)
        at org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:216)
        at java.lang.Thread.run(Thread.java:722)

"ContainerBackgroundProcessor[StandardEngine[Tomcat]]" daemon prio=6 tid=0x000000000be73800 nid=0x9c8 waiting on condition [0x000000000d36f000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1517)
        at java.lang.Thread.run(Thread.java:722)

"OwbConversationCleaner-/webapp" daemon prio=6 tid=0x000000000ab58800 nid=0x7f4 waiting on condition [0x000000000cb1e000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000000f3487a10> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1090)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:807)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:722)

"Service Thread" daemon prio=6 tid=0x0000000008ea1800 nid=0xfcc runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" daemon prio=10 tid=0x0000000008e9f800 nid=0xb70 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" daemon prio=10 tid=0x0000000008e9a800 nid=0x6ec waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Attach Listener" daemon prio=10 tid=0x0000000008e9a000 nid=0xa98 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=10 tid=0x0000000008e92800 nid=0x85c runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=8 tid=0x0000000002499000 nid=0x918 in Object.wait() [0x000000000a17f000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000000c0918c00> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)
        - locked <0x00000000c0918c00> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:177)

"Reference Handler" daemon prio=10 tid=0x0000000002492800 nid=0x994 in Object.wait() [0x000000000a05f000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000000c0918910> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:503)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133)
        - locked <0x00000000c0918910> (a java.lang.ref.Reference$Lock)

"main" prio=6 tid=0x000000000239d800 nid=0xf20 in Object.wait() [0x000000000264e000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000000ebe51d28> (a java.lang.Object)
        at java.lang.Object.wait(Object.java:503)
        at org.apache.tomcat.maven.plugin.tomcat7.run.AbstractRunMojo.waitIndefinitely(AbstractRunMojo.java:835)
        - locked <0x00000000ebe51d28> (a java.lang.Object)
        at org.apache.tomcat.maven.plugin.tomcat7.run.AbstractRunMojo.execute(AbstractRunMojo.java:356)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)

"VM Thread" prio=10 tid=0x0000000008e12000 nid=0xf30 runnable

"GC task thread#0 (ParallelGC)" prio=6 tid=0x00000000023e4800 nid=0xeec runnable

"GC task thread#1 (ParallelGC)" prio=6 tid=0x00000000023e6000 nid=0xfe0 runnable

"GC task thread#2 (ParallelGC)" prio=6 tid=0x00000000023e7800 nid=0xd54 runnable

"GC task thread#3 (ParallelGC)" prio=6 tid=0x00000000023e9800 nid=0x8cc runnable

"VM Periodic Task Thread" prio=10 tid=0x0000000008eba000 nid=0xc40 waiting on condition

JNI global references: 272

Answer

David Blevins picture David Blevins · Oct 9, 2012

Try using jstack to get a dump of what all the threads are doing. It will show each thread and what method it is currently executing along with information on if it is running, waiting or blocked.

If you can update your question with that info, that would be helpful.

Side note, you can get MyFaces, OpenWebBeans and Tomcat all integrated together out of the box and Java EE 6 certified in TomEE