noir-clojure / lib-noir

A set of libraries for ring apps, including stateful sessions.
Eclipse Public License 1.0
479 stars 47 forks source link

Updating to lib-noir 0.8.1 causes crash #100

Closed limist closed 10 years ago

limist commented 10 years ago

In my project the only change made was to update the version of lib-noir from 0.7.9 to 0.8.1; after that, invoking lein repl causes this error to be seen:

#<CompilerException java.lang.RuntimeException: No such var: parse/parse-strict, compiling:(cheshire/core.clj:111:8)>

Reverting to 0.7.9 removes the problem.

yogthos commented 10 years ago

it looks like you're having a problem with the latest Cheshire version. The version of lib-noir 0.8.1 has been updated to use the latest Cheshire 5.3.1, you could try to see if anything else depends on the older version by running lein deps :tree. Could you also see if cleaning your project using lein clean solves the issue?

limist commented 10 years ago

Thanks for the suggestions, tried both before posting this issue - nothing else using cheshire besides lib-noir, and did lein clean. You're not seeing the problem on your setup?...

yogthos commented 10 years ago

I haven't experienced the issue. For example, if I make a new luminus project lein new luminus myapp which now uses the latest lib-noir dependency it starts up without problems. Another thing to check would be to clean out the cached cheshire from your ~/.m2 folder, that could also cause conflict. Do you have a stack trace to see where the problem originates?

limist commented 10 years ago

Thanks for the tips: removing old cheshire versions (3.0. +, not sure where the heck those came from!) got rid of the cheshire message. lein deps :tree shows lib-noir 0.8.1 is using slightly old versions of ring (1.2.0 instead of 1.2.1), and compojure (1.1.5 instead of 1.1.6). The current stack trace trying to use lib-noir 0.8.1 is below; only unusual bit are the two references to cemerick.pomegranate.aether$resolve_dependencies* which surprised me, as pomegranate isn't in my lein deps :tree listing at all.

Exception in thread "Thread-4" java.lang.AbstractMethodError
    at java.util.regex.Pattern$Start.<init>(Pattern.java:3061)
    at java.util.regex.Pattern.compile(Pattern.java:1497)
    at java.util.regex.Pattern.<init>(Pattern.java:1150)
    at java.util.regex.Pattern.compile(Pattern.java:840)
    at java.util.regex.Pattern.matches(Pattern.java:945)
    at java.lang.String.matches(String.java:2102)
    at org.apache.maven.model.validation.DefaultModelValidator.validateId(DefaultModelValidator.java:626)
    at org.apache.maven.model.validation.DefaultModelValidator.validateId(DefaultModelValidator.java:614)
    at org.apache.maven.model.validation.DefaultModelValidator.validateEffectiveModel(DefaultModelValidator.java:220)
    at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:415)
    at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:371)
    at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:362)
    at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:232)
    at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:322)
    at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor(DefaultArtifactDescriptorReader.java:186)
    at org.sonatype.aether.impl.internal.DefaultDependencyCollector.process(DefaultDependencyCollector.java:412)
    at org.sonatype.aether.impl.internal.DefaultDependencyCollector.process(DefaultDependencyCollector.java:544)
    at org.sonatype.aether.impl.internal.DefaultDependencyCollector.process(DefaultDependencyCollector.java:544)
    at org.sonatype.aether.impl.internal.DefaultDependencyCollector.process(DefaultDependencyCollector.java:544)
    at org.sonatype.aether.impl.internal.DefaultDependencyCollector.collectDependencies(DefaultDependencyCollector.java:240)
    at org.sonatype.aether.impl.internal.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:333)
    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:622)
    at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93)
    at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28)
    at cemerick.pomegranate.aether$resolve_dependencies_STAR_.doInvoke(aether.clj:585)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invoke(core.clj:617)
    at cemerick.pomegranate.aether$resolve_dependencies.doInvoke(aether.clj:594)
    at clojure.lang.RestFn.invoke(RestFn.java:2088)
    at leiningen.core.classpath$fn__2759.invoke(classpath.clj:170)
    at clojure.lang.AFn.applyToHelper(AFn.java:167)
    at clojure.lang.AFn.applyTo(AFn.java:151)
    at clojure.core$apply.invoke(core.clj:617)
    at clojure.core$memoize$fn__5049.doInvoke(core.clj:5735)
    at clojure.lang.RestFn.invoke(RestFn.java:436)
    at leiningen.core.classpath$get_dependencies.doInvoke(classpath.clj:299)
    at clojure.lang.RestFn.invoke(RestFn.java:425)
    at clojure.lang.AFn.applyToHelper(AFn.java:163)
    at clojure.lang.RestFn.applyTo(RestFn.java:132)
    at clojure.core$apply.invoke(core.clj:621)
    at leiningen.core.classpath$resolve_dependencies.doInvoke(classpath.clj:343)
    at clojure.lang.RestFn.invoke(RestFn.java:425)
    at leiningen.core.eval$prep.invoke(eval.clj:56)
    at leiningen.core.eval$eval_in_project.invoke(eval.clj:323)
    at clojure.lang.AFn.applyToHelper(AFn.java:167)
    at clojure.lang.AFn.applyTo(AFn.java:151)
    at clojure.core$apply.invoke(core.clj:619)
    at leiningen.repl$server$fn__7443.invoke(repl.clj:201)
    at clojure.lang.AFn.applyToHelper(AFn.java:159)
    at clojure.lang.AFn.applyTo(AFn.java:151)
    at clojure.core$apply.invoke(core.clj:617)
    at clojure.core$with_bindings_STAR_.doInvoke(core.clj:1788)
    at clojure.lang.RestFn.invoke(RestFn.java:425)
    at clojure.lang.AFn.applyToHelper(AFn.java:163)
    at clojure.lang.RestFn.applyTo(RestFn.java:132)
    at clojure.core$apply.invoke(core.clj:621)
    at clojure.core$bound_fn_STAR_$fn__4102.doInvoke(core.clj:1810)
    at clojure.lang.RestFn.invoke(RestFn.java:397)
    at clojure.lang.AFn.run(AFn.java:24)
    at java.lang.Thread.run(Thread.java:701)
yogthos commented 10 years ago

From the stack trace it looks like there's a problem resolving a dependency, again it doesn't appear to trace to anything specific with lib-noir. Since the last issue was caused by the .m2 cache, you could try emptying it entirely and regenerating it.

limist commented 10 years ago

Took a while to iron out all the issues of the build, but eventually got my setup to work w/ latest lib-noir. Thanks for the tips!