Skip to content

Error when loading a Web App with missing servlet class defined in web.xml is not reported as fatal #103

@ludoch

Description

@ludoch

In the log file of an app that defines a servlet which does not exist we see this error emitted as a WARNING as opposed to FATAL or ERROR?

WARNING 2024-03-20T20:32:25.020296Z Unable to load class org.eclipse.jetty.servlet.DefaultServlet java.lang.ClassNotFoundException: org.eclipse.jetty.servlet.DefaultServlet at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445) at com.google.apphosting.runtime.ApplicationClassLoader.findClass(ApplicationClassLoader.java:150) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:593) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) at org.eclipse.jetty.util.Loader.loadClass(Loader.java:58) at org.eclipse.jetty.ee10.servlet.BaseHolder.doStart(BaseHolder.java:96) at org.eclipse.jetty.ee10.servlet.ServletHolder.doStart(ServletHolder.java:378) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93) at org.eclipse.jetty.ee10.servlet.ServletHandler.lambda$initialize$2(ServletHandler.java:659) at org.eclipse.jetty.util.ExceptionUtil$MultiException.callAndCatch(ExceptionUtil.java:262) at org.eclipse.jetty.ee10.servlet.ServletHandler.lambda$initialize$3(ServletHandler.java:657) at java.base/java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:357) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:310) at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735) at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762) at org.eclipse.jetty.ee10.servlet.ServletHandler.initialize(ServletHandler.java:680) at org.eclipse.jetty.ee10.servlet.ServletContextHandler.startContext(ServletContextHandler.java:1316) at org.eclipse.jetty.ee10.webapp.WebAppContext.startContext(WebAppContext.java:1223) at com.google.apphosting.runtime.jetty.ee10.AppEngineWebAppContext.startContext(AppEngineWebAppContext.java:286) at org.eclipse.jetty.ee10.servlet.ServletContextHandler.lambda$doStart$0(ServletContextHandler.java:1042) at org.eclipse.jetty.server.handler.ContextHandler$ScopedContext.call(ContextHandler.java:1149) at org.eclipse.jetty.ee10.servlet.ServletContextHandler.doStart(ServletContextHandler.java:1039) at org.eclipse.jetty.ee10.webapp.WebAppContext.doStart(WebAppContext.java:496) at com.google.apphosting.runtime.jetty.ee10.AppEngineWebAppContext.doStart(AppEngineWebAppContext.java:232) at org.eclipse.jetty.util.com…
  {
    "textPayload": "Unable to load class org.eclipse.jetty.servlet.DefaultServlet\njava.lang.ClassNotFoundException: org.eclipse.jetty.servlet.DefaultServlet\n\tat java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)\n\tat com.google.apphosting.runtime.ApplicationClassLoader.findClass(ApplicationClassLoader.java:150)\n\tat java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:593)\n\tat java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)\n\tat org.eclipse.jetty.util.Loader.loadClass(Loader.java:58)\n\tat org.eclipse.jetty.ee10.servlet.BaseHolder.doStart(BaseHolder.java:96)\n\tat org.eclipse.jetty.ee10.servlet.ServletHolder.doStart(ServletHolder.java:378)\n\tat org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)\n\tat org.eclipse.jetty.ee10.servlet.ServletHandler.lambda$initialize$2(ServletHandler.java:659)\n\tat org.eclipse.jetty.util.ExceptionUtil$MultiException.callAndCatch(ExceptionUtil.java:262)\n\tat org.eclipse.jetty.ee10.servlet.ServletHandler.lambda$initialize$3(ServletHandler.java:657)\n\tat java.base/java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:357)\n\tat java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510)\n\tat java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)\n\tat java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:310)\n\tat java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735)\n\tat java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)\n\tat org.eclipse.jetty.ee10.servlet.ServletHandler.initialize(ServletHandler.java:680)\n\tat org.eclipse.jetty.ee10.servlet.ServletContextHandler.startContext(ServletContextHandler.java:1316)\n\tat org.eclipse.jetty.ee10.webapp.WebAppContext.startContext(WebAppContext.java:1223)\n\tat com.google.apphosting.runtime.jetty.ee10.AppEngineWebAppContext.startContext(AppEngineWebAppContext.java:286)\n\tat org.eclipse.jetty.ee10.servlet.ServletContextHandler.lambda$doStart$0(ServletContextHandler.java:1042)\n\tat org.eclipse.jetty.server.handler.ContextHandler$ScopedContext.call(ContextHandler.java:1149)\n\tat org.eclipse.jetty.ee10.servlet.ServletContextHandler.doStart(ServletContextHandler.java:1039)\n\tat org.eclipse.jetty.ee10.webapp.WebAppContext.doStart(WebAppContext.java:496)\n\tat com.google.apphosting.runtime.jetty.ee10.AppEngineWebAppContext.doStart(AppEngineWebAppContext.java:232)\n\tat org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)\n\tat com.google.apphosting.runtime.jetty.ee10.EE10AppVersionHandlerFactory.doCreateHandler(EE10AppVersionHandlerFactory.java:213)\n\tat com.google.apphosting.runtime.jetty.ee10.EE10AppVersionHandlerFactory.createHandler(EE10AppVersionHandlerFactory.java:108)\n\tat com.google.apphosting.runtime.jetty.AppVersionHandler.ensureHandler(AppVersionHandler.java:79)\n\tat com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:203)\n\tat com.google.apphosting.runtime.RequestRunner.dispatchServletRequest(RequestRunner.java:262)\n\tat com.google.apphosting.runtime.RequestRunner.dispatchRequest(RequestRunner.java:227)\n\tat com.google.apphosting.runtime.RequestRunner.run(RequestRunner.java:193)\n\tat com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:273)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\n",
    "insertId": "65fb47d900004f4872359cd2",
    "resource": {
      "type": "gae_app",
      "labels": {
        "project_id": "domain-registry-alpha",
        "zone": "us17",
        "version_id": "20240320t161234",
        "module_id": "default"
      }
    },
    "timestamp": "2024-03-20T20:32:25.020296Z",
    "severity": "WARNING",
    "labels": {
      "clone_id": "00a22404dcc58d909504cd741235a91ba8050fd0ecaf9dd5dc06aa3997ca4c1b7920111243a76466a9fdb4cedc9e6b979d748e3a0fdf5ecb6eb9e8cdec04d7a99b95b8"
    },
    "logName": "projects/domain-registry-alpha/logs/%2Fvar%2Flog%2Fapp",
    "trace": "projects/domain-registry-alpha/traces/b1d1411162cc75eca0d499d49ba89783",
    "sourceLocation": {
      "file": "BaseHolder.java",
      "line": "102",
      "function": "org.eclipse.jetty.ee10.servlet.BaseHolder.doStart"
    },
    "receiveTimestamp": "2024-03-20T20:32:25.118602837Z",
    "spanId": "5b2da9779a0988eb"
  }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions