hamiltont: I'm using java 8 with sbt, so the process should not run out of permgen. I've also increased heap space to a value that's been a safe number in my environment.
tnelson joined the channel
tnelson has quit
tnelson joined the channel
i'm been banging my head against the wall with CI test failures in spray-es. I got it to pass once (http://bit.ly/1aqSyYL), but now tests are failing again.
it's the sbt build that's failing and the only explanation I can come up with is that some resource limits get exceeded and the process is terminated.
Hm, I can squash some of the commits, but most of them are real commits
TE-msmith
oh ok
nm
hamiltont
it’s everything pdonald did plus the final changes we asked for in the original PR
TE-msmith
sorry, this is covering all the MONO stuff
hamiltont
yup
TE-msmith
and you've only done the `apt-get download` for that
good
hamiltont
Yea
Just becuase it was a huge PITA to get the proper binary without
TE-msmith
I want, if it's possible, to not even use `apt-get download` because it would make our suite "flavorless" in terms of linux distros
I understand that
hamiltont
Their CI setup doesn’t *always* build the binary for our system, but the only way to know is to cycle through curl-ing each folder, which sucks
TE-msmith
lol yeah
hamiltont
In terms of distros - why not just have *deb based and *rpm based like most major linux software vendors?
then we could rely (mostly) on the respective pacakge managers, and probably without ever requiring sudo
Would really help stuff like “download+compile python”
TE-msmith
That's fine with me
I want to move towards something like that
and supporting deb first makes sense to me
BUT
Debian and Ubuntu (the two biggest deb-based distros) have slightly different package names
I tested this on Raspbian (same package names as Debian) and couldn't get all the `prerequisites.sh` to complete
additionally, java didn't get installed correctly, etc
hamiltont
lame, but I follow
TE-msmith
`apt-get install openjdk-7-jdk` works on Ubuntu, but not Debian
which is totally annoying
hamiltont
So let’s support apt-get download for ubuntu for now, and then when we add some features to support different base OS we can add in debain first as it’ll be the easiest transition?
TE-msmith
so, if we're going to do it that way, we need to 1) come up with a solution that cleanly can differentiate between *deb systems and *rpm systems, 2) come up with a way to get `.deb` files without relying on `apt`, and 3) make it completely user-doable
yeah
sounds good
hamiltont
I can add a big-ass comment warning that it won’t work on all debian in the source code
TE-msmith
but what I want to avoid is something like `if (ubuntu) { apt-get install openjdk-7-jdk } else if (debian) { apt-get install oraclejdk-7 } else if ( gentoo ) { etc }`
warnings are good
but I think we just need to formalize our process for installation a bit
hamiltont
1) totally agree 2) why bother? Just say we’re using ubuntu package names for now and call it a day, since that’s fast and easy 3) you mean without sudo, right?
TE-msmith
I LOVE what you did with the installs directory
hamiltont
Totally agreed - a huge ass if statement is …. undesirable
TE-msmith
1) yay 2) for now using `apt-get download [package-name]` works, let's do it 3) yes
hamiltont
Cool
Thinking towards the future, perhaps something like mono.debian.sh vs mono.ubuntu12.sh, etc. Although TBH I’d rather use something that actualyl does this well, like puppet or chef (haven’t used either so I”m not aware if they meet our use case, but I’d look at them before writing custom code to do this)
TE-msmith
I'll talk to Brittany when she gets in
hamiltont
Sweet
Don’t let me take up your morning, we can chat later
TE-msmith
yeah, we should do some investigation to see what's already built
I love rebuilding wheels, but if there's already a good solution then it's cheaper than my time
no no, today is basically a wash for me
I have a half-day to help a friend set up his seder
so i'm catching up on emails, helping brian with the round 10 results, and doing r&d (read: tfb)
hamiltont: what is the difference between `export FOO=someVal` and simply calling `FOO=someVal` in bash?
hamiltont
if you say FOO=someVal, then you can use $FOO in your current script, but no subcommands will see that FOO variable
export means to export for subcommands / subshells
TE-msmith
gotcha
so likely the `start.sh` scripts SHOULD use `export FOO=someVal`
hamiltont
yup
TE-msmith
okay
hamiltont
if in doubt export
TE-msmith
okay
i'm going to go over LadyMozzarella's "remove bash_profile" branch and audit the files a bit (since there are so many)
i'll check back here, but gunna nose-down for a bit
markoa: yay! Sadly that’s the only way I know how to address the sbt failures in travis currently, just play with the memory heavy options until you get lucky...
TE-msmith
ya
I'm kind of sad we didn't bring up the memory constraints on the call
>_<
I think we get 1GB now?
hamiltont
Actually, 3GB is what is claimed
TE-msmith
really?
hamiltont
But I think it’s heavily dependant on the load...
TE-msmith
... that should be PLENTY of RAM for a dependency manager
just wondering if we could get more verbose output in case of errors. i mean usually when the jvm runs out of memory i get a message indicating what happened.
or is the jvm just killed by some other process?
hamiltont
I think the first is an option, if there are options to tell sbt to print those kind of OOM errors we should enable them
FWBM-bot
[FrameworkBenchmarks] hamiltont pushed 2 new commits to master: http://git.io/veqfF
FrameworkBenchmarks/master 5af5f37 marko asplund: implement test types 1, 2, 3, 5 and 6 with Scala, Spray + Elasticsearch...
FrameworkBenchmarks/master 902e19b Hamilton Turner: Merge pull request #1477 from marko-asplund/spray-es...
TE-msmith
agreed
I think twiddling nobs on these package managers is something we should look into
steve's been spending a LOT of time trying to get php JUST right
markoa
bugger. now the test is failing again even though all I did was squash two of the latest commits :-(
the stdout output from install.sh is captured in the log. usually when i ran into memory exhaustion issues i get an error message either in stdout or stderr. but in this case i don't see anything like that in the log.
hamiltont
I shudder to think of building a real application
TE-msmith
ya
markoa
So, does the build process get killed by some other process? that would explain why there's no error message in the log.
TE-msmith
haskell does a LOT of work at compile time
LadyMozzarella
What do you guys think about gh #1439 (aside from waiting for it to pass Travis)?
I'm not a hibernate expert, but if you can confirm that configuration value of 'false' in terms of caching, then I'm okay with it
hamiltont
markoa: FYI, you can use “TFB_VB_MEM=1024 vagrant up” to simulate a low-memory condition using vagrant and see if you get log output
markoa: I doublt it’s being killed by an external process on travis, I’d expect your mallocs just start to fail (and most software starts to segfault, but sbt should be fairly resistant to that happening)
LadyMozzarella: ^ I’m with TE-msmith on this, if that value does mean no cache then coolio
LadyMozzarella
ok sweet. thanks
hamiltont
My confusion is all the Go pull requests - there seem to be multiple competing thoughts about what they should put into TFB and I’m totally lost on those