Discussion:
Conflict with clojure.tools.logging?
Vaughn Dickson
2012-12-04 13:10:20 UTC
Permalink
Hi,

I randomly get these "NoClassDefFoundError:
clojure/tools/logging/impl/LoggerFactory" errors on various deployments
when using clojure.tools.logging with logback and datomic together. A lein
clean fixes it, which is a pain because I have to do that on every service
restart. Is anyone else using clojure.tools.logging and datomic together
successfully? I'm running the service with lein trampoline, and I've even
seen the error pop up on a restart with no code changes.

Full stack trace and project.clj deps below. I've tried :exclusions
[org.slf4j/slf4j-nop org.slf4j/slf4j-log4j12]] as per the datomic docs too,
with the same error intermittently.

:dependencies [[cognician/core "0.0.1-SNAPSHOT"]
[org.clojure/clojure "1.4.0"]
[ch.qos.logback/logback-classic "1.0.7"]
[org.clojure/tools.logging "0.2.4"]
[org.clojure/core.memoize "0.5.2"]
[noir "1.3.0-beta8"]
[dsabanin-clj-jgit "0.1.3"]
[shoreleave/shoreleave-remote "0.2.2"]
[shoreleave/shoreleave-remote-noir "0.2.2"]
[enlive "1.0.1"]
[hiccup "1.0.1"]
[com.datomic/datomic-free "0.8.3627" :exclusions
[org.slf4j/slf4j-nop]]
[ring/ring-core "1.1.5"]
[clj-time "0.4.4"]
[clj-http "0.5.5"]
[org.clojure/data.csv "0.1.2"]
[org.clojure/data.json "0.2.0"]
[clj-stacktrace "0.2.5"]
[fs "1.2.0"]
[digest "1.3.0"]
[clojurewerkz/spyglass "1.0.2"]
[com.novemberain/langohr "1.0.0-beta10"]]



