Uploaded image for project: 'Oozie'
  1. Oozie
  2. OOZIE-2533

Oozie Web UI gives Error 500 with Java 8u91

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: trunk
    • Fix Version/s: 4.3.1
    • Component/s: None
    • Labels:
      None

      Description

      When using Java 8u91, if I go to the Oozie Web UI in a browser, I get an Error 500 with this:

      org.apache.jasper.JasperException: Unable to compile class for JSP: 
      
      An error occurred at line: 1 in the generated java file
      The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from required .class files
      
      Stacktrace:
      	org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
      	org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
      	org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:460)
      	org.apache.jasper.compiler.Compiler.compile(Compiler.java:356)
      	org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
      	org.apache.jasper.compiler.Compiler.compile(Compiler.java:321)
      	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
      	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
      	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
      	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
      	javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
      	org.apache.oozie.servlet.AuthFilter$2.doFilter(AuthFilter.java:171)
      	org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:622)
      	org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:574)
      	org.apache.oozie.servlet.AuthFilter.doFilter(AuthFilter.java:176)
      	org.apache.oozie.servlet.HostnameFilter.doFilter(HostnameFilter.java:86)
      

      The same info with a little more detail shows up in the localhost log file:

      May 16, 2016 4:26:28 PM org.apache.catalina.core.StandardWrapperValve invoke
      SEVERE: Servlet.service() for servlet jsp threw exception
      org.apache.jasper.JasperException: Unable to compile class for JSP:
      
      An error occurred at line: 1 in the generated java file
      The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from required .class files
      
      Stacktrace:
              at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
              at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
              at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:460)
              at org.apache.jasper.compiler.Compiler.compile(Compiler.java:356)
              at org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
              at org.apache.jasper.compiler.Compiler.compile(Compiler.java:321)
              at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
              at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
              at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
              at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at org.apache.oozie.servlet.AuthFilter$2.doFilter(AuthFilter.java:171)
              at org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:622)
              at org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:574)
              at org.apache.oozie.servlet.AuthFilter.doFilter(AuthFilter.java:176)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at org.apache.oozie.servlet.HostnameFilter.doFilter(HostnameFilter.java:86)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
              at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
              at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
              at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
              at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
              at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
              at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
              at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620)
              at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
              at java.lang.Thread.run(Thread.java:745)
      

      The catalina log file also has this:

      May 16, 2016 4:26:28 PM org.apache.jasper.compiler.JDTCompiler$1 findType
      SEVERE: Compilation error
      org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
              at org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.<init>(ClassFileReader.java:372)
              at org.apache.jasper.compiler.JDTCompiler$1.findType(JDTCompiler.java:210)
              at org.apache.jasper.compiler.JDTCompiler$1.findType(JDTCompiler.java:167)
              at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:109)
              at org.eclipse.jdt.internal.compiler.lookup.UnresolvedReferenceBinding.resolve(UnresolvedReferenceBinding.java:49)
              at org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.resolveType(BinaryTypeBinding.java:122)
              at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:168)
              at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2445)
              at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1006)
              at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1258)
              at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve(CompilationUnitDeclaration.java:538)
              at org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:763)
              at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:468)
              at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:450)
              at org.apache.jasper.compiler.Compiler.compile(Compiler.java:356)
              at org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
              at org.apache.jasper.compiler.Compiler.compile(Compiler.java:321)
              at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
              at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
              at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
              at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at org.apache.oozie.servlet.AuthFilter$2.doFilter(AuthFilter.java:171)
              at org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:622)
              at org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:574)
              at org.apache.oozie.servlet.AuthFilter.doFilter(AuthFilter.java:176)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at org.apache.oozie.servlet.HostnameFilter.doFilter(HostnameFilter.java:86)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
              at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
              at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
              at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
              at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
              at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
              at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
              at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620)
              at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
              at java.lang.Thread.run(Thread.java:745)
      

      The REST API (and thus also the Oozie CLI, Oozie Java API, etc) still function correctly because they don't use JSP.

        Attachments

        1. OOZIE-2533_workaround.patch
          10 kB
          Robert Kanter

          Issue Links

            Activity

              People

              • Assignee:
                asasvari Attila Sasvári
                Reporter:
                rkanter Robert Kanter
              • Votes:
                1 Vote for this issue
                Watchers:
                8 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: