ring-clojure / ring

Clojure HTTP server abstraction
MIT License
3.77k stars 520 forks source link

Added to new project: NoClassDefFoundError HttpParser$ProxyHandler #344

Closed lilactown closed 6 years ago

lilactown commented 6 years ago

Tried with both 1.7.0-RC2 and 1.6.3. I enter a namespace and evaluate:

(ns notify-remotely.user
  (:require [ring.adapter.jetty :as j]
            [notify-remotely.ions.site :as site]))

Which throws the following?

3. Unhandled clojure.lang.Compiler$CompilerException
   Error compiling ring/adapter/jetty.clj at (27:9)

             Compiler.java: 7010  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6991  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6729  clojure.lang.Compiler/analyze
             Compiler.java: 6100  clojure.lang.Compiler$BodyExpr$Parser/parse
             Compiler.java: 6420  clojure.lang.Compiler$LetExpr$Parser/parse
             Compiler.java: 7003  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6991  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6729  clojure.lang.Compiler/analyze
             Compiler.java: 6100  clojure.lang.Compiler$BodyExpr$Parser/parse
             Compiler.java: 5460  clojure.lang.Compiler$FnMethod/parse
             Compiler.java: 4022  clojure.lang.Compiler$FnExpr/parse
             Compiler.java: 7001  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6991  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6729  clojure.lang.Compiler/analyze
             Compiler.java: 3097  clojure.lang.Compiler$MapExpr/parse
             Compiler.java: 6781  clojure.lang.Compiler/analyze
             Compiler.java: 6729  clojure.lang.Compiler/analyze
             Compiler.java: 3881  clojure.lang.Compiler$InvokeExpr/parse
             Compiler.java: 7005  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6729  clojure.lang.Compiler/analyze
             Compiler.java: 6100  clojure.lang.Compiler$BodyExpr$Parser/parse
             Compiler.java: 6420  clojure.lang.Compiler$LetExpr$Parser/parse
             Compiler.java: 7003  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6991  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6991  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6729  clojure.lang.Compiler/analyze
             Compiler.java: 6100  clojure.lang.Compiler$BodyExpr$Parser/parse
             Compiler.java: 5460  clojure.lang.Compiler$FnMethod/parse
             Compiler.java: 4022  clojure.lang.Compiler$FnExpr/parse
             Compiler.java: 7001  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6991  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java:   38  clojure.lang.Compiler/access$300
             Compiler.java:  595  clojure.lang.Compiler$DefExpr$Parser/parse
             Compiler.java: 7003  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6729  clojure.lang.Compiler/analyze
             Compiler.java: 7066  clojure.lang.Compiler/eval
             Compiler.java: 7514  clojure.lang.Compiler/load
                   RT.java:  379  clojure.lang.RT/loadResourceScript
                   RT.java:  370  clojure.lang.RT/loadResourceScript
                   RT.java:  460  clojure.lang.RT/load
                   RT.java:  426  clojure.lang.RT/load
                  core.clj: 6046  clojure.core/load/fn
                  core.clj: 6045  clojure.core/load
                  core.clj: 6029  clojure.core/load
               RestFn.java:  408  clojure.lang.RestFn/invoke
                  core.clj: 5848  clojure.core/load-one
                  core.clj: 5843  clojure.core/load-one
                  core.clj: 5888  clojure.core/load-lib/fn
                  core.clj: 5887  clojure.core/load-lib
                  core.clj: 5868  clojure.core/load-lib
               RestFn.java:  142  clojure.lang.RestFn/applyTo
                  core.clj:  659  clojure.core/apply
                  core.clj: 5925  clojure.core/load-libs
                  core.clj: 5909  clojure.core/load-libs
               RestFn.java:  137  clojure.lang.RestFn/applyTo
                  core.clj:  659  clojure.core/apply
                  core.clj: 5947  clojure.core/require
                  core.clj: 5947  clojure.core/require
               RestFn.java:  421  clojure.lang.RestFn/invoke
                  user.clj:    1  notify-remotely.user/eval11943/loading--auto--
                  user.clj:    1  notify-remotely.user/eval11943
                  user.clj:    1  notify-remotely.user/eval11943
             Compiler.java: 7062  clojure.lang.Compiler/eval
             Compiler.java: 7051  clojure.lang.Compiler/eval
             Compiler.java: 7514  clojure.lang.Compiler/load
                       nil:    1  user$eval11939/invokeStatic
                       nil:    1  user$eval11939/invoke
             Compiler.java: 7062  clojure.lang.Compiler/eval
             Compiler.java: 7025  clojure.lang.Compiler/eval
                  core.clj: 3206  clojure.core/eval
                  core.clj: 3202  clojure.core/eval
                  main.clj:  243  clojure.main/repl/read-eval-print/fn
                  main.clj:  243  clojure.main/repl/read-eval-print
                  main.clj:  261  clojure.main/repl/fn
                  main.clj:  261  clojure.main/repl
                  main.clj:  177  clojure.main/repl
               RestFn.java:  137  clojure.lang.RestFn/applyTo
                  core.clj:  657  clojure.core/apply
                  core.clj:  652  clojure.core/apply
                regrow.clj:   18  refactor-nrepl.ns.slam.hound.regrow/wrap-clojure-repl/fn
               RestFn.java: 1523  clojure.lang.RestFn/invoke
    interruptible_eval.clj:   87  nrepl.middleware.interruptible-eval/evaluate/fn
                  AFn.java:  152  clojure.lang.AFn/applyToHelper
                  AFn.java:  144  clojure.lang.AFn/applyTo
                  core.clj:  657  clojure.core/apply
                  core.clj: 1965  clojure.core/with-bindings*
                  core.clj: 1965  clojure.core/with-bindings*
               RestFn.java:  425  clojure.lang.RestFn/invoke
    interruptible_eval.clj:   85  nrepl.middleware.interruptible-eval/evaluate
    interruptible_eval.clj:   54  nrepl.middleware.interruptible-eval/evaluate
    interruptible_eval.clj:  218  nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn
    interruptible_eval.clj:  186  nrepl.middleware.interruptible-eval/run-next/fn
                  AFn.java:   22  clojure.lang.AFn/run
   ThreadPoolExecutor.java: 1149  java.util.concurrent.ThreadPoolExecutor/runWorker
   ThreadPoolExecutor.java:  624  java.util.concurrent.ThreadPoolExecutor$Worker/run
               Thread.java:  748  java.lang.Thread/run

2. Caused by java.lang.NoClassDefFoundError
   org/eclipse/jetty/http/HttpParser$ProxyHandler

          ClassLoader.java:   -2  java.lang.ClassLoader/defineClass1
          ClassLoader.java:  763  java.lang.ClassLoader/defineClass
    SecureClassLoader.java:  142  java.security.SecureClassLoader/defineClass
       URLClassLoader.java:  467  java.net.URLClassLoader/defineClass
       URLClassLoader.java:   73  java.net.URLClassLoader/access$100
       URLClassLoader.java:  368  java.net.URLClassLoader$1/run
       URLClassLoader.java:  362  java.net.URLClassLoader$1/run
     AccessController.java:   -2  java.security.AccessController/doPrivileged
       URLClassLoader.java:  361  java.net.URLClassLoader/findClass
          ClassLoader.java:  424  java.lang.ClassLoader/loadClass
             Launcher.java:  338  sun.misc.Launcher$AppClassLoader/loadClass
          ClassLoader.java:  357  java.lang.ClassLoader/loadClass
                Class.java:   -2  java.lang.Class/getDeclaredMethods0
                Class.java: 2701  java.lang.Class/privateGetDeclaredMethods
                Class.java: 2902  java.lang.Class/privateGetPublicMethods
                Class.java: 1615  java.lang.Class/getMethods
            Reflector.java:  373  clojure.lang.Reflector/getMethods
             Compiler.java: 1482  clojure.lang.Compiler$InstanceMethodExpr/<init>
             Compiler.java: 1024  clojure.lang.Compiler$HostExpr$Parser/parse
             Compiler.java: 7003  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6991  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6729  clojure.lang.Compiler/analyze
             Compiler.java: 6100  clojure.lang.Compiler$BodyExpr$Parser/parse
             Compiler.java: 6420  clojure.lang.Compiler$LetExpr$Parser/parse
             Compiler.java: 7003  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6991  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6729  clojure.lang.Compiler/analyze
             Compiler.java: 6100  clojure.lang.Compiler$BodyExpr$Parser/parse
             Compiler.java: 5460  clojure.lang.Compiler$FnMethod/parse
             Compiler.java: 4022  clojure.lang.Compiler$FnExpr/parse
             Compiler.java: 7001  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6991  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6729  clojure.lang.Compiler/analyze
             Compiler.java: 3097  clojure.lang.Compiler$MapExpr/parse
             Compiler.java: 6781  clojure.lang.Compiler/analyze
             Compiler.java: 6729  clojure.lang.Compiler/analyze
             Compiler.java: 3881  clojure.lang.Compiler$InvokeExpr/parse
             Compiler.java: 7005  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6729  clojure.lang.Compiler/analyze
             Compiler.java: 6100  clojure.lang.Compiler$BodyExpr$Parser/parse
             Compiler.java: 6420  clojure.lang.Compiler$LetExpr$Parser/parse
             Compiler.java: 7003  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6991  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6991  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6729  clojure.lang.Compiler/analyze
             Compiler.java: 6100  clojure.lang.Compiler$BodyExpr$Parser/parse
             Compiler.java: 5460  clojure.lang.Compiler$FnMethod/parse
             Compiler.java: 4022  clojure.lang.Compiler$FnExpr/parse
             Compiler.java: 7001  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6991  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java:   38  clojure.lang.Compiler/access$300
             Compiler.java:  595  clojure.lang.Compiler$DefExpr$Parser/parse
             Compiler.java: 7003  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6729  clojure.lang.Compiler/analyze
             Compiler.java: 7066  clojure.lang.Compiler/eval
             Compiler.java: 7514  clojure.lang.Compiler/load
                   RT.java:  379  clojure.lang.RT/loadResourceScript
                   RT.java:  370  clojure.lang.RT/loadResourceScript
                   RT.java:  460  clojure.lang.RT/load
                   RT.java:  426  clojure.lang.RT/load
                  core.clj: 6046  clojure.core/load/fn
                  core.clj: 6045  clojure.core/load
                  core.clj: 6029  clojure.core/load
               RestFn.java:  408  clojure.lang.RestFn/invoke
                  core.clj: 5848  clojure.core/load-one
                  core.clj: 5843  clojure.core/load-one
                  core.clj: 5888  clojure.core/load-lib/fn
                  core.clj: 5887  clojure.core/load-lib
                  core.clj: 5868  clojure.core/load-lib
               RestFn.java:  142  clojure.lang.RestFn/applyTo
                  core.clj:  659  clojure.core/apply
                  core.clj: 5925  clojure.core/load-libs
                  core.clj: 5909  clojure.core/load-libs
               RestFn.java:  137  clojure.lang.RestFn/applyTo
                  core.clj:  659  clojure.core/apply
                  core.clj: 5947  clojure.core/require
                  core.clj: 5947  clojure.core/require
               RestFn.java:  421  clojure.lang.RestFn/invoke
                  user.clj:    1  notify-remotely.user/eval11943/loading--auto--
                  user.clj:    1  notify-remotely.user/eval11943
                  user.clj:    1  notify-remotely.user/eval11943
             Compiler.java: 7062  clojure.lang.Compiler/eval
             Compiler.java: 7051  clojure.lang.Compiler/eval
             Compiler.java: 7514  clojure.lang.Compiler/load
                       nil:    1  user$eval11939/invokeStatic
                       nil:    1  user$eval11939/invoke
             Compiler.java: 7062  clojure.lang.Compiler/eval
             Compiler.java: 7025  clojure.lang.Compiler/eval
                  core.clj: 3206  clojure.core/eval
                  core.clj: 3202  clojure.core/eval
                  main.clj:  243  clojure.main/repl/read-eval-print/fn
                  main.clj:  243  clojure.main/repl/read-eval-print
                  main.clj:  261  clojure.main/repl/fn
                  main.clj:  261  clojure.main/repl
                  main.clj:  177  clojure.main/repl
               RestFn.java:  137  clojure.lang.RestFn/applyTo
                  core.clj:  657  clojure.core/apply
                  core.clj:  652  clojure.core/apply
                regrow.clj:   18  refactor-nrepl.ns.slam.hound.regrow/wrap-clojure-repl/fn
               RestFn.java: 1523  clojure.lang.RestFn/invoke
    interruptible_eval.clj:   87  nrepl.middleware.interruptible-eval/evaluate/fn
                  AFn.java:  152  clojure.lang.AFn/applyToHelper
                  AFn.java:  144  clojure.lang.AFn/applyTo
                  core.clj:  657  clojure.core/apply
                  core.clj: 1965  clojure.core/with-bindings*
                  core.clj: 1965  clojure.core/with-bindings*
               RestFn.java:  425  clojure.lang.RestFn/invoke
    interruptible_eval.clj:   85  nrepl.middleware.interruptible-eval/evaluate
    interruptible_eval.clj:   54  nrepl.middleware.interruptible-eval/evaluate
    interruptible_eval.clj:  218  nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn
    interruptible_eval.clj:  186  nrepl.middleware.interruptible-eval/run-next/fn
                  AFn.java:   22  clojure.lang.AFn/run
   ThreadPoolExecutor.java: 1149  java.util.concurrent.ThreadPoolExecutor/runWorker
   ThreadPoolExecutor.java:  624  java.util.concurrent.ThreadPoolExecutor$Worker/run
               Thread.java:  748  java.lang.Thread/run

1. Caused by java.lang.ClassNotFoundException
   org.eclipse.jetty.http.HttpParser$ProxyHandler

       URLClassLoader.java:  381  java.net.URLClassLoader/findClass
          ClassLoader.java:  424  java.lang.ClassLoader/loadClass
             Launcher.java:  338  sun.misc.Launcher$AppClassLoader/loadClass
          ClassLoader.java:  357  java.lang.ClassLoader/loadClass
          ClassLoader.java:   -2  java.lang.ClassLoader/defineClass1
          ClassLoader.java:  763  java.lang.ClassLoader/defineClass
    SecureClassLoader.java:  142  java.security.SecureClassLoader/defineClass
       URLClassLoader.java:  467  java.net.URLClassLoader/defineClass
       URLClassLoader.java:   73  java.net.URLClassLoader/access$100
       URLClassLoader.java:  368  java.net.URLClassLoader$1/run
       URLClassLoader.java:  362  java.net.URLClassLoader$1/run
     AccessController.java:   -2  java.security.AccessController/doPrivileged
       URLClassLoader.java:  361  java.net.URLClassLoader/findClass
          ClassLoader.java:  424  java.lang.ClassLoader/loadClass
             Launcher.java:  338  sun.misc.Launcher$AppClassLoader/loadClass
          ClassLoader.java:  357  java.lang.ClassLoader/loadClass
                Class.java:   -2  java.lang.Class/getDeclaredMethods0
                Class.java: 2701  java.lang.Class/privateGetDeclaredMethods
                Class.java: 2902  java.lang.Class/privateGetPublicMethods
                Class.java: 1615  java.lang.Class/getMethods
            Reflector.java:  373  clojure.lang.Reflector/getMethods
             Compiler.java: 1482  clojure.lang.Compiler$InstanceMethodExpr/<init>
             Compiler.java: 1024  clojure.lang.Compiler$HostExpr$Parser/parse
             Compiler.java: 7003  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6991  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6729  clojure.lang.Compiler/analyze
             Compiler.java: 6100  clojure.lang.Compiler$BodyExpr$Parser/parse
             Compiler.java: 6420  clojure.lang.Compiler$LetExpr$Parser/parse
             Compiler.java: 7003  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6991  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6729  clojure.lang.Compiler/analyze
             Compiler.java: 6100  clojure.lang.Compiler$BodyExpr$Parser/parse
             Compiler.java: 5460  clojure.lang.Compiler$FnMethod/parse
             Compiler.java: 4022  clojure.lang.Compiler$FnExpr/parse
             Compiler.java: 7001  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6991  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6729  clojure.lang.Compiler/analyze
             Compiler.java: 3097  clojure.lang.Compiler$MapExpr/parse
             Compiler.java: 6781  clojure.lang.Compiler/analyze
             Compiler.java: 6729  clojure.lang.Compiler/analyze
             Compiler.java: 3881  clojure.lang.Compiler$InvokeExpr/parse
             Compiler.java: 7005  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6729  clojure.lang.Compiler/analyze
             Compiler.java: 6100  clojure.lang.Compiler$BodyExpr$Parser/parse
             Compiler.java: 6420  clojure.lang.Compiler$LetExpr$Parser/parse
             Compiler.java: 7003  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6991  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6991  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6729  clojure.lang.Compiler/analyze
             Compiler.java: 6100  clojure.lang.Compiler$BodyExpr$Parser/parse
             Compiler.java: 5460  clojure.lang.Compiler$FnMethod/parse
             Compiler.java: 4022  clojure.lang.Compiler$FnExpr/parse
             Compiler.java: 7001  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6991  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java:   38  clojure.lang.Compiler/access$300
             Compiler.java:  595  clojure.lang.Compiler$DefExpr$Parser/parse
             Compiler.java: 7003  clojure.lang.Compiler/analyzeSeq
             Compiler.java: 6773  clojure.lang.Compiler/analyze
             Compiler.java: 6729  clojure.lang.Compiler/analyze
             Compiler.java: 7066  clojure.lang.Compiler/eval
             Compiler.java: 7514  clojure.lang.Compiler/load
                   RT.java:  379  clojure.lang.RT/loadResourceScript
                   RT.java:  370  clojure.lang.RT/loadResourceScript
                   RT.java:  460  clojure.lang.RT/load
                   RT.java:  426  clojure.lang.RT/load
                  core.clj: 6046  clojure.core/load/fn
                  core.clj: 6045  clojure.core/load
                  core.clj: 6029  clojure.core/load
               RestFn.java:  408  clojure.lang.RestFn/invoke
                  core.clj: 5848  clojure.core/load-one
                  core.clj: 5843  clojure.core/load-one
                  core.clj: 5888  clojure.core/load-lib/fn
                  core.clj: 5887  clojure.core/load-lib
                  core.clj: 5868  clojure.core/load-lib
               RestFn.java:  142  clojure.lang.RestFn/applyTo
                  core.clj:  659  clojure.core/apply
                  core.clj: 5925  clojure.core/load-libs
                  core.clj: 5909  clojure.core/load-libs
               RestFn.java:  137  clojure.lang.RestFn/applyTo
                  core.clj:  659  clojure.core/apply
                  core.clj: 5947  clojure.core/require
                  core.clj: 5947  clojure.core/require
               RestFn.java:  421  clojure.lang.RestFn/invoke
                  user.clj:    1  notify-remotely.user/eval11943/loading--auto--
                  user.clj:    1  notify-remotely.user/eval11943
                  user.clj:    1  notify-remotely.user/eval11943
             Compiler.java: 7062  clojure.lang.Compiler/eval
             Compiler.java: 7051  clojure.lang.Compiler/eval
             Compiler.java: 7514  clojure.lang.Compiler/load
                       nil:    1  user$eval11939/invokeStatic
lilactown commented 6 years ago

This was ultimately caused by a conflict between ring and the version of jetty that datomic cloud depends on:

https://docs.datomic.com/cloud/troubleshooting.html#dependency-conflict

The fix was to exclude the dependencies used by org.datomic/client-cloud:

com.datomic/client-cloud {:mvn/version "0.8.63"
                                               :exclusions [org.eclipse.jetty/jetty-client
                                                            org.eclipse.jetty/jetty-http
                                                            org.eclipse.jetty/jetty-util]}