Exception in thread "main" java.lang.NoClassDefFoundError:
clojure/tools/logging/impl/LoggerFactory
at cognician.server.server__init.load(Unknown Source)
at cognician.server.server__init.<clinit>(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at clojure.lang.RT.loadClassForName(RT.java:2056)
at clojure.lang.RT.load(RT.java:419)
at clojure.lang.RT.load(RT.java:400)
at clojure.core$load$fn__4890.invoke(core.clj:5415)
at clojure.core$load.doInvoke(core.clj:5414)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invoke(core.clj:5227)
at clojure.core$load_lib.doInvoke(core.clj:5264)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invoke(core.clj:603)
at clojure.core$load_libs.doInvoke(core.clj:5298)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invoke(core.clj:603)
at clojure.core$require.doInvoke(core.clj:5381)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at user$eval1.invoke(NO_SOURCE_FILE:1)
at clojure.lang.Compiler.eval(Compiler.java:6511)
at clojure.lang.Compiler.eval(Compiler.java:6500)
at clojure.lang.Compiler.eval(Compiler.java:6477)
at clojure.core$eval.invoke(core.clj:2797)
at clojure.main$eval_opt.invoke(main.clj:297)
at clojure.main$initialize.invoke(main.clj:316)
at clojure.main$null_opt.invoke(main.clj:349)
at clojure.main$main.doInvoke(main.clj:427)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at clojure.lang.Var.invoke(Var.java:419)
at clojure.lang.AFn.applyToHelper(AFn.java:163)
at clojure.lang.Var.applyTo(Var.java:532)
at clojure.main.main(main.java:37)
Caused by: java.lang.ClassNotFoundException:
clojure.tools.logging.impl.LoggerFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 33 more
--
-- You received this message because you are subscribed to the Google Groups Datomic group. To post to this group, send email to ***@googlegroups.com. To unsubscribe from this group, send email to datomic+***@googlegroups.com. For more options, visit this group at https://groups.google.com/d/forum/datomic?hl=en
Stuart Halloway
2012-12-04 18:54:30 UTC
Permalink
Hi Vaughn,

I have not seen this. When you say "various deployments", do you mean
that specific lein commands related to deployment are the only place
you see this? If so, which ones?

Thanks,
Stu
Hi,
clojure/tools/logging/impl/LoggerFactory" errors on various deployments when
using clojure.tools.logging with logback and datomic together. A lein clean
fixes it, which is a pain because I have to do that on every service
restart. Is anyone else using clojure.tools.logging and datomic together
successfully? I'm running the service with lein trampoline, and I've even
seen the error pop up on a restart with no code changes.
Full stack trace and project.clj deps below. I've tried :exclusions
[org.slf4j/slf4j-nop org.slf4j/slf4j-log4j12]] as per the datomic docs too,
with the same error intermittently.
:dependencies [[cognician/core "0.0.1-SNAPSHOT"]
[org.clojure/clojure "1.4.0"]
[ch.qos.logback/logback-classic "1.0.7"]
[org.clojure/tools.logging "0.2.4"]
[org.clojure/core.memoize "0.5.2"]
[noir "1.3.0-beta8"]
[dsabanin-clj-jgit "0.1.3"]
[shoreleave/shoreleave-remote "0.2.2"]
[shoreleave/shoreleave-remote-noir "0.2.2"]
[enlive "1.0.1"]
[hiccup "1.0.1"]
[com.datomic/datomic-free "0.8.3627" :exclusions
[org.slf4j/slf4j-nop]]
[ring/ring-core "1.1.5"]
[clj-time "0.4.4"]
[clj-http "0.5.5"]
[org.clojure/data.csv "0.1.2"]
[org.clojure/data.json "0.2.0"]
[clj-stacktrace "0.2.5"]
[fs "1.2.0"]
[digest "1.3.0"]
[clojurewerkz/spyglass "1.0.2"]
[com.novemberain/langohr "1.0.0-beta10"]]
clojure/tools/logging/impl/LoggerFactory
at cognician.server.server__init.load(Unknown Source)
at cognician.server.server__init.<clinit>(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at clojure.lang.RT.loadClassForName(RT.java:2056)
at clojure.lang.RT.load(RT.java:419)
at clojure.lang.RT.load(RT.java:400)
at clojure.core$load$fn__4890.invoke(core.clj:5415)
at clojure.core$load.doInvoke(core.clj:5414)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invoke(core.clj:5227)
at clojure.core$load_lib.doInvoke(core.clj:5264)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invoke(core.clj:603)
at clojure.core$load_libs.doInvoke(core.clj:5298)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invoke(core.clj:603)
at clojure.core$require.doInvoke(core.clj:5381)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at user$eval1.invoke(NO_SOURCE_FILE:1)
at clojure.lang.Compiler.eval(Compiler.java:6511)
at clojure.lang.Compiler.eval(Compiler.java:6500)
at clojure.lang.Compiler.eval(Compiler.java:6477)
at clojure.core$eval.invoke(core.clj:2797)
at clojure.main$eval_opt.invoke(main.clj:297)
at clojure.main$initialize.invoke(main.clj:316)
at clojure.main$null_opt.invoke(main.clj:349)
at clojure.main$main.doInvoke(main.clj:427)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at clojure.lang.Var.invoke(Var.java:419)
at clojure.lang.AFn.applyToHelper(AFn.java:163)
at clojure.lang.Var.applyTo(Var.java:532)
at clojure.main.main(main.java:37)
clojure.tools.logging.impl.LoggerFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 33 more
--
-- You received this message because you are subscribed to the Google Groups
Datomic group. To post to this group, send email to
https://groups.google.com/d/forum/datomic?hl=en
--
-- You received this message because you are subscribed to the Google Groups Datomic group. To post to this group, send email to ***@googlegroups.com. To unsubscribe from this group, send email to datomic+***@googlegroups.com. For more options, visit this group at https://groups.google.com/d/forum/datomic?hl=en
Vaughn Dickson
2012-12-04 20:14:19 UTC
Permalink
Hey Stu,

I mean various ec2 node deployments. I rsync the whole lot excluding
/target/. The first lein run from upstart works, and after a few restarts
with or without code deployments it packs up with that error. A lein clean
sorts it out till it decides to bug out again. Can't find any pattern to
it. I thought it was something obvious like changing dependencies, e.g.
datomic versions, but it doesn't seem related.

Regards,
Vaughn
Post by Stuart Halloway
Hi Vaughn,
I have not seen this. When you say "various deployments", do you mean
that specific lein commands related to deployment are the only place
you see this? If so, which ones?
Thanks,
Stu
Post by Vaughn Dickson
Hi,
clojure/tools/logging/impl/LoggerFactory" errors on various deployments
when
Post by Vaughn Dickson
using clojure.tools.logging with logback and datomic together. A lein
clean
Post by Vaughn Dickson
fixes it, which is a pain because I have to do that on every service
restart. Is anyone else using clojure.tools.logging and datomic together
successfully? I'm running the service with lein trampoline, and I've
even
Post by Vaughn Dickson
seen the error pop up on a restart with no code changes.
Full stack trace and project.clj deps below. I've tried :exclusions
[org.slf4j/slf4j-nop org.slf4j/slf4j-log4j12]] as per the datomic docs
too,
Post by Vaughn Dickson
with the same error intermittently.
:dependencies [[cognician/core "0.0.1-SNAPSHOT"]
[org.clojure/clojure "1.4.0"]
[ch.qos.logback/logback-classic "1.0.7"]
[org.clojure/tools.logging "0.2.4"]
[org.clojure/core.memoize "0.5.2"]
[noir "1.3.0-beta8"]
[dsabanin-clj-jgit "0.1.3"]
[shoreleave/shoreleave-remote "0.2.2"]
[shoreleave/shoreleave-remote-noir "0.2.2"]
[enlive "1.0.1"]
[hiccup "1.0.1"]
[com.datomic/datomic-free "0.8.3627" :exclusions
[org.slf4j/slf4j-nop]]
[ring/ring-core "1.1.5"]
[clj-time "0.4.4"]
[clj-http "0.5.5"]
[org.clojure/data.csv "0.1.2"]
[org.clojure/data.json "0.2.0"]
[clj-stacktrace "0.2.5"]
[fs "1.2.0"]
[digest "1.3.0"]
[clojurewerkz/spyglass "1.0.2"]
[com.novemberain/langohr "1.0.0-beta10"]]
clojure/tools/logging/impl/LoggerFactory
at cognician.server.server__init.load(Unknown Source)
at cognician.server.server__init.<clinit>(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at clojure.lang.RT.loadClassForName(RT.java:2056)
at clojure.lang.RT.load(RT.java:419)
at clojure.lang.RT.load(RT.java:400)
at clojure.core$load$fn__4890.invoke(core.clj:5415)
at clojure.core$load.doInvoke(core.clj:5414)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invoke(core.clj:5227)
at clojure.core$load_lib.doInvoke(core.clj:5264)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invoke(core.clj:603)
at clojure.core$load_libs.doInvoke(core.clj:5298)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invoke(core.clj:603)
at clojure.core$require.doInvoke(core.clj:5381)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at user$eval1.invoke(NO_SOURCE_FILE:1)
at clojure.lang.Compiler.eval(Compiler.java:6511)
at clojure.lang.Compiler.eval(Compiler.java:6500)
at clojure.lang.Compiler.eval(Compiler.java:6477)
at clojure.core$eval.invoke(core.clj:2797)
at clojure.main$eval_opt.invoke(main.clj:297)
at clojure.main$initialize.invoke(main.clj:316)
at clojure.main$null_opt.invoke(main.clj:349)
at clojure.main$main.doInvoke(main.clj:427)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at clojure.lang.Var.invoke(Var.java:419)
at clojure.lang.AFn.applyToHelper(AFn.java:163)
at clojure.lang.Var.applyTo(Var.java:532)
at clojure.main.main(main.java:37)
clojure.tools.logging.impl.LoggerFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 33 more
--
-- You received this message because you are subscribed to the Google
Groups
Post by Vaughn Dickson
Datomic group. To post to this group, send email to
send email to
this group at
Post by Vaughn Dickson
https://groups.google.com/d/forum/datomic?hl=en
--
-- You received this message because you are subscribed to the Google Groups Datomic group. To post to this group, send email to ***@googlegroups.com. To unsubscribe from this group, send email to datomic+***@googlegroups.com. For more options, visit this group at https://groups.google.com/d/forum/datomic?hl=en
Mike Blume
2013-02-07 22:27:27 UTC
Permalink
Vaughn, I'm getting a problem much like yours but am not using
datomic at all. My project.clj follows:

(defproject loggly/loggly-metamorphosis "1.0-SNAPSHOT"
:dependencies [[loggly/loggly-core "1.0-SNAPSHOT"]
[com.offbytwo.iclojure/iclojure "1.2.0"]
[org.clojure/clojure "1.5.0-beta10"]
[com.google.guava/guava "13.0"]
[org.clojars.jasonjckn/kafka_2.9.1 "0.7.0"]
[org.clojure/data.json "0.2.0"]
[org.clojure/tools.logging "0.2.6"]]
:plugins []
:aot :all
:warn-on-reflection true
:source-paths ["src/clj"]
:test-paths ["test/clj"])

and my profiles.clj:

{:user {:plugins [[lein-iclojure "1.2-SNAPSHOT"]
[lein-cloverage "1.0.2"]
[lein-kibit "0.0.7"]]
:aliases {"ir" ["trampoline" "irepl"]}}}

Like you, a lein clean; lein trampoline irepl works fine, but a lein
trampoline irepl following this almost always gives a

Exception in thread "main" java.lang.NoClassDefFoundError:
clojure/tools/logging/impl/LoggerFactory

stacktrace.
Stuart Sierra
2013-02-11 01:32:28 UTC
Permalink
I've seen similar errors before. This is probably caused by
AOT-compilation, which does weird things with load-order and static
initializers.

Avoid AOT-compilation if possible. If you need it, then do it only on code
you are going to deploy and then immediately run `lein clean`.

-S
Post by Mike Blume
Vaughn, I'm getting a problem much like yours but am not using
(defproject loggly/loggly-metamorphosis "1.0-SNAPSHOT"
:dependencies [[loggly/loggly-core "1.0-SNAPSHOT"]
[com.offbytwo.iclojure/iclojure "1.2.0"]
[org.clojure/clojure "1.5.0-beta10"]
[com.google.guava/guava "13.0"]
[org.clojars.jasonjckn/kafka_2.9.1 "0.7.0"]
[org.clojure/data.json "0.2.0"]
[org.clojure/tools.logging "0.2.6"]]
:plugins []
:aot :all
:warn-on-reflection true
:source-paths ["src/clj"]
:test-paths ["test/clj"])
{:user {:plugins [[lein-iclojure "1.2-SNAPSHOT"]
[lein-cloverage "1.0.2"]
[lein-kibit "0.0.7"]]
:aliases {"ir" ["trampoline" "irepl"]}}}
Like you, a lein clean; lein trampoline irepl works fine, but a lein
trampoline irepl following this almost always gives a
clojure/tools/logging/impl/LoggerFactory
stacktrace.
--
You received this message because you are subscribed to the Google Groups "Datomic" group.
To unsubscribe from this group and stop receiving emails from it, send an email to datomic+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
For more options, visit https://groups.google.com/groups/opt_out.
Vaughn Dickson
2013-02-11 06:06:21 UTC
Permalink
Hi Mike,

My solution was dumping clojure.tools.logging and calling logback directly.
Post by Mike Blume
Vaughn, I'm getting a problem much like yours but am not using
(defproject loggly/loggly-metamorphosis "1.0-SNAPSHOT"
:dependencies [[loggly/loggly-core "1.0-SNAPSHOT"]
[com.offbytwo.iclojure/iclojure "1.2.0"]
[org.clojure/clojure "1.5.0-beta10"]
[com.google.guava/guava "13.0"]
[org.clojars.jasonjckn/kafka_2.9.1 "0.7.0"]
[org.clojure/data.json "0.2.0"]
[org.clojure/tools.logging "0.2.6"]]
:plugins []
:aot :all
:warn-on-reflection true
:source-paths ["src/clj"]
:test-paths ["test/clj"])
{:user {:plugins [[lein-iclojure "1.2-SNAPSHOT"]
[lein-cloverage "1.0.2"]
[lein-kibit "0.0.7"]]
:aliases {"ir" ["trampoline" "irepl"]}}}
Like you, a lein clean; lein trampoline irepl works fine, but a lein
trampoline irepl following this almost always gives a
clojure/tools/logging/impl/LoggerFactory
stacktrace.
--
You received this message because you are subscribed to the Google Groups "Datomic" group.
To unsubscribe from this group and stop receiving emails from it, send an email to datomic+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
For more options, visit https://groups.google.com/groups/opt_out.
Wei Hsu
2013-09-19 12:49:44 UTC
Permalink
I ran into the same issue and fixed it by disabling aot compilation. There
has to be a better solution, but for now I'm commenting and uncommenting
the :aot :all line depending on whether I'm building for prod or dev.
Post by Vaughn Dickson
Hi Mike,
My solution was dumping clojure.tools.logging and calling logback directly.
Post by Mike Blume
Vaughn, I'm getting a problem much like yours but am not using
(defproject loggly/loggly-metamorphosis "1.0-SNAPSHOT"
:dependencies [[loggly/loggly-core "1.0-SNAPSHOT"]
[com.offbytwo.iclojure/iclojure "1.2.0"]
[org.clojure/clojure "1.5.0-beta10"]
[com.google.guava/guava "13.0"]
[org.clojars.jasonjckn/kafka_2.9.1 "0.7.0"]
[org.clojure/data.json "0.2.0"]
[org.clojure/tools.logging "0.2.6"]]
:plugins []
:aot :all
:warn-on-reflection true
:source-paths ["src/clj"]
:test-paths ["test/clj"])
{:user {:plugins [[lein-iclojure "1.2-SNAPSHOT"]
[lein-cloverage "1.0.2"]
[lein-kibit "0.0.7"]]
:aliases {"ir" ["trampoline" "irepl"]}}}
Like you, a lein clean; lein trampoline irepl works fine, but a lein
trampoline irepl following this almost always gives a
clojure/tools/logging/impl/LoggerFactory
stacktrace.
--
You received this message because you are subscribed to the Google Groups "Datomic" group.
To unsubscribe from this group and stop receiving emails from it, send an email to datomic+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
For more options, visit https://groups.google.com/groups/opt_out.
W. David Jarvis
2014-09-06 18:16:13 UTC
Permalink
I have more or less the same problem - very similar looking stack trace
with the same root cause - looks to be AOT compilation picking up
clojure.tools.logging. I was able to narrow it down to whether or not my
entry namespace called clojure.tools.logging or not - removing the function
call caused everything to work again, which was annoying. It would be
awesome to figure out a proper solution to this at some point.
Post by Vaughn Dickson
Hi,
clojure/tools/logging/impl/LoggerFactory" errors on various deployments
when using clojure.tools.logging with logback and datomic together. A lein
clean fixes it, which is a pain because I have to do that on every service
restart. Is anyone else using clojure.tools.logging and datomic together
successfully? I'm running the service with lein trampoline, and I've even
seen the error pop up on a restart with no code changes.
Full stack trace and project.clj deps below. I've tried :exclusions
[org.slf4j/slf4j-nop org.slf4j/slf4j-log4j12]] as per the datomic docs
too, with the same error intermittently.
:dependencies [[cognician/core "0.0.1-SNAPSHOT"]
[org.clojure/clojure "1.4.0"]
[ch.qos.logback/logback-classic "1.0.7"]
[org.clojure/tools.logging "0.2.4"]
[org.clojure/core.memoize "0.5.2"]
[noir "1.3.0-beta8"]
[dsabanin-clj-jgit "0.1.3"]
[shoreleave/shoreleave-remote "0.2.2"]
[shoreleave/shoreleave-remote-noir "0.2.2"]
[enlive "1.0.1"]
[hiccup "1.0.1"]
[com.datomic/datomic-free "0.8.3627" :exclusions
[org.slf4j/slf4j-nop]]
[ring/ring-core "1.1.5"]
[clj-time "0.4.4"]
[clj-http "0.5.5"]
[org.clojure/data.csv "0.1.2"]
[org.clojure/data.json "0.2.0"]
[clj-stacktrace "0.2.5"]
[fs "1.2.0"]
[digest "1.3.0"]
[clojurewerkz/spyglass "1.0.2"]
[com.novemberain/langohr "1.0.0-beta10"]]
clojure/tools/logging/impl/LoggerFactory
at cognician.server.server__init.load(Unknown Source)
at cognician.server.server__init.<clinit>(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at clojure.lang.RT.loadClassForName(RT.java:2056)
at clojure.lang.RT.load(RT.java:419)
at clojure.lang.RT.load(RT.java:400)
at clojure.core$load$fn__4890.invoke(core.clj:5415)
at clojure.core$load.doInvoke(core.clj:5414)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invoke(core.clj:5227)
at clojure.core$load_lib.doInvoke(core.clj:5264)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invoke(core.clj:603)
at clojure.core$load_libs.doInvoke(core.clj:5298)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invoke(core.clj:603)
at clojure.core$require.doInvoke(core.clj:5381)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at user$eval1.invoke(NO_SOURCE_FILE:1)
at clojure.lang.Compiler.eval(Compiler.java:6511)
at clojure.lang.Compiler.eval(Compiler.java:6500)
at clojure.lang.Compiler.eval(Compiler.java:6477)
at clojure.core$eval.invoke(core.clj:2797)
at clojure.main$eval_opt.invoke(main.clj:297)
at clojure.main$initialize.invoke(main.clj:316)
at clojure.main$null_opt.invoke(main.clj:349)
at clojure.main$main.doInvoke(main.clj:427)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at clojure.lang.Var.invoke(Var.java:419)
at clojure.lang.AFn.applyToHelper(AFn.java:163)
at clojure.lang.Var.applyTo(Var.java:532)
at clojure.main.main(main.java:37)
clojure.tools.logging.impl.LoggerFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 33 more
--
You received this message because you are subscribed to the Google Groups "Datomic" group.
To unsubscribe from this group and stop receiving emails from it, send an email to datomic+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
For more options, visit https://groups.google.com/d/optout.
Allen Rohner
2014-09-11 17:54:25 UTC
Permalink
I've also seen similar problems. Changing the order of the requires in my
ns declaration fixed it, even when using AOT. I suspect some kind of
classloader issue.
Post by W. David Jarvis
I have more or less the same problem - very similar looking stack trace
with the same root cause - looks to be AOT compilation picking up
clojure.tools.logging. I was able to narrow it down to whether or not my
entry namespace called clojure.tools.logging or not - removing the function
call caused everything to work again, which was annoying. It would be
awesome to figure out a proper solution to this at some point.
Post by Vaughn Dickson
Hi,
clojure/tools/logging/impl/LoggerFactory" errors on various deployments
when using clojure.tools.logging with logback and datomic together. A lein
clean fixes it, which is a pain because I have to do that on every service
restart. Is anyone else using clojure.tools.logging and datomic together
successfully? I'm running the service with lein trampoline, and I've even
seen the error pop up on a restart with no code changes.
Full stack trace and project.clj deps below. I've tried :exclusions
[org.slf4j/slf4j-nop org.slf4j/slf4j-log4j12]] as per the datomic docs
too, with the same error intermittently.
:dependencies [[cognician/core "0.0.1-SNAPSHOT"]
[org.clojure/clojure "1.4.0"]
[ch.qos.logback/logback-classic "1.0.7"]
[org.clojure/tools.logging "0.2.4"]
[org.clojure/core.memoize "0.5.2"]
[noir "1.3.0-beta8"]
[dsabanin-clj-jgit "0.1.3"]
[shoreleave/shoreleave-remote "0.2.2"]
[shoreleave/shoreleave-remote-noir "0.2.2"]
[enlive "1.0.1"]
[hiccup "1.0.1"]
[com.datomic/datomic-free "0.8.3627" :exclusions
[org.slf4j/slf4j-nop]]
[ring/ring-core "1.1.5"]
[clj-time "0.4.4"]
[clj-http "0.5.5"]
[org.clojure/data.csv "0.1.2"]
[org.clojure/data.json "0.2.0"]
[clj-stacktrace "0.2.5"]
[fs "1.2.0"]
[digest "1.3.0"]
[clojurewerkz/spyglass "1.0.2"]
[com.novemberain/langohr "1.0.0-beta10"]]
clojure/tools/logging/impl/LoggerFactory
at cognician.server.server__init.load(Unknown Source)
at cognician.server.server__init.<clinit>(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at clojure.lang.RT.loadClassForName(RT.java:2056)
at clojure.lang.RT.load(RT.java:419)
at clojure.lang.RT.load(RT.java:400)
at clojure.core$load$fn__4890.invoke(core.clj:5415)
at clojure.core$load.doInvoke(core.clj:5414)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invoke(core.clj:5227)
at clojure.core$load_lib.doInvoke(core.clj:5264)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invoke(core.clj:603)
at clojure.core$load_libs.doInvoke(core.clj:5298)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invoke(core.clj:603)
at clojure.core$require.doInvoke(core.clj:5381)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at user$eval1.invoke(NO_SOURCE_FILE:1)
at clojure.lang.Compiler.eval(Compiler.java:6511)
at clojure.lang.Compiler.eval(Compiler.java:6500)
at clojure.lang.Compiler.eval(Compiler.java:6477)
at clojure.core$eval.invoke(core.clj:2797)
at clojure.main$eval_opt.invoke(main.clj:297)
at clojure.main$initialize.invoke(main.clj:316)
at clojure.main$null_opt.invoke(main.clj:349)
at clojure.main$main.doInvoke(main.clj:427)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at clojure.lang.Var.invoke(Var.java:419)
at clojure.lang.AFn.applyToHelper(AFn.java:163)
at clojure.lang.Var.applyTo(Var.java:532)
at clojure.main.main(main.java:37)
clojure.tools.logging.impl.LoggerFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 33 more
--
You received this message because you are subscribed to the Google Groups "Datomic" group.
To unsubscribe from this group and stop receiving emails from it, send an email to datomic+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
For more options, visit https://groups.google.com/d/optout.
Allen Rohner
2014-09-17 22:28:26 UTC
Permalink
Ok, I spent most of a day on this now. I discovered that if tools.logging
is required normally, before the compilation starts, tools.logging will
fail with this message.

This behavior isn't specific to tools.logging, it seems to appear any time
a protocol is defined during the require, before the compile. I was able to
repro it using clj-time as well.

Hope this is useful information next time.

Thanks,
Allen
Post by Allen Rohner
I've also seen similar problems. Changing the order of the requires in my
ns declaration fixed it, even when using AOT. I suspect some kind of
classloader issue.
Post by W. David Jarvis
I have more or less the same problem - very similar looking stack trace
with the same root cause - looks to be AOT compilation picking up
clojure.tools.logging. I was able to narrow it down to whether or not my
entry namespace called clojure.tools.logging or not - removing the function
call caused everything to work again, which was annoying. It would be
awesome to figure out a proper solution to this at some point.
Post by Vaughn Dickson
Hi,
clojure/tools/logging/impl/LoggerFactory" errors on various deployments
when using clojure.tools.logging with logback and datomic together. A lein
clean fixes it, which is a pain because I have to do that on every service
restart. Is anyone else using clojure.tools.logging and datomic together
successfully? I'm running the service with lein trampoline, and I've even
seen the error pop up on a restart with no code changes.
Full stack trace and project.clj deps below. I've tried :exclusions
[org.slf4j/slf4j-nop org.slf4j/slf4j-log4j12]] as per the datomic docs
too, with the same error intermittently.
:dependencies [[cognician/core "0.0.1-SNAPSHOT"]
[org.clojure/clojure "1.4.0"]
[ch.qos.logback/logback-classic "1.0.7"]
[org.clojure/tools.logging "0.2.4"]
[org.clojure/core.memoize "0.5.2"]
[noir "1.3.0-beta8"]
[dsabanin-clj-jgit "0.1.3"]
[shoreleave/shoreleave-remote "0.2.2"]
[shoreleave/shoreleave-remote-noir "0.2.2"]
[enlive "1.0.1"]
[hiccup "1.0.1"]
[com.datomic/datomic-free "0.8.3627" :exclusions
[org.slf4j/slf4j-nop]]
[ring/ring-core "1.1.5"]
[clj-time "0.4.4"]
[clj-http "0.5.5"]
[org.clojure/data.csv "0.1.2"]
[org.clojure/data.json "0.2.0"]
[clj-stacktrace "0.2.5"]
[fs "1.2.0"]
[digest "1.3.0"]
[clojurewerkz/spyglass "1.0.2"]
[com.novemberain/langohr "1.0.0-beta10"]]
clojure/tools/logging/impl/LoggerFactory
at cognician.server.server__init.load(Unknown Source)
at cognician.server.server__init.<clinit>(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at clojure.lang.RT.loadClassForName(RT.java:2056)
at clojure.lang.RT.load(RT.java:419)
at clojure.lang.RT.load(RT.java:400)
at clojure.core$load$fn__4890.invoke(core.clj:5415)
at clojure.core$load.doInvoke(core.clj:5414)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invoke(core.clj:5227)
at clojure.core$load_lib.doInvoke(core.clj:5264)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invoke(core.clj:603)
at clojure.core$load_libs.doInvoke(core.clj:5298)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invoke(core.clj:603)
at clojure.core$require.doInvoke(core.clj:5381)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at user$eval1.invoke(NO_SOURCE_FILE:1)
at clojure.lang.Compiler.eval(Compiler.java:6511)
at clojure.lang.Compiler.eval(Compiler.java:6500)
at clojure.lang.Compiler.eval(Compiler.java:6477)
at clojure.core$eval.invoke(core.clj:2797)
at clojure.main$eval_opt.invoke(main.clj:297)
at clojure.main$initialize.invoke(main.clj:316)
at clojure.main$null_opt.invoke(main.clj:349)
at clojure.main$main.doInvoke(main.clj:427)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at clojure.lang.Var.invoke(Var.java:419)
at clojure.lang.AFn.applyToHelper(AFn.java:163)
at clojure.lang.Var.applyTo(Var.java:532)
at clojure.main.main(main.java:37)
clojure.tools.logging.impl.LoggerFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 33 more
--
You received this message because you are subscribed to the Google Groups "Datomic" group.
To unsubscribe from this group and stop receiving emails from it, send an email to datomic+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
For more options, visit https://groups.google.com/d/optout.
Alex Miller
2014-09-23 18:37:02 UTC
Permalink
Allen (or whomever), I would love to have a CLJ ticket about this with
whatever repro info you have. AFAIK, there is no existing ticket for this.

JIRA here:
http://dev.clojure.org/jira/browse/CLJ

Alex
Post by Allen Rohner
Ok, I spent most of a day on this now. I discovered that if tools.logging
is required normally, before the compilation starts, tools.logging will
fail with this message.
This behavior isn't specific to tools.logging, it seems to appear any time
a protocol is defined during the require, before the compile. I was able to
repro it using clj-time as well.
Hope this is useful information next time.
Thanks,
Allen
Post by Allen Rohner
I've also seen similar problems. Changing the order of the requires in my
ns declaration fixed it, even when using AOT. I suspect some kind of
classloader issue.
Post by W. David Jarvis
I have more or less the same problem - very similar looking stack trace
with the same root cause - looks to be AOT compilation picking up
clojure.tools.logging. I was able to narrow it down to whether or not my
entry namespace called clojure.tools.logging or not - removing the function
call caused everything to work again, which was annoying. It would be
awesome to figure out a proper solution to this at some point.
Post by Vaughn Dickson
Hi,
clojure/tools/logging/impl/LoggerFactory" errors on various deployments
when using clojure.tools.logging with logback and datomic together. A lein
clean fixes it, which is a pain because I have to do that on every service
restart. Is anyone else using clojure.tools.logging and datomic together
successfully? I'm running the service with lein trampoline, and I've even
seen the error pop up on a restart with no code changes.
Full stack trace and project.clj deps below. I've tried :exclusions
[org.slf4j/slf4j-nop org.slf4j/slf4j-log4j12]] as per the datomic docs
too, with the same error intermittently.
:dependencies [[cognician/core "0.0.1-SNAPSHOT"]
[org.clojure/clojure "1.4.0"]
[ch.qos.logback/logback-classic "1.0.7"]
[org.clojure/tools.logging "0.2.4"]
[org.clojure/core.memoize "0.5.2"]
[noir "1.3.0-beta8"]
[dsabanin-clj-jgit "0.1.3"]
[shoreleave/shoreleave-remote "0.2.2"]
[shoreleave/shoreleave-remote-noir "0.2.2"]
[enlive "1.0.1"]
[hiccup "1.0.1"]
[com.datomic/datomic-free "0.8.3627" :exclusions
[org.slf4j/slf4j-nop]]
[ring/ring-core "1.1.5"]
[clj-time "0.4.4"]
[clj-http "0.5.5"]
[org.clojure/data.csv "0.1.2"]
[org.clojure/data.json "0.2.0"]
[clj-stacktrace "0.2.5"]
[fs "1.2.0"]
[digest "1.3.0"]
[clojurewerkz/spyglass "1.0.2"]
[com.novemberain/langohr "1.0.0-beta10"]]
clojure/tools/logging/impl/LoggerFactory
at cognician.server.server__init.load(Unknown Source)
at cognician.server.server__init.<clinit>(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at clojure.lang.RT.loadClassForName(RT.java:2056)
at clojure.lang.RT.load(RT.java:419)
at clojure.lang.RT.load(RT.java:400)
at clojure.core$load$fn__4890.invoke(core.clj:5415)
at clojure.core$load.doInvoke(core.clj:5414)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invoke(core.clj:5227)
at clojure.core$load_lib.doInvoke(core.clj:5264)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invoke(core.clj:603)
at clojure.core$load_libs.doInvoke(core.clj:5298)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invoke(core.clj:603)
at clojure.core$require.doInvoke(core.clj:5381)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at user$eval1.invoke(NO_SOURCE_FILE:1)
at clojure.lang.Compiler.eval(Compiler.java:6511)
at clojure.lang.Compiler.eval(Compiler.java:6500)
at clojure.lang.Compiler.eval(Compiler.java:6477)
at clojure.core$eval.invoke(core.clj:2797)
at clojure.main$eval_opt.invoke(main.clj:297)
at clojure.main$initialize.invoke(main.clj:316)
at clojure.main$null_opt.invoke(main.clj:349)
at clojure.main$main.doInvoke(main.clj:427)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at clojure.lang.Var.invoke(Var.java:419)
at clojure.lang.AFn.applyToHelper(AFn.java:163)
at clojure.lang.Var.applyTo(Var.java:532)
at clojure.main.main(main.java:37)
clojure.tools.logging.impl.LoggerFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 33 more
--
You received this message because you are subscribed to the Google Groups "Datomic" group.
To unsubscribe from this group and stop receiving emails from it, send an email to datomic+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
For more options, visit https://groups.google.com/d/optout.
Allen Rohner
2014-10-01 18:31:07 UTC
Permalink
Alex,

Sorry for the delay, I hadn't checked the list in awhile.

http://dev.clojure.org/jira/browse/CLJ-1544

This isn't the 'best' repro case I've found, because it looks a little
pathological, but it's *a* minimal case, and the error message matches what
I see in normal usage.

Thanks,
Allen
Post by Alex Miller
Allen (or whomever), I would love to have a CLJ ticket about this with
whatever repro info you have. AFAIK, there is no existing ticket for this.
http://dev.clojure.org/jira/browse/CLJ
Alex
Post by Allen Rohner
Ok, I spent most of a day on this now. I discovered that if tools.logging
is required normally, before the compilation starts, tools.logging will
fail with this message.
This behavior isn't specific to tools.logging, it seems to appear any
time a protocol is defined during the require, before the compile. I was
able to repro it using clj-time as well.
Hope this is useful information next time.
Thanks,
Allen
Post by Allen Rohner
I've also seen similar problems. Changing the order of the requires in
my ns declaration fixed it, even when using AOT. I suspect some kind of
classloader issue.
Post by W. David Jarvis
I have more or less the same problem - very similar looking stack trace
with the same root cause - looks to be AOT compilation picking up
clojure.tools.logging. I was able to narrow it down to whether or not my
entry namespace called clojure.tools.logging or not - removing the function
call caused everything to work again, which was annoying. It would be
awesome to figure out a proper solution to this at some point.
Post by Vaughn Dickson
Hi,
clojure/tools/logging/impl/LoggerFactory" errors on various deployments
when using clojure.tools.logging with logback and datomic together. A lein
clean fixes it, which is a pain because I have to do that on every service
restart. Is anyone else using clojure.tools.logging and datomic together
successfully? I'm running the service with lein trampoline, and I've even
seen the error pop up on a restart with no code changes.
Full stack trace and project.clj deps below. I've tried :exclusions
[org.slf4j/slf4j-nop org.slf4j/slf4j-log4j12]] as per the datomic
docs too, with the same error intermittently.
:dependencies [[cognician/core "0.0.1-SNAPSHOT"]
[org.clojure/clojure "1.4.0"]
[ch.qos.logback/logback-classic "1.0.7"]
[org.clojure/tools.logging "0.2.4"]
[org.clojure/core.memoize "0.5.2"]
[noir "1.3.0-beta8"]
[dsabanin-clj-jgit "0.1.3"]
[shoreleave/shoreleave-remote "0.2.2"]
[shoreleave/shoreleave-remote-noir "0.2.2"]
[enlive "1.0.1"]
[hiccup "1.0.1"]
[com.datomic/datomic-free "0.8.3627" :exclusions
[org.slf4j/slf4j-nop]]
[ring/ring-core "1.1.5"]
[clj-time "0.4.4"]
[clj-http "0.5.5"]
[org.clojure/data.csv "0.1.2"]
[org.clojure/data.json "0.2.0"]
[clj-stacktrace "0.2.5"]
[fs "1.2.0"]
[digest "1.3.0"]
[clojurewerkz/spyglass "1.0.2"]
[com.novemberain/langohr "1.0.0-beta10"]]
clojure/tools/logging/impl/LoggerFactory
at cognician.server.server__init.load(Unknown Source)
at cognician.server.server__init.<clinit>(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at clojure.lang.RT.loadClassForName(RT.java:2056)
at clojure.lang.RT.load(RT.java:419)
at clojure.lang.RT.load(RT.java:400)
at clojure.core$load$fn__4890.invoke(core.clj:5415)
at clojure.core$load.doInvoke(core.clj:5414)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invoke(core.clj:5227)
at clojure.core$load_lib.doInvoke(core.clj:5264)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invoke(core.clj:603)
at clojure.core$load_libs.doInvoke(core.clj:5298)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invoke(core.clj:603)
at clojure.core$require.doInvoke(core.clj:5381)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at user$eval1.invoke(NO_SOURCE_FILE:1)
at clojure.lang.Compiler.eval(Compiler.java:6511)
at clojure.lang.Compiler.eval(Compiler.java:6500)
at clojure.lang.Compiler.eval(Compiler.java:6477)
at clojure.core$eval.invoke(core.clj:2797)
at clojure.main$eval_opt.invoke(main.clj:297)
at clojure.main$initialize.invoke(main.clj:316)
at clojure.main$null_opt.invoke(main.clj:349)
at clojure.main$main.doInvoke(main.clj:427)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at clojure.lang.Var.invoke(Var.java:419)
at clojure.lang.AFn.applyToHelper(AFn.java:163)
at clojure.lang.Var.applyTo(Var.java:532)
at clojure.main.main(main.java:37)
clojure.tools.logging.impl.LoggerFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 33 more
--
You received this message because you are subscribed to the Google Groups "Datomic" group.
To unsubscribe from this group and stop receiving emails from it, send an email to datomic+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
For more options, visit https://groups.google.com/d/optout.
Josh Glover
2014-11-20 13:40:03 UTC
Permalink
Hi Allen,

Were you able to find a work-around for this? I'm having the same problem
in a library that I wrote that is included in a Ring app that needs to be
AOT compiled at some point. I tried moving the clojure.tools.logging
require around, but to no avail thus far.

Cheers,
Josh
Post by Allen Rohner
Ok, I spent most of a day on this now. I discovered that if tools.logging
is required normally, before the compilation starts, tools.logging will
fail with this message.
This behavior isn't specific to tools.logging, it seems to appear any time
a protocol is defined during the require, before the compile. I was able to
repro it using clj-time as well.
Hope this is useful information next time.
Thanks,
Allen
Post by Allen Rohner
I've also seen similar problems. Changing the order of the requires in my
ns declaration fixed it, even when using AOT. I suspect some kind of
classloader issue.
Post by W. David Jarvis
I have more or less the same problem - very similar looking stack trace
with the same root cause - looks to be AOT compilation picking up
clojure.tools.logging. I was able to narrow it down to whether or not my
entry namespace called clojure.tools.logging or not - removing the function
call caused everything to work again, which was annoying. It would be
awesome to figure out a proper solution to this at some point.
Post by Vaughn Dickson
Hi,
clojure/tools/logging/impl/LoggerFactory" errors on various deployments
when using clojure.tools.logging with logback and datomic together. A lein
clean fixes it, which is a pain because I have to do that on every service
restart. Is anyone else using clojure.tools.logging and datomic together
successfully? I'm running the service with lein trampoline, and I've even
seen the error pop up on a restart with no code changes.
Full stack trace and project.clj deps below. I've tried :exclusions
[org.slf4j/slf4j-nop org.slf4j/slf4j-log4j12]] as per the datomic docs
too, with the same error intermittently.
:dependencies [[cognician/core "0.0.1-SNAPSHOT"]
[org.clojure/clojure "1.4.0"]
[ch.qos.logback/logback-classic "1.0.7"]
[org.clojure/tools.logging "0.2.4"]
[org.clojure/core.memoize "0.5.2"]
[noir "1.3.0-beta8"]
[dsabanin-clj-jgit "0.1.3"]
[shoreleave/shoreleave-remote "0.2.2"]
[shoreleave/shoreleave-remote-noir "0.2.2"]
[enlive "1.0.1"]
[hiccup "1.0.1"]
[com.datomic/datomic-free "0.8.3627" :exclusions
[org.slf4j/slf4j-nop]]
[ring/ring-core "1.1.5"]
[clj-time "0.4.4"]
[clj-http "0.5.5"]
[org.clojure/data.csv "0.1.2"]
[org.clojure/data.json "0.2.0"]
[clj-stacktrace "0.2.5"]
[fs "1.2.0"]
[digest "1.3.0"]
[clojurewerkz/spyglass "1.0.2"]
[com.novemberain/langohr "1.0.0-beta10"]]
clojure/tools/logging/impl/LoggerFactory
at cognician.server.server__init.load(Unknown Source)
at cognician.server.server__init.<clinit>(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at clojure.lang.RT.loadClassForName(RT.java:2056)
at clojure.lang.RT.load(RT.java:419)
at clojure.lang.RT.load(RT.java:400)
at clojure.core$load$fn__4890.invoke(core.clj:5415)
at clojure.core$load.doInvoke(core.clj:5414)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invoke(core.clj:5227)
at clojure.core$load_lib.doInvoke(core.clj:5264)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invoke(core.clj:603)
at clojure.core$load_libs.doInvoke(core.clj:5298)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invoke(core.clj:603)
at clojure.core$require.doInvoke(core.clj:5381)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at user$eval1.invoke(NO_SOURCE_FILE:1)
at clojure.lang.Compiler.eval(Compiler.java:6511)
at clojure.lang.Compiler.eval(Compiler.java:6500)
at clojure.lang.Compiler.eval(Compiler.java:6477)
at clojure.core$eval.invoke(core.clj:2797)
at clojure.main$eval_opt.invoke(main.clj:297)
at clojure.main$initialize.invoke(main.clj:316)
at clojure.main$null_opt.invoke(main.clj:349)
at clojure.main$main.doInvoke(main.clj:427)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at clojure.lang.Var.invoke(Var.java:419)
at clojure.lang.AFn.applyToHelper(AFn.java:163)
at clojure.lang.Var.applyTo(Var.java:532)
at clojure.main.main(main.java:37)
clojure.tools.logging.impl.LoggerFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 33 more
--
You received this message because you are subscribed to the Google Groups "Datomic" group.
To unsubscribe from this group and stop receiving emails from it, send an email to datomic+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Loading...