title: How to fix 'Failed to initialize end point associated with ProtocolHandler' error?
body: <p>I have installed Tomcat 7 in my Ubuntu 12.04. </p>
  
  <p>Somehow Tomcat is not starting. Tried out all possible steps, checked out forums; nothing helped. </p>
  
  <p>Can anyone tell me what went wrong?</p>
  
  <p>Log from my PC, for the command:</p>
  
  <pre><code>~$ sh  /usr/share/tomcat7/bin/catalina.sh run
  
  Using CATALINA_BASE:   /usr/share/tomcat7
  Using CATALINA_HOME:   /usr/share/tomcat7
  Using CATALINA_TMPDIR: /usr/share/tomcat7/temp
  Using JRE_HOME:        /usr/lib/jvm/java-6-openjdk/jre
  Using CLASSPATH:       /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
  21 Jan, 2013 12:34:17 AM org.apache.catalina.startup.ClassLoaderFactory validateFile
  WARNING: Problem with directory [/var/lib/tomcat7/common/classes], exists: [false], isDirectory: [false], canRead: [false]
  21 Jan, 2013 12:34:17 AM org.apache.catalina.startup.ClassLoaderFactory validateFile
  WARNING: Problem with directory [/var/lib/tomcat7/common], exists: [false], isDirectory: [false], canRead: [false]
  21 Jan, 2013 12:34:17 AM org.apache.catalina.startup.ClassLoaderFactory validateFile
  WARNING: Problem with directory [/var/lib/tomcat7/server/classes], exists: [false], isDirectory: [false], canRead: [false]
  21 Jan, 2013 12:34:17 AM org.apache.catalina.startup.ClassLoaderFactory validateFile
  WARNING: Problem with directory [/var/lib/tomcat7/server], exists: [false], isDirectory: [false], canRead: [false]
  21 Jan, 2013 12:34:17 AM org.apache.catalina.startup.ClassLoaderFactory validateFile
  WARNING: Problem with directory [/var/lib/tomcat7/shared/classes], exists: [false], isDirectory: [false], canRead: [false]
  21 Jan, 2013 12:34:17 AM org.apache.catalina.startup.ClassLoaderFactory validateFile
  WARNING: Problem with directory [/var/lib/tomcat7/shared], exists: [false], isDirectory: [false], canRead: [false]
  21 Jan, 2013 12:34:17 AM org.apache.catalina.startup.Catalina initDirs
  SEVERE: Cannot find specified temporary folder at /usr/share/tomcat7/temp
  21 Jan, 2013 12:34:17 AM org.apache.catalina.startup.Catalina load
  WARNING: Unable to load server configuration from [/usr/share/tomcat7/conf/server.xml]
  21 Jan, 2013 12:34:17 AM org.apache.catalina.startup.Catalina initDirs
  SEVERE: Cannot find specified temporary folder at /usr/share/tomcat7/temp
  21 Jan, 2013 12:34:17 AM org.apache.catalina.startup.Catalina load
  WARNING: Unable to load server configuration from [/usr/share/tomcat7/conf/server.xml]
  21 Jan, 2013 12:34:17 AM org.apache.catalina.startup.Catalina start
  SEVERE: Cannot start server. Server instance is not configured.
  </code></pre>
  
  <h2>Thanking in advance.</h2>
  
  <h2>Edited from below.</h2>
  
  <h2>Reinstalled Tomcat7.</h2>
  
  <p>This time the missing "server.xml" file is located in path: <code>/usr/share/tomcat7/skel/conf/server.xml</code>.</p>
  
  <p>Again tried with:</p>
  
  <pre><code>~$ sh  /usr/share/tomcat7/bin/catalina.sh run
  </code></pre>
  
  <p>Logs are below.</p>
  
  <pre><code>Using CATALINA_BASE:   /usr/share/tomcat7
  Using CATALINA_HOME:   /usr/share/tomcat7
  Using CATALINA_TMPDIR: /usr/share/tomcat7/temp
  Using JRE_HOME:        /usr/lib/jvm/java-6-openjdk/jre
  Using CLASSPATH:       /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
  21 Jan, 2013 1:27:40 AM org.apache.catalina.startup.Catalina initDirs
  SEVERE: Cannot find specified temporary folder at /usr/share/tomcat7/temp
  21 Jan, 2013 1:27:40 AM org.apache.catalina.startup.Catalina load
  WARNING: Unable to load server configuration from [/usr/share/tomcat7/conf/server.xml]
  21 Jan, 2013 1:27:40 AM org.apache.catalina.startup.Catalina initDirs
  SEVERE: Cannot find specified temporary folder at /usr/share/tomcat7/temp
  21 Jan, 2013 1:27:40 AM org.apache.catalina.startup.Catalina load
  WARNING: Unable to load server configuration from [/usr/share/tomcat7/conf/server.xml]
  21 Jan, 2013 1:27:40 AM org.apache.catalina.startup.Catalina start
  SEVERE: Cannot start server. Server instance is not configured.
  </code></pre>
  
  <hr>
  
  <h2>Edited from below.</h2>
  
  <h2>Forcefully tried to suppress the warnings</h2>
  
  <p>Now I have performed the following things:</p>
  
  <ol>
  <li><p>Get bash authentication pass: </p>
  
  <pre><code>~$ sudo bash
  </code></pre></li>
  <li><p>Create a temp directory at /usr/share/tomcat7/skel</p>
  
  <pre><code>~# mkdir /usr/share/tomcat7/skel/temp
  </code></pre></li>
  <li><p>Tell Tomcat7 where is my conf/server.xml located</p>
  
  <pre><code>~# export CATALINA_BASE=/usr/share/tomcat7/skel
  </code></pre></li>
  <li><p>Run Catalina.sh</p>
  
  <pre><code>~# sh  /usr/share/tomcat7/bin/catalina.sh run
  </code></pre></li>
  </ol>
  
  <p>Logs:</p>
  
  <pre><code>Using CATALINA_BASE:   /usr/share/tomcat7/skel
  Using CATALINA_HOME:   /usr/share/tomcat7
  Using CATALINA_TMPDIR: /usr/share/tomcat7/skel/temp
  Using JRE_HOME:        /usr/lib/jvm/java-6-openjdk/jre
  Using CLASSPATH:       /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
  21 Jan, 2013 4:04:57 AM org.apache.coyote.AbstractProtocol init
  INFO: Initializing ProtocolHandler ["http-bio-8080"]
  21 Jan, 2013 4:04:57 AM org.apache.coyote.AbstractProtocol init
  SEVERE: Failed to initialize end point associated with ProtocolHandler ["http-bio-8080"]
  java.net.BindException: Address already in use &lt;null&gt;:8080
      at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:391)
      at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:554)
      at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:409)
      at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119)
      at org.apache.catalina.connector.Connector.initInternal(Connector.java:956)
      at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
      at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
      at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
      at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:815)
      at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
      at org.apache.catalina.startup.Catalina.load(Catalina.java:594)
      at org.apache.catalina.startup.Catalina.load(Catalina.java:619)
      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:616)
      at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
      at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:449)
  Caused by: java.net.BindException: Address already in use
      at java.net.PlainSocketImpl.socketBind(Native Method)
      at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:353)
      at java.net.ServerSocket.bind(ServerSocket.java:336)
      at java.net.ServerSocket.&lt;init&gt;(ServerSocket.java:202)
      at java.net.ServerSocket.&lt;init&gt;(ServerSocket.java:158)
      at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49)
      at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:378)
      ... 17 more
  21 Jan, 2013 4:04:57 AM org.apache.catalina.core.StandardService initInternal
  SEVERE: Failed to initialize connector [Connector[HTTP/1.1-8080]]
  org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-8080]]
      at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)
      at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
      at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
      at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:815)
      at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
      at org.apache.catalina.startup.Catalina.load(Catalina.java:594)
      at org.apache.catalina.startup.Catalina.load(Catalina.java:619)
      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:616)
      at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
      at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:449)
  Caused by: org.apache.catalina.LifecycleException: Protocol handler initialization failed
      at org.apache.catalina.connector.Connector.initInternal(Connector.java:958)
      at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
      ... 12 more
  Caused by: java.net.BindException: Address already in use &lt;null&gt;:8080
      at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:391)
      at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:554)
      at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:409)
      at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119)
      at org.apache.catalina.connector.Connector.initInternal(Connector.java:956)
      ... 13 more
  Caused by: java.net.BindException: Address already in use
      at java.net.PlainSocketImpl.socketBind(Native Method)
      at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:353)
      at java.net.ServerSocket.bind(ServerSocket.java:336)
      at java.net.ServerSocket.&lt;init&gt;(ServerSocket.java:202)
      at java.net.ServerSocket.&lt;init&gt;(ServerSocket.java:158)
      at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49)
      at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:378)
      ... 17 more
  21 Jan, 2013 4:04:57 AM org.apache.catalina.startup.Catalina load
  INFO: Initialization processed in 811 ms
  21 Jan, 2013 4:04:57 AM org.apache.catalina.core.StandardService startInternal
  INFO: Starting service Catalina
  21 Jan, 2013 4:04:57 AM org.apache.catalina.core.StandardEngine startInternal
  INFO: Starting Servlet Engine: Apache Tomcat/7.0.26
  21 Jan, 2013 4:04:57 AM org.apache.catalina.startup.Catalina start
  INFO: Server startup in 37 ms
  21 Jan, 2013 4:04:57 AM org.apache.catalina.core.StandardServer await
  SEVERE: StandardServer.await: create[localhost:8005]: 
  java.net.BindException: Address already in use
      at java.net.PlainSocketImpl.socketBind(Native Method)
      at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:353)
      at java.net.ServerSocket.bind(ServerSocket.java:336)
      at java.net.ServerSocket.&lt;init&gt;(ServerSocket.java:202)
      at org.apache.catalina.core.StandardServer.await(StandardServer.java:427)
      at org.apache.catalina.startup.Catalina.await(Catalina.java:727)
      at org.apache.catalina.startup.Catalina.start(Catalina.java:673)
      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:616)
      at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)
      at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:450)
  21 Jan, 2013 4:04:57 AM org.apache.coyote.AbstractProtocol pause
  INFO: Pausing ProtocolHandler ["http-bio-8080"]
  21 Jan, 2013 4:04:57 AM org.apache.catalina.core.StandardService stopInternal
  INFO: Stopping service Catalina
  21 Jan, 2013 4:04:57 AM org.apache.coyote.AbstractProtocol stop
  INFO: Stopping ProtocolHandler ["http-bio-8080"]
  21 Jan, 2013 4:04:57 AM org.apache.coyote.AbstractProtocol destroy
  INFO: Destroying ProtocolHandler ["http-bio-8080"]
  </code></pre>
  
  <p>Although there are SEVERE message logs present, but when I tested http://localhost:8080 in my browser, I see <strong><em>It works!</em></strong></p>
  
  <p><strong>Need experts advice</strong>: should I proceed with my work on Tomcat7 or there are things required to sort out. </p>