tomjoro has quit [Remote host closed the connection]
olle has quit [Ping timeout: 246 seconds]
pawnbox has joined #jruby
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
yipdw has quit [Ping timeout: 240 seconds]
Osho has quit [Ping timeout: 276 seconds]
slash_mode is now known as slash_nick
norc has joined #jruby
tomjoro has joined #jruby
yipdw has joined #jruby
yipdw has joined #jruby
norc has quit [Ping timeout: 240 seconds]
Osho has joined #jruby
tomjoro has quit [Ping timeout: 248 seconds]
mj12` has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
skade has joined #jruby
kwando has quit [Ping timeout: 252 seconds]
mj12` has joined #jruby
skade has quit [Quit: Computer has gone to sleep.]
skade has joined #jruby
kwando has joined #jruby
skade has quit [Client Quit]
<GitHub92>
[jruby] nirvdrum commented on commit d1c95c2: Looks good. Since you're expanding the use of the rope table, we should really fix the disappearing key problem. Just to recap, the keys in the rope table aren't retained anywhere else and since everything is a weak reference, values could be expunged from the table even if they're being held. https://git.io/vaahs
pawnbox has quit [Remote host closed the connection]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
brauliobo_ has joined #jruby
olle has joined #jruby
norc has joined #jruby
tomjoro has joined #jruby
<norc>
Hi, Im trying to trace some behaviour in Ruby so I can check it against JRuby. Can someone tell me what the whole defined_expression in the MRI compiler is? Is that for defined?(expression) ?
<norc>
Also, when I manage to trigger an unhandled Java Exception that terminates the interpreter, would that generally be considered a bug? :-)
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
<kares>
norc: yes
drbobbeaty has joined #jruby
Guest65952 has quit [Ping timeout: 260 seconds]
olle has quit [Read error: Connection reset by peer]
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
shellac has joined #jruby
shellac_ has joined #jruby
shellac has quit [Ping timeout: 260 seconds]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
drbobbeaty has joined #jruby
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
Prasun has quit [Ping timeout: 248 seconds]
skade has quit [Quit: Computer has gone to sleep.]
Lan5432 has joined #jruby
skade has joined #jruby
shellac_ has quit [Quit: Computer has gone to sleep.]
digitalextremist has quit [Ping timeout: 240 seconds]
digitalextremist has joined #jruby
Lan5432 has quit [Quit: Lost terminal]
<GitHub33>
[jruby] chrisseaton commented on commit d1c95c2: Could you please create an issue for that? We don't want it to get lost. https://git.io/vaVH9
lanceball is now known as lance|afk
lance|afk is now known as lanceball
bbrowning_away is now known as bbrowning
shellac has joined #jruby
tcrawley-away is now known as tcrawley
pawnbox has quit [Remote host closed the connection]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
johnsonch_afk is now known as johnsonch
Aethenelle has quit [Quit: Aethenelle]
Aethenelle has joined #jruby
davidpgero has joined #jruby
cremes has quit [Remote host closed the connection]
cremes has joined #jruby
shellac has quit [Quit: Computer has gone to sleep.]
shellac has joined #jruby
rjmilitante has joined #jruby
<rjmilitante>
hi - i
<rjmilitante>
hi i'm using scripting engine from my java code to eval and run a ruby file - it works but after a few uses i gt an out of memory error http://pastebin.com/UYuewrFS
<headius>
Smaller of 1/4th of the physical memory or 1GB. Before Java SE 5.0, the default maximum heap size was 64MB. You can override this default using the -Xmx command-line option.
<kares>
heh - looks like it
<headius>
sigh
<headius>
well I guess we can remove it immediately then
<kares>
from 64M to 1/4-th
<headius>
no current version of JRuby runs on 1.4
<kares>
wonder if other JVM languages are setting a max
<headius>
yeah I wonder too
<headius>
without being able to easily query memory we can't do our own ergonomics...so it frightens me a bit to just drop the limits
<headius>
but we get so many reports about it
<kares>
groovysh does not set a max
<headius>
SHIP IT
<headius>
I say we should just do it
<headius>
it's still going to have that 1/4 of physical mem limit
<headius>
so it's not unbounded
<headius>
9.1 is a nice time to do it, don't you think?
pawnbox has quit [Remote host closed the connection]
<headius>
throw off the shackles of 500MB cap
<kares>
sounds like a plan :)
pawnbox has joined #jruby
tomjoro has quit [Remote host closed the connection]
blandflakes has joined #jruby
<headius>
I'll open an issue
camlow325 has quit [Read error: Connection reset by peer]
camlow325 has joined #jruby
Aethenelle has joined #jruby
enebo has joined #jruby
Prasun has joined #jruby
camlow325 has quit [Read error: Connection reset by peer]
camlow325 has joined #jruby
pawnbox has quit [Remote host closed the connection]
<headius>
enebo: so
<headius>
I think it's time to remove -Xmx500M from launchers
pawnbox has joined #jruby
<headius>
at least for 9.1 jruby.bash and from mjruby launcher
<headius>
default since Java 5 has been 1/4 of memory, so we're basically *reducing* max heap size on any machine 2GB or larger
<enebo>
headius: sounds ok I think?
<enebo>
headius: certainly less risky for 9k
<GitHub78>
[jruby] headius opened issue #3739: Drop 500MB cap for 9.1 on (and all launchers) https://git.io/vawB3
<headius>
enebo: yeah
cremes has quit [Ping timeout: 248 seconds]
cremes has joined #jruby
skade has quit [Quit: Computer has gone to sleep.]
subbu has joined #jruby
pietr0 has joined #jruby
<GitHub176>
[jruby] aviflax closed issue #3737: java_import can override constants used in dependencies, causing hard-to-debug errors https://git.io/va2ww
<enebo>
headius: chrisseaton: I wonder what most common cloud server is today?
<enebo>
memorywise?
<chrisseaton>
enebo: no idea, but I'm just thinking you don't want to trade one common issue for another one
<enebo>
chrisseaton: yeah I am wondering if 2GB is the most common one now
<enebo>
chrisseaton: if 1Gb is super common then we might get lots of strange reports but if 2GB then we might not get many reports
<chrisseaton>
Moving to the JVM default makes sense to me - they've already though about it a lot I guess. You'd need to understand their reasons and have some reason why your idea is better to justify not using the default
<chrisseaton>
On DO 2GB is the third option up
<enebo>
chrisseaton: I think for places like Heroku this will not even be an issue since I think they must set Mx already
<chrisseaton>
On Linode the section option up
<enebo>
I guess that also depends on what option you would pick if you were using JRuby as well
<enebo>
Or hell even a plain Java app
<enebo>
but I don’t actually know but I have never lifed that we mess with that option
johnsonch is now known as johnsonch_afk
<enebo>
LIFED
johnsonch_afk is now known as johnsonch
camlow325 has quit [Read error: Connection reset by peer]
camlow325 has joined #jruby
<chrisseaton>
How does MRI increase the size of the heap? Does it increase it if it can't collect any more? But how do they stop too much time being spent in GC even if there is just enough space to keep allocating?
camlow325 has quit [Read error: Connection reset by peer]
<kares>
you might want to get a recet JRuby - its hard to know what's wrong on such an old release
pawnbox has quit [Ping timeout: 264 seconds]
Prasun has quit [Ping timeout: 250 seconds]
Prasun has joined #jruby
pawnbox has joined #jruby
shellac has joined #jruby
<GitHub58>
[jruby] chrisseaton pushed 12 new commits to master: https://git.io/varto
<GitHub58>
jruby/master ac11513 Chris Seaton: [Truffle] All the interop root nodes are the same.
<GitHub58>
jruby/master 13156e1 Chris Seaton: [Truffle] Pull all the nested nodes out of InteropNode.
<GitHub58>
jruby/master d982b60 Chris Seaton: [Truffle] Remove some factories for the sake of factories.
subbu|lunch has quit [Ping timeout: 260 seconds]
subbu|lunch has joined #jruby
subbu|lunch is now known as subbu
<enebo>
codefinger: OMGZ. Could we add a smart query in mjruby which could be set up ergonomics for -Xmx?
<GitHub46>
[jruby] chrisseaton pushed 1 new commit to truffle-head: https://git.io/varmI
<GitHub46>
jruby/truffle-head 880b69c Chris Seaton: Merge branch 'master' into truffle-head
subbu is now known as subbu|meeting
<enebo>
codefinger: I am still not sure I want us setting -Xms but on small instances perhaps we do min(512M, 1/4mem)
<enebo>
so we generally give the default except on small instances where we expect to get user reports based on things like bundler running OOME
<enebo>
chrisseaton: ^ Another thought on handling this
<chrisseaton>
I think you should just defer to the JVM
<enebo>
yeah perhaps so I guess I was just thinking in terms that if we start getting reports based on this change whether we can solve that
<enebo>
but I suppose it depends on whether we actually end up having a problem or not
<enebo>
with that said Heroku may want to bake their sizing heuristics into the launcher as an option so they do not have this config thing to maintain
<enebo>
since I think if they find a good heuristic it might be good for other cloud servers too
<enebo>
although dynos maybe are not the same as a dedicated instance
_whitelogger has joined #jruby
<chrisseaton>
I think these days if someone is manually deploying JRuby, they probably know somewhat about what they're doing
<chrisseaton>
If someone can't handle -Xmx on their own, they're probably using something like Heroku aren't they?
<enebo>
I believe we do have one already but I just edited another page in the last day and someone should spend some time updating our wiki…it is getting a bit stale
<chrisseaton>
I mean if you're already setting up a JVM etc
<chrisseaton>
Some of our wiki is terrible
<enebo>
chrisseaton: yeah I guess I only really know Heroku and EY personally
<enebo>
not really sure how much of the services provided cater to things like having a JVM available
<enebo>
or how docket, etc.. changes that
<enebo>
I think the days of provisioning it all in an ec2 image is being replaced by higher layers
<enebo>
docker not docket :)
Prasun has quit [Ping timeout: 264 seconds]
shellac has quit [Quit: Computer has gone to sleep.]
<codefinger>
enebo: you really don't want to overcommit. Heroku is not doing that. when the jvm pages it's hell
<enebo>
codefinger: chrisseaton said that not me
<codefinger>
those heuristics in our buildpack are probably not generally applicable. They allow a bit of room for metaspace and such without hitting the dyno limits. But on the larger instances, we're setting Xmx Too High™ to avoid OOME (it's easier to scale down). I end up recommending that most people do because otherwise their Perc99 shoots up when the GC makes a huge infrequent pause
<chrisseaton>
codefinger: but in that file it looks like you set Xmx to 384 for a 256 dyno - isn't that overcommit?
<codefinger>
regardless, mjruby seems like a good place to put any logic
<codefinger>
no 1X is 512mb
<chrisseaton>
what is ulimit -u then?
<enebo>
codefinger: well it is unclear if we will even get reports from removing our default or not so it is only something to think about
<codefinger>
oh i seem. that's open files, i think? it's just how we identify the dyno types
<codefinger>
i have many complaints about the default, and how it is overridden (and sometimes not overriden) by other options like JRUBY_OPTS and JAVA_OPTS
<codefinger>
the precedence is really weird. i figured it out once, to make sure mjruby was the same. can't remember now
<codefinger>
so i'm +1 on removing the default.
<codefinger>
maybe we should set it differently for -dev? I could easily run some tests to see what the ideal boundaries are
<enebo>
hmmm we probablty do use more memory during development
<enebo>
for Rails at least but running things like bundler and extra specfiles of code
<enebo>
codefinger: I don’t know
<codefinger>
" -u The maximum number of processes available to a single user. "
<codefinger>
TIL ^
<enebo>
The more we talk about this the more I fear this change without someone trying some stuff with a reasonably size app
<chrisseaton>
enebo: maybe post a survey to the mailing list, twitter etc - see what people actually use as their xmx if they customise?
<enebo>
I hate that default but we only added becxause we quickly hit that limit in the past
<enebo>
chrisseaton: I guess if we could get some people to try with it disabled we could get at least some data
<enebo>
chrisseaton: perhaps we send out something once we commit the change and get some real world data after the fact
<enebo>
usually asking on twitter and email are pretty bad at getting full reasonable data but in this case we would see if anyone had an issue
<enebo>
if we get no issues it might be an issue without the right audience participating but if we get any negatives back then we know it might be risky
<chrisseaton>
enebo: I think min(500, 1/4) is very sensible
<chrisseaton>
but can you easily work that out in the launcher?
<chrisseaton>
And quickly? You don't want the launcher starting more sub-commands
<enebo>
chrisseaton: yeah I guess I don’t know how portable it is to ask for memory
<enebo>
maybe getrlimit in C
<enebo>
for max memory per process
<enebo>
although that might give a value of more than actual memory
<enebo>
I think linux has /dev/memory or some thing like that
<enebo>
heh I am rusty :)
<enebo>
chrisseaton: but this would be a C call and likely be a couple of system calls and very little user code in process of the launcher
<enebo>
assuming there is a reasonably portable API for it
<GitHub86>
jruby/jruby-1_7 4496cff Thomas E. Enebo: Fixes #3278: File.open w/ File::RDWR should write \r\n but gets should...
<GitHub173>
[jruby] enebo opened issue #3742: File.open w/ File::RDWR should write \r\n but gets should read as \n after rewind on windows https://git.io/varNE
<GitHub80>
[jruby] enebo closed issue #3738: File.open w/ File::RDWR should write \r\n but gets should read as \n after rewind on windows https://git.io/va2i0
skade has joined #jruby
Aethenelle has joined #jruby
skade has quit [Quit: Computer has gone to sleep.]