Fork me on GitHub
#boot
<
2016-08-12
>
richiardiandrea02:08:03

I will ask in here too, has someone ever faced Clojure (runtime) exceptions disappearing when inside a Runnable? Disclaimer I have the uncaughtExceotionHndler in place already..

micha02:08:43

@richiardiandrea: that's the reason for the auto-flush print stream thing in boot

micha02:08:51

i don't think anything is getting lost

micha02:08:59

it's just that buffers aren't being flushed

micha02:08:08

so when you try to print the stack trace you can't

micha02:08:42

this mostly happens when the jvm exits while there are threads that are still wanting to write stack traces to stdout

micha02:08:53

the jvm can exit before the printing is done

richiardiandrea02:08:44

My jvm is up and running and I see from that moment on that the print (clojure.logging) is not actually outputed

richiardiandrea02:08:08

So you are saying that I need to flush log4j or something?

micha02:08:55

i don't know about log4j

micha02:08:09

the jvm isn't exiting?

richiardiandrea02:08:27

Kk I will try to follow that route

richiardiandrea02:08:10

The error is a simple Cannot find seq ...runtime compile error

richiardiandrea02:08:57

I'll need a repro case, it is better ;)

jiyinyiyong03:08:20

what does this error main?

jiyinyiyong03:08:10

looks like a bug in 2.6.0, I use 2.5.5 and I see the warnings

micha03:08:37

@jiyinyiyong: do you have a stack trace?

micha03:08:48

i don't recognize start-stack-editor!

jiyinyiyong04:08:03

That's all the stack trace I current see. is there any options to display more stack traces?

richiardiandrea04:08:57

@jiyinyiyong: boot -vvv (# of vs controls the level)

jiyinyiyong05:08:23

@micha still got only this logs even with -vvv

vikeri07:08:10

Hmm, anyone else had problems with boot install in a Docker container? Getting the following:

Retrieving tools.namespace-0.2.11.jar from 
             clojure.lang.ExceptionInfo: java.lang.Exception: can't find jar file
    data: {:file "/tmp/boot.user5183811122264898316.clj", :line 7}
java.util.concurrent.ExecutionException: java.lang.Exception: can't find jar file
                    java.lang.Exception: can't find jar file
     boot.task.built-in/fn/fn/fn/fn  built_in.clj:  721
                boot.core/run-tasks      core.clj:  794
                  boot.core/boot/fn      core.clj:  804
clojure.core/binding-conveyor-fn/fn      core.clj: 1916
                                ...                    

vikeri07:08:05

The Dockerfile does this:

RUN (mkdir brn \
&& curl -sL  | tar xz -C brn \
&& cd brn \
&& boot install)

alandipert11:08:43

@vikeri: that's a really weird one. looks like the filesystem isn't synced or something? i've seen errors similar to thta (clearly related to bad data inside, on docker FS) when i was doing volume sharing on OS X ~2 yrs ago

alandipert11:08:12

maybe try downloading and boot install as 2 separate RUN commands?

alandipert11:08:33

hmm, altho it occurs to me all the files in your case are inside docker, so volume sharing shouldn't be the culprit

flyboarder17:08:03

@vikeri: there are docker images floating around github for boot

vikeri17:08:00

@flyboarder: I tried it too. Still not really working

flyboarder17:08:56

are you mounting the filesystem from host?

flyboarder17:08:36

there are issue with docker filesystem sync, i dont think it should cause issues when running commands like that within the container but if a path overlaps with something mounted then who knows...

flyboarder17:08:13

@vikeri: if you are just running boot install does boot know about the location where the tar is being extracted? it installs the jar from it’s fileset of out-put files if im not mistaken (things moved to target folder)

flyboarder17:08:15

I think what you want is to download and extract that file from a boot task then install it, otherwise boot doesn’t know about the extracted files.

flyboarder17:08:16

cljsjs projects have examples of downloading and extracting things

vikeri18:08:04

I run boot install in the right directory, I think it might be a memory issue with docker possibly. Continue investigating tomorrow

kenny20:08:09

What is the easiest way to get your app's version in code after compiling an uberjar? Providing the version to the manifest?

flyboarder20:08:01

@kenny: are you trying to load it on the server? or client side of your app? I think the best way would be to generate a ns during build that you can reference from your app

flyboarder20:08:33

hmmm actually that might be a good thing to build into boot-semver 👍

micha21:08:51

i use a macro for that

micha21:08:55

when you call the macro in your cljs code it does git describe in the shell and returns the result, which then gets compiled into the cljs namespace

richiardiandrea21:08:17

Nice the above ^ I am sending the version.properties along uberjar or js files.

micha21:08:40

yep, for applications i like just using the git tag

micha21:08:47

because there is no pom or anything

micha21:08:20

using git tag makes it easy to link to things in github too, which is what we have in our application

micha21:08:40

if you're an admin there is a little thingy on the side you can hover over to get a link to the github commit

micha21:08:05

so QA testers can check to see what's been merged into the application they're testing

micha21:08:10

things like that