<projectodd-ci> Project jruby-master-test-slow_suites build #1460: STILL FAILING in 9.2 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-test-slow_suites/1460/
<projectodd-ci> Project jruby-master-spec-compiler build #1459: STILL FAILING in 11 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-compiler/1459/
marr has quit []
baroquebobcat has quit [Quit: baroquebobcat]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] chrisseaton pushed 1 new commit to master: http://git.io/vkdkm
<JRubyGithub> jruby/master 78e8bc0 Chris Seaton: [Truffle] Tag failing spec.
JRubyGithub has left #jruby [#jruby]
x1337807x has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
pjammer has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:2bab6f9 by Kevin Menard): The build is still failing. (http://travis-ci.org/jruby/jruby/builds/65133810)
travis-ci has left #jruby [#jruby]
vikaton has quit []
pitr-ch has quit [Ping timeout: 256 seconds]
apofis has quit [Quit: This computer has gone to sleep]
nirvdrum has joined #jruby
<nirvdrum> headius, lopex: Well, I think part of my confusion is that JRuby seems to have a bug with the source's encoding.
camlow325 has quit []
bb010g has quit [Quit: Connection closed for inactivity]
djbkd has quit [Quit: My people need me...]
pjammer has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] nirvdrum opened issue #3014: Regexp's source encoding is wrong http://git.io/vkd3N
JRubyGithub has left #jruby [#jruby]
<projectodd-ci> Project jruby-master-spec-ji build #1484: STILL FAILING in 6.1 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-ji/1484/
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:53342fb by Kevin Menard): The build is still failing. (http://travis-ci.org/jruby/jruby/builds/65134057)
travis-ci has left #jruby [#jruby]
sdogruyol has joined #jruby
pjammer has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
Aethenelle has quit [Read error: Connection reset by peer]
sdogruyol has quit [Ping timeout: 272 seconds]
rcvalle has quit [Quit: rcvalle]
<projectodd-ci> Project jruby-master-test-slow_suites build #1461: STILL FAILING in 5.1 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-test-slow_suites/1461/
<projectodd-ci> Project jruby-master-spec-compiler build #1460: STILL FAILING in 4.9 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-compiler/1460/
tcrawley-away is now known as tcrawley
deobalds has joined #jruby
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:039697c by Charles Oliver Nutter): The build is still failing. (http://travis-ci.org/jruby/jruby/builds/65137567)
travis-ci has left #jruby [#jruby]
mrmargolis has joined #jruby
tcrawley is now known as tcrawley-away
phlebas has quit [Ping timeout: 264 seconds]
nirvdrum has quit [Ping timeout: 240 seconds]
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:efe1e06 by Benoit Daloze): The build is still failing. (http://travis-ci.org/jruby/jruby/builds/65139613)
travis-ci has left #jruby [#jruby]
mike___1234 has quit [Ping timeout: 264 seconds]
erikhatcher has quit [Quit: erikhatcher]
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:b0a41e7 by Charles Oliver Nutter): The build is still failing. (http://travis-ci.org/jruby/jruby/builds/65139735)
travis-ci has left #jruby [#jruby]
sdogruyol has joined #jruby
sdogruyol has quit [Ping timeout: 256 seconds]
bb010g has joined #jruby
mike___1234 has joined #jruby
tcrawley-away is now known as tcrawley
tcrawley is now known as tcrawley-away
nateberkopec has quit [Quit: Leaving...]
deobalds has quit [Quit: Computer has gone to sleep.]
havenwood has joined #jruby
yfeldblum has quit [Remote host closed the connection]
mrmargolis` has joined #jruby
mrmargolis` has quit [Remote host closed the connection]
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:0430387 by Benoit Daloze): The build is still failing. (http://travis-ci.org/jruby/jruby/builds/65143741)
travis-ci has left #jruby [#jruby]
colinsurprenant has joined #jruby
mrmargolis has quit [Remote host closed the connection]
iamjarvo has joined #jruby
simi has quit [Ping timeout: 265 seconds]
yfeldblum has joined #jruby
havenwood has quit [Remote host closed the connection]
_djbkd has joined #jruby
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:2f7aebd by Kevin Menard): The build is still failing. (http://travis-ci.org/jruby/jruby/builds/65154639)
travis-ci has left #jruby [#jruby]
colinsurprenant has quit [Quit: colinsurprenant]
rsim has joined #jruby
<projectodd-ci> Project jruby-master-dist build #296: FAILURE in 52 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-dist/296/
sdogruyol has joined #jruby
ratnikov_ has quit [Ping timeout: 265 seconds]
sdogruyol has quit [Ping timeout: 276 seconds]
SynrG has quit [Ping timeout: 265 seconds]
ratnikov_ has joined #jruby
JohnBat26 has joined #jruby
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:af47b73 by Chris Seaton): The build is still failing. (http://travis-ci.org/jruby/jruby/builds/65166801)
travis-ci has left #jruby [#jruby]
DomKM has quit [Quit: Connection closed for inactivity]
pitr-ch has joined #jruby
sdogruyol has joined #jruby
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:78e8bc0 by Chris Seaton): The build is still failing. (http://travis-ci.org/jruby/jruby/builds/65172205)
travis-ci has left #jruby [#jruby]
sdogruyol has quit [Ping timeout: 240 seconds]
pitr-ch_ has joined #jruby
phlebas has joined #jruby
sdogruyol has joined #jruby
pitr-ch has quit [Ping timeout: 244 seconds]
phlebas_ has joined #jruby
skade has joined #jruby
phlebas has quit [Ping timeout: 265 seconds]
sdogruyol has quit [Remote host closed the connection]
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
apofis has joined #jruby
apofis has quit [Read error: Connection reset by peer]
sdogruyol has joined #jruby
rsim1 has joined #jruby
sdogruyol has quit [Read error: Connection reset by peer]
sdogruyol has joined #jruby
havenwood has joined #jruby
rsim has quit [Ping timeout: 265 seconds]
skade has quit [Quit: Computer has gone to sleep.]
dinfuehr has joined #jruby
phlebas has joined #jruby
apofis has joined #jruby
phlebas_ has quit [Ping timeout: 240 seconds]
sdogruyol has quit [Remote host closed the connection]
skade has joined #jruby
_djbkd has quit [Remote host closed the connection]
mister_solo has joined #jruby
sdogruyol has joined #jruby
mister_s_ has joined #jruby
mister_solo has quit [Ping timeout: 250 seconds]
apofis has quit [Quit: This computer has gone to sleep]
apofis has joined #jruby
sdogruyol has quit [Quit: Leaving...]
elia has joined #jruby
cschneid has quit [Ping timeout: 265 seconds]
apofis has quit [Quit: This computer has gone to sleep]
cschneid has joined #jruby
apofis has joined #jruby
marr has joined #jruby
skade has quit [Quit: Computer has gone to sleep.]
skade has joined #jruby
vtunka has joined #jruby
simi has joined #jruby
apofis has quit [Quit: This computer has gone to sleep]
apofis has joined #jruby
SynrG has joined #jruby
yfeldblum has quit [Ping timeout: 265 seconds]
drbobbeaty has joined #jruby
simi has quit [Ping timeout: 256 seconds]
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
phlebas has quit [Ping timeout: 256 seconds]
havenwood has quit [Ping timeout: 252 seconds]
phlebas_ has joined #jruby
yfeldblum has joined #jruby
simi has joined #jruby
Locke23rus has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] mkristian pushed 2 new commits to jruby-1_7: http://git.io/vkb8h
<JRubyGithub> jruby/jruby-1_7 5c45c39 Christian Meier: set ENV['RUBY'] when jruby.home is not regular directory...
<JRubyGithub> jruby/jruby-1_7 1e43071 Christian Meier: use the new bin stubs from new rubygems
JRubyGithub has left #jruby [#jruby]
mister_s_ has quit [Quit: So long, and thanks for all the fish!]
phlebas_ has quit [Ping timeout: 272 seconds]
drbobbeaty has joined #jruby
kotk has joined #jruby
travis-ci has joined #jruby
<travis-ci> jruby/jruby (jruby-1_7:1e43071 by Christian Meier): The build was fixed. (http://travis-ci.org/jruby/jruby/builds/65222720)
travis-ci has left #jruby [#jruby]
yfeldblum has quit [Ping timeout: 265 seconds]
nirvdrum has joined #jruby
nirvdrum has quit [Remote host closed the connection]
pitr-ch_ has quit [Read error: No route to host]
yfeldblum has joined #jruby
phlebas has joined #jruby
pitr-ch has joined #jruby
skade has quit [Quit: Computer has gone to sleep.]
dinfuehr_ has joined #jruby
tcrawley-away is now known as tcrawley
skade has joined #jruby
pitr-ch_ has joined #jruby
dinfuehr has quit [Ping timeout: 252 seconds]
nirvdrum has joined #jruby
pitr-ch has quit [Ping timeout: 265 seconds]
palacz has joined #jruby
pitr-ch_ has quit [Read error: Connection reset by peer]
dinfuehr_ has quit [Remote host closed the connection]
pitr-ch has joined #jruby
colinsurprenant has joined #jruby
bbrowning_away is now known as bbrowning
pitr-ch has quit [Ping timeout: 240 seconds]
colinsurprenant has quit [Quit: colinsurprenant]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] eregon pushed 6 new commits to master: http://git.io/vkbAR
<JRubyGithub> jruby/master e821b82 Benoit Daloze: [Truffle] Unshare the TranslatorDriver for thread safety....
<JRubyGithub> jruby/master bf9f455 Benoit Daloze: [Truffle] CoreLibrary.rubiniusUndefined should be final.
<JRubyGithub> jruby/master ec53d6e Benoit Daloze: [Truffle] Use a ThreadLocalRandom....
JRubyGithub has left #jruby [#jruby]
yfeldblum has quit [Ping timeout: 256 seconds]
nateberkopec has joined #jruby
colinsurprenant has joined #jruby
iamjarvo has joined #jruby
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:2b5fbda by Benoit Daloze): The build is still failing. (http://travis-ci.org/jruby/jruby/builds/65235989)
travis-ci has left #jruby [#jruby]
dinfuehr has joined #jruby
dinfuehr has quit [Remote host closed the connection]
dinfuehr has joined #jruby
<projectodd-ci> Project jruby-master-spec-ji build #1485: STILL FAILING in 24 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-ji/1485/
dinfuehr has quit [Ping timeout: 256 seconds]
colinsurprenant has quit [Quit: colinsurprenant]
colinsurprenant has joined #jruby
pitr-ch has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] eregon pushed 1 new commit to master: http://git.io/vkNq4
<JRubyGithub> jruby/master 3b96ed5 Benoit Daloze: [Truffle] Ignore send for __method__, __callee__ and Module.nesting....
JRubyGithub has left #jruby [#jruby]
<projectodd-ci> Project jruby-master-test-slow_suites build #1462: STILL FAILING in 20 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-test-slow_suites/1462/
<projectodd-ci> Project jruby-master-spec-compiler build #1461: STILL FAILING in 17 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-compiler/1461/
skade has quit [Quit: Computer has gone to sleep.]
phlebas_ has joined #jruby
skade has joined #jruby
phlebas has quit [Ping timeout: 272 seconds]
pjammer has joined #jruby
dinfuehr has joined #jruby
havenwood has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] eregon pushed 1 new commit to master: http://git.io/vkNCg
<JRubyGithub> jruby/master ed89dda Benoit Daloze: Remove unintended tabs in spec.
JRubyGithub has left #jruby [#jruby]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] Overbryd opened issue #3015: Syntax Error on nested hash that parses with MRI 2.0 but not with JRuby 9000 http://git.io/vkNCH
JRubyGithub has left #jruby [#jruby]
colinsurprenant has quit [Quit: colinsurprenant]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] eregon pushed 1 new commit to master: http://git.io/vkNWO
JRubyGithub has left #jruby [#jruby]
<JRubyGithub> jruby/master 8d2bc1a Benoit Daloze: Add tag for soon-to-be-removed spec.
kares has quit [Write error: Broken pipe]
elia has quit [Ping timeout: 276 seconds]
mrmargolis has joined #jruby
erikhatcher has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] eregon pushed 2 new commits to master: http://git.io/vkNBX
<JRubyGithub> jruby/master 79ce276 Benoit Daloze: Squashed 'spec/ruby/' changes from ac1063b..71ff5e4...
<JRubyGithub> jruby/master febe825 Benoit Daloze: Merge commit '79ce2764c6b7a8ddcc9152543473d4c59cba8956'
JRubyGithub has left #jruby [#jruby]
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] mkristian pushed 1 new commit to jruby-1_7: http://git.io/vkNEx
JRubyGithub has left #jruby [#jruby]
<JRubyGithub> jruby/jruby-1_7 5d8c08b Christian Meier: asd
fuzzyhorns has joined #jruby
bjfish2 has joined #jruby
elia has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] mkristian force-pushed jruby-1_7 from 5d8c08b to 3a4235a: http://git.io/Y42-2g
<JRubyGithub> jruby/jruby-1_7 3a4235a Christian Meier: if current directory is inside the classloader a spawn jruby process should do the same...
JRubyGithub has left #jruby [#jruby]
JohnBat26 has quit [Quit: KVIrc 4.3.1 Aria http://www.kvirc.net/]
dinfuehr has quit [Remote host closed the connection]
dinfuehr has joined #jruby
enebo has joined #jruby
<projectodd-ci> Project jruby-master-spec-ji build #1486: STILL FAILING in 18 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-ji/1486/
colinsurprenant has joined #jruby
dinfuehr has quit [Ping timeout: 258 seconds]
insidiou_ has joined #jruby
phlebas_ has quit [Ping timeout: 256 seconds]
dinfuehr has joined #jruby
colinsurprenant has quit [Client Quit]
skade has quit [Quit: Computer has gone to sleep.]
dinfuehr has quit [Remote host closed the connection]
dinfuehr has joined #jruby
dinfuehr_ has joined #jruby
kares has joined #jruby
dinfuehr has quit [Ping timeout: 255 seconds]
colinsurprenant has joined #jruby
<projectodd-ci> Project jruby-master-test-slow_suites build #1463: STILL FAILING in 21 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-test-slow_suites/1463/
dinfuehr_ has quit [Ping timeout: 258 seconds]
<projectodd-ci> Project jruby-master-spec-compiler build #1462: STILL FAILING in 17 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-compiler/1462/
vikaton has joined #jruby
elia has quit [Quit: (IRC Client: textualapp.com)]
skade has joined #jruby
Aethenelle has joined #jruby
colinsurprenant has quit [Quit: colinsurprenant]
dinfuehr has joined #jruby
rsim has joined #jruby
pitr-ch_ has joined #jruby
pitr-ch has quit [Ping timeout: 272 seconds]
rsim1 has quit [Ping timeout: 265 seconds]
vyorkin has joined #jruby
dinfuehr has quit [Remote host closed the connection]
dinfuehr has joined #jruby
dinfuehr has quit [Remote host closed the connection]
dinfuehr has joined #jruby
skade has quit [Quit: Computer has gone to sleep.]
mister_solo has joined #jruby
iamjarvo has joined #jruby
iamjarvo has quit [Max SendQ exceeded]
iamjarvo has joined #jruby
Aethenelle has quit [Read error: Connection reset by peer]
dinfuehr has quit [Remote host closed the connection]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] bjfish pushed 1 new commit to master: http://git.io/vkNAk
<JRubyGithub> jruby/master dfb5fc8 Brandon Fish: [Truffle] Add passing tests to mri test index
JRubyGithub has left #jruby [#jruby]
dinfuehr has joined #jruby
dinfuehr_ has joined #jruby
dinfuehr has quit [Ping timeout: 256 seconds]
pjammer has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<projectodd-ci> Project jruby-master-spec-ji build #1487: STILL FAILING in 6.1 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-ji/1487/
skade has joined #jruby
colinsurprenant has joined #jruby
colinsurprenant_ has joined #jruby
<projectodd-ci> Project jruby-master-test-slow_suites build #1464: STILL FAILING in 24 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-test-slow_suites/1464/
deobalds has joined #jruby
<projectodd-ci> Project jruby-master-spec-compiler build #1463: STILL FAILING in 9.8 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-compiler/1463/
colinsurprenant has quit [Ping timeout: 265 seconds]
colinsurprenant_ is now known as colinsurprenant
<nirvdrum> Regexp encoding still blows my mind. I'm sure there's some underlying consistency to it, but it eludes me.
<enebo> nirvdrum: is this a real world problem or just trying to pass some specs?
<enebo> nirvdrum: I just read the bug :)
<nirvdrum> That's just something I came across while trying to understand the code. What I'm trying to do is make the Truffle Regexp implementation encoding-aware. I'm hoping to pull in from non-Truffle as much as possible.
<nirvdrum> I was hitting a real mental hurdle yesterday and discovered that bug had a good part to do with it :-P
pjammer has joined #jruby
<enebo> nirvdrum: but just solving this is not that hard is it?
<nirvdrum> My current "wtf?" is Regexp#match doesn't use the underlying regex directly. It compiles a new one with a different encoding and matches with that.
<enebo> nirvdrum: encoding() and source() in one case is always str.encoding and the other depends on wheter pattern has an encoding
<nirvdrum> enebo: Fixing that bug shouldn't be too hard. But it's also not straightforward. My understanding of the code is other parts expect it to have the original encoding, not the regexp encoding.
<nirvdrum> The cheap fix then is to keep track of a ByteList and an Encoding and deal with it on the source() call.
<nirvdrum> enebo: Anyway, my current cognitive gap is with this: puts "à".match(/[[:alnum:]]/)
<nirvdrum> The regexp literal's regex instance is US-ASCII.
<enebo> nirvdrum: seems like str is the actual bytelist it came in as right? and pattern.encoding is the modifer + parsing simplifying it maybe?
<nirvdrum> But the matcher fails with US-ASCII. So, in this case Regexp#match creates a new Regex with a UTF-8 encoding.
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<nirvdrum> But given that's a completely different joni Regex, I have no idea what the semantics are supposed to be.
<nirvdrum> enebo: str is the ByteList as it comes in. But in MRI, it also gets the negotiated encoding.
<enebo> nirvdrum: this particular issue always confuses me and I never remember how it works about a week later
<enebo> nirvdrum: once you go down that common path in RubyRegexp and you pass in out params of encodings
<nirvdrum> I'm looking at MRI to get a better handle on it, but a lot of that is tucked into joni. And it's a bit complicated by JRuby's three tiers of Regex caching.
<enebo> Mach 3 cache
subbu has joined #jruby
iamjarvo has joined #jruby
<nirvdrum> It feels like this Regexp thing wasn't designed, but just sorta happened.
<nirvdrum> (Not JRuby . . . Ruby's in general).
<enebo> nirvdrum: yes…Ruby is very organic
<enebo> nirvdrum: like include Foo.dup had to have been some weird afterthought
<nirvdrum> And the problem with specs is I can certainly make them pass and have zero confidence I'm doing the right thing.
<enebo> nirvdrum: yeah we have had passing specs just due to caching lining up
<enebo> nirvdrum: our cache should be a cache of bytelist+encoding
<nirvdrum> static final WeakValuedMap<ByteList, Regex> patternCache = new WeakValuedMap();
<nirvdrum> static final WeakValuedMap<ByteList, Regex> quotedPatternCache = new WeakValuedMap();
<nirvdrum> static final WeakValuedMap<ByteList, Regex> preprocessedPatternCache = new WeakValuedMap()
<nirvdrum> As far as I can tell, the preprocessed cache is before the encoding is negotiated.
<nirvdrum> patternCache is after negotiation.
<nirvdrum> And I haven't worked up to quotedPatternCache yet.
<lopex> nirvdrum: some of those caches might be dead now since last headius string work
<lopex> nirvdrum: also, quoted cache might be a 1.8 remnant somewhat
<nirvdrum> Yeah, it looks like it's only called from tests. I guess I'll just delete that.
<lopex> nirvdrum: after reoptimization those might be reintroduced
<lopex> on some form
<lopex> *in
<nirvdrum> Although headius wrote the test only 7 months ago.
<lopex> nirvdrum: oh you mean only one cache is dead now ?
<nirvdrum> Yes. The quotedPatternCache only seems to be referenced from a test.
<nirvdrum> That test was written for https://github.com/jruby/jruby/issues/2078
<nirvdrum> Ahh. Maybe it was backported from 1.7.
<lopex> nirvdrum: some of the future reoptz might need it
<nirvdrum> lopex: What is a "quoted pattern"?
<lopex> nirvdrum: a pattern after quoting (that comes from string)
<lopex> nirvdrum: used by String#split/sub/gsub/scan etc
<nirvdrum> Gotcha.
<nirvdrum> Why would that have a separate cache though?
<lopex> nirvdrum: since just like in java now, lots of String methods always used to go string -> regexp
<lopex> nirvdrum: because of quoting - they would collide with non quoted oens
<nirvdrum> It doesn't seem to be an LRU cache or anything.
<lopex> *ones
<lopex> nirvdrum: yeah, the caches were always disputed
<lopex> well, the way they worked
<lopex> on microbenches they shined though :)
camlow325 has joined #jruby
<nirvdrum> lopex: Okay, so the idea is the quoted pattern cache is for the String ByteList before it's been quoted, rather than after?
<lopex> nirvdrum: that's why they're weak
<lopex> nirvdrum: yeah, to skip the whole preprocessing etc
<lopex> also, joni regexps are quite costly on creation
<lopex> nirvdrum: I guess, you might take a look at String before headius lastest work
<nirvdrum> Eh, it's not a big deal. I'm just trying to wrap my head around all this.
<nirvdrum> But I'd vote for removing that cache if it's not being used since it only serves to confuse at the moment.
rcvalle has joined #jruby
<lopex> nirvdrum: well, lots of complications was also (or mostly) because I tried to commonalized some 1.8/1.9 logic
<nirvdrum> That's not really my problem right now though. It's trying to figure out the semantics of match ;-)
<lopex> nirvdrum: sure
<lopex> nirvdrum: it should be reqritten now
<lopex> *rewritten even
<lopex> 1.9/2.0 diff is not that big issue now
<lopex> but former kcode/encoding bifurcation was painful
<lopex> and kcode usage was not consistent even in plain 1.8 mode
vyorkin has quit [Quit: WeeChat 1.1.1]
<lopex> nirvdrum: the kcode remnants is even visible in jcodings now in the Base* encodings
<lopex> it was bad days
<nirvdrum> I don't know how you did all this and remained sane.
<nirvdrum> I almost put my fist through my monitor last night.
shellac has quit [Quit: Ex-Chat]
<nirvdrum> lopex: Is there any reason there couldn't be a lightweight copy constructor for Regex? Then you could just update the encoding without have to re-init.
<nirvdrum> But maybe that's overly simplistic.
<lopex> what's the use case ?
baroquebobcat has joined #jruby
<codefinger> @kares i should have the tests in your PR fixed... once Travis runs. https://travis-ci.org/jruby/warbler/builds/65248584 then I'll cut a new release. sound ok?
<codefinger> kares: ^^
pietr0 has joined #jruby
mister_s_ has joined #jruby
dinfuehr_ has quit [Remote host closed the connection]
mister_solo has quit [Ping timeout: 256 seconds]
dinfuehr has joined #jruby
dinfuehr has quit [Ping timeout: 244 seconds]
vtunka has quit [Quit: Leaving]
mrmargol_ has joined #jruby
deobalds has quit [Quit: Computer has gone to sleep.]
mrmargolis has quit [Ping timeout: 276 seconds]
colinsurprenant_ has joined #jruby
colinsurprenant has quit [Ping timeout: 255 seconds]
colinsurprenant has joined #jruby
palacz has quit [Ping timeout: 240 seconds]
drguildo has joined #jruby
<kares> codefinger: excellent, thanks!
colinsurprenant_ has quit [Ping timeout: 264 seconds]
colinsurprenant_ has joined #jruby
colinsurprenant has quit [Ping timeout: 245 seconds]
colinsurprenant_ is now known as colinsurprenant
deobalds has joined #jruby
yfeldblum has joined #jruby
_JKL_ has quit [Remote host closed the connection]
<kares> codefinger: lot of changes to support 9K ... noticed you won't use the same code base for 1.7 + 9K ?
tcrawley is now known as tcrawley-away
<codefinger> kares: yea, i want to cut lots of stuff out (like 1.8 and 1.9 support). i think it's worth the effort to merge fixes back and forth. thoughts?
apofis has quit [Quit: This computer has gone to sleep]
<kares> codefinger: sure whatever suits ... wanted to ask if there's any 9K feedback
<kares> did not have time for jruby-rack thus although all seems to work under 9K I do not have a real-world feedbac
<codefinger> kares: i
mrmargolis has joined #jruby
<codefinger> kares: i've used it for some simple apps without trouble
<kares> soundz as a good start :)
<codefinger> i think we won't really know until after 9k is out... since one begets the other
<codefinger> why plan when you can react! :)
colinsurprenant has quit [Quit: colinsurprenant]
<kares> absolutely :) ... react is the new programming paradigm anyways!
<codefinger> lolz
<bbrowning> enebo: you asked me about 9k stuff - TB4 integs just hit an interesting error on Travis from running rubocop on our source under 9k - https://gist.github.com/bbrowning/a267af650aafb99d6f2a
mrmargol_ has quit [Ping timeout: 252 seconds]
<bbrowning> OOM from rubocop on our 93 source files
skade has quit [Quit: Computer has gone to sleep.]
ponga has joined #jruby
bbrowning is now known as bbrowning_away
colinsurprenant has joined #jruby
<enebo> bbrowning_away: wow
ponga has quit [Client Quit]
<enebo> bbrowning_away: perhaps take a heap dump…we might have a leak :)
<enebo> bbrowning_away: although I have not seen that particular error before I don’t think
dumdedum has quit [Quit: foo]
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:8d2bc1a by Benoit Daloze): The build was fixed. (http://travis-ci.org/jruby/jruby/builds/65244385)
travis-ci has left #jruby [#jruby]
pitr-ch_ has quit [Ping timeout: 246 seconds]
dinfuehr has joined #jruby
colinsurprenant has quit [Quit: colinsurprenant]
dinfuehr has quit [Ping timeout: 256 seconds]
erikhatcher has quit [Quit: erikhatcher]
camlow32_ has joined #jruby
camlow32_ has quit [Remote host closed the connection]
camlow3__ has joined #jruby
camlow325 has quit [Ping timeout: 265 seconds]
fuzzyhorns has quit [Remote host closed the connection]
camlow3__ has quit [Remote host closed the connection]
_djbkd has joined #jruby
<nirvdrum> lopex: The use case would be Regexp#match where there same pattern is compiled twice, but with different encodings.
bbrowning_away is now known as bbrowning
<bbrowning> enebo: yeah I'll try to replicate locally
<bbrowning> enebo: well, if I can figure out how to get things to build locally ;)
<bbrowning> I now need to use "mvnw" script from a fresh clone?
<enebo> bbrowning: natch
<bbrowning> mvnw fails with all kinds of truffle-related compile errors :/
<chrisseaton> bbrowning: I'll take a look...
<chrisseaton> bbrowning: builds for me - you're on master, right? What environment are you building on
<bbrowning> I'm on master, fedora 21, openjdk version "1.8.0_45"
gaustin has quit [Ping timeout: 245 seconds]
<bbrowning> building via "./mvnw" as shown in BUILDING.md
<chrisseaton> Travis seems happy but we don't have results from the latest commit yet
<chrisseaton> Can you try a clean build?
<bbrowning> hmm travis does "./mvnw -Pbootstrap clean install" - I'll try that
<bbrowning> I think this is a clean build, but I can clone again if this doesn't work
camlow325 has joined #jruby
<chrisseaton> I mean ./mvnw -Pclean clean, and then build again
<bbrowning> just doing the travis command appears to have fixed things
colinsurprenant has joined #jruby
<bbrowning> so whether it's the -Pbootstrap or the clean, it's working now :)
<chrisseaton> Had you done -Pbootstrap before
<bbrowning> no, but BUILDING.md doesn't say anything about needing it now
<bbrowning> before mvnw I used to do -Pbootstrap
<bbrowning> looks like it's still needed
<chrisseaton> headius enebo: ^ another data point on people not understanding the bootstrap thing or the docs not being clear enough
sholden has joined #jruby
<chrisseaton> not sure why that would cause Truffle to fail - did you control-c during a previous compile?
<bbrowning> I don't think so - I can only guess I wasn't as clean as I thought I was
<bbrowning> maybe had an old version in there somewhere
<nirvdrum> mvnw uses a maven 3.3.x. It's possible that's treated as a completely new base and thus needed the bootstrap.
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
yfeldblum has quit [Ping timeout: 256 seconds]
<sholden> I’m trying to get a coworker set up with jruby, but she’s getting: ERROR: Loading command: install (OpenSSL::X509::StoreError) setting default path failed: Invalid keystore format
<sholden> anyone know what may be causing that? I don’t have a ~/.keystore on my box but I’m not getting that exception
<sholden> kinda flailing trying to fix troubleshoot this one =/
<nirvdrum> sholden: Using an Oracle JDK build or OpenJDK?
iamjarvo has joined #jruby
<sholden> oracle
<sholden> sorry, got her back on screen hero so I can try stuff out
gaustin has joined #jruby
<nirvdrum> No idea then. That should have the cacerts I believe.
vikaton has quit []
<chrisseaton> sholden: do you have anything crazy in your environment variables?
mister_s_ has quit [Ping timeout: 256 seconds]
<chrisseaton> No random crap in JRUBY_OPTS or JAVA_OPTS for example?
<sholden> actually she answered oracle 1.8 after I had directed her to get latest jvm
<sholden> before that I had her chekc jruby version and reported jruby 1.7.20 (2.0.0p598) 2015-05-04 3086e6a on Java HotSpot(TM) 64-Bit Server VM 1.7.0_10-b18 +jit [darwin-x86_64]
palacz has joined #jruby
<sholden> this time I got “marshal data too short”
<chrisseaton> That sounds like an application error
tcrawley-away is now known as tcrawley
<sholden> as far as I can tell the only application is rubygems…
<sholden> this is from “gem install bundler”
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
colinsurprenant_ has joined #jruby
colinsurprenant has quit [Ping timeout: 276 seconds]
colinsurprenant_ is now known as colinsurprenant
dinfuehr has joined #jruby
iamjarvo has joined #jruby
colinsurprenant_ has joined #jruby
colinsurprenant has quit [Ping timeout: 276 seconds]
dinfuehr has quit [Ping timeout: 264 seconds]
colinsurprenant_ has quit [Ping timeout: 256 seconds]
colinsurprenant has joined #jruby
camlow325 has quit [Remote host closed the connection]
palacz has quit [Quit: Leaving.]
camlow325 has joined #jruby
DomKM has joined #jruby
colinsurprenant has quit [Quit: colinsurprenant]
camlow325 has quit [Remote host closed the connection]
x1337807x has joined #jruby
vikaton has joined #jruby
x1337807x has quit [Max SendQ exceeded]
x1337807x has joined #jruby
x1337807x has quit [Max SendQ exceeded]
tcrawley is now known as tcrawley-away
<bbrowning> enebo: so I was able to reproduce an OOM locally by running rubocop in a loop - the 26th loop gave me an OOM, but with a different stack than travis hit
x1337807x has joined #jruby
<bbrowning> going to loop it again while I go for a walk
bbrowning is now known as bbrowning_away
baroquebobcat has quit [Quit: baroquebobcat]
baroquebobcat has joined #jruby
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:dfb5fc8 by Brandon Fish): The build failed. (http://travis-ci.org/jruby/jruby/builds/65255459)
travis-ci has left #jruby [#jruby]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] chrisseaton pushed 2 new commits to truffle-head: http://git.io/vkxFa
<JRubyGithub> jruby/truffle-head 82f9fc6 Chris Seaton: Merge branch 'master' into truffle-head...
<JRubyGithub> jruby/truffle-head 798cc1b Chris Seaton: [Truffle] Tag failure.
JRubyGithub has left #jruby [#jruby]
subbu is now known as subbu|lunch
<projectodd-ci> Project jruby-master-spec-ji build #1488: STILL FAILING in 12 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-ji/1488/
x1337807x has quit [Ping timeout: 244 seconds]
dinfuehr has joined #jruby
Aethenelle has joined #jruby
dinfuehr has quit [Ping timeout: 256 seconds]
<projectodd-ci> Project jruby-master-test-slow_suites build #1465: STILL FAILING in 11 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-test-slow_suites/1465/
<projectodd-ci> Project jruby-master-spec-compiler build #1464: STILL FAILING in 6.7 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-compiler/1464/
camlow325 has joined #jruby
camlow325 has quit [Remote host closed the connection]
camlow325 has joined #jruby
bb010g has quit [Quit: Connection closed for inactivity]
Aethenelle_ has joined #jruby
Aethenelle has quit [Read error: Connection reset by peer]
Aethenelle_ is now known as Aethenelle
<Aethenelle> nirvdrum: that packer stuff I linked the other day may not be as advertised. I still need to try in my linux VM (which I left at home), but on OSX it's not working for armel. I'm having issues just booting debian outside of using packer...
<nirvdrum> Thanks. I was going to take a look after I finish this regexp stuff.
<nirvdrum> Assuming I don't die of a rage stroke before then.
pjammer has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<Aethenelle> ... You might want to wait on that till you've had some tea or something...
<Aethenelle> I am working on a PR for packer to allow specifying the qemu-img args and another afterward to build w/ debootstrap.
<Aethenelle> maybe I'll go extra crazy and make a chroot qemu user mode driver for vagrant...
bbrowning_away is now known as bbrowning
pjammer has joined #jruby
<bbrowning> enebo: so definitely a hard-to-reproduce OOM here - running rubocop on TB4 in a loop I hit it on loop 26, loop 3, loop 17
<bbrowning> I'll try to get a heap dump next
tcrawley-away is now known as tcrawley
<enebo> bbrowning: very odd. Sort of sounds like we are leaking due to concurrency or something? Or insane allocation and we cannot keep up
<bbrowning> I don't really know yet - I don't think rubocop does much in the way of concurrency
<bbrowning> if any
<enebo> bbrowning: I am hoping to see a zillion objects dominate your heap
<enebo> zillion of the same objects
Aethenelle has quit [Ping timeout: 250 seconds]
rsim has quit [Quit: Leaving.]
vikaton has quit []
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
skade has joined #jruby
pietr0 has quit [Ping timeout: 252 seconds]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] headius pushed 3 new commits to master: http://git.io/vkpcL
<JRubyGithub> jruby/master 9ea98e9 Charles Oliver Nutter: Return Enumerator self calling #each with no block. Fixes #3009.
<JRubyGithub> jruby/master 864ce45 Charles Oliver Nutter: Add spec for Enumerator.new form calling bare each....
<JRubyGithub> jruby/master 8641ab7 Charles Oliver Nutter: Untag passing Enumerator specs.
JRubyGithub has left #jruby [#jruby]
<bbrowning> enebo: looks like a JIT thread has hundreds of MB of retained stuff
<bbrowning> lots of org.jruby.org.objectweb.asm.Frame instances
<bbrowning> and Label
subbu|lunch is now known as subbu
<projectodd-ci> Project jruby-master-spec-ji build #1489: STILL FAILING in 6.9 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-ji/1489/
dinfuehr has joined #jruby
dinfuehr has quit [Ping timeout: 276 seconds]
yfeldblum has joined #jruby
<enebo> bbrowning: is invokedynamic on or any flags?
<bbrowning> enebo: only flag is HeapDumpOnOutOfMemoryError
<enebo> headius: ^
iamjarvo has joined #jruby
<projectodd-ci> Project jruby-master-test-slow_suites build #1466: STILL FAILING in 11 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-test-slow_suites/1466/
<enebo> bbrowning: fwiw I expect us to use more memory overall but I would not expect this JIT to be substantally larger than 1.7 JIT. We must be retaining a reference to something we can be dropping
<enebo> bbrowning: first part of the statement is about retaining IR info second part if about bytecode generation via JIT
<projectodd-ci> Project jruby-master-spec-compiler build #1465: STILL FAILING in 7.5 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-compiler/1465/
erikhatcher has joined #jruby
<bbrowning> enebo: I think it runs along fine most times and then blows up the heap others
<bbrowning> vs always being on the edge of OOM
<bbrowning> something happens - either concurrency, weakreference, or similar is probably involved
<headius> bbrowning: hi there
<bbrowning> headius: hi :)
<headius> JIT thread retaining heap eh?
<headius> no heap dump yet?
ddarkpassenger has joined #jruby
<bbrowning> headius: I have a dump, yeah
<bbrowning> and yes JIT thread
<headius> ok
<headius> get a root trace or put it somewhere I can get at it
<headius> JITCompiler did not change substantially from 1.7
camlow32_ has joined #jruby
camlow325 has quit [Read error: Connection reset by peer]
sferik has joined #jruby
<headius> I'm eyeballing it now
sferik has quit [Read error: Connection reset by peer]
sferik has joined #jruby
<bbrowning> It looks like labelMap in MethodData I think
<headius> oh interesting
_djbkd has quit [Remote host closed the connection]
<headius> it holds a reference to JVMVisitor which has all that data, but after JIT it should just go away
<headius> hmm...unless JIT cache is getting overloaded
sferik has quit [Client Quit]
<headius> enebo: what would be appropriate response if we decide JIT pipeline gets overloaded?
<enebo> headius: oh interesting
<headius> so far I don't see anything retaining unreasonably, but if the JIT structures are a bit larger now it could be too many jobs in the pipe
<headius> the queue is open-ended
<enebo> headius: well I would say we should change the threshold short term
<enebo> headius: possibly not JIT if too full and reset counter on method
<enebo> headius: so if really hot it will just try again later
<enebo> headius: but long term we need a more robust metric than n invocations
<enebo> so increase threshold and reset counter and reject build it too full
<enebo> whatever too full means
<bbrowning> I see > 300MB of int[]
<headius> nice
<bbrowning> inside that thread
<headius> 300MB should be enough for anyone
<enebo> heh
<enebo> bbrowning: is that inside asm?
<bbrowning> org.jruby.ir.targets.ClassData6 contains the int[], I thinkl?
<headius> bbrowning: hmm, not directly...but ASM has such structures for bytecode offsets and things
<enebo> bbrowning: probably the hashsets
<enebo> although could those really be all that big?
<headius> big methods could be big int[]
vikaton has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] eregon pushed 3 new commits to master: http://git.io/vkpah
<JRubyGithub> jruby/master da9976a Benoit Daloze: Merge commit '165e5e080bb07a188fd79abe067c5c0d7fa77e11'
<JRubyGithub> jruby/master 165e5e0 Benoit Daloze: Squashed 'spec/mspec/' changes from c73601b..6569203...
<JRubyGithub> jruby/master d95a41c Benoit Daloze: [Truffle] Update __callee__ tags.
JRubyGithub has left #jruby [#jruby]
bb010g has joined #jruby
<bbrowning> yeah GC roots go ClassData6's methodStack which is a MethodData. Then MethodData's labelMap
<headius> we could also scale up number of JIT threads based on CPUs to catch up, but if it's a JIT storm it probably wouldn't help
<bbrowning> labelMap is full of objectweb Labels and Frames
<headius> bbrowning: can you see the queue in JITCompiler's executor?
<bbrowning> from the heap?
<headius> once the jobs are done all that should be thrown out so I'm leaning toward it being overloaded
dinfuehr has joined #jruby
<bbrowning> I can't really connect while running since it has to loop the thing several times to OOM
<headius> well ideally the threads should be referenced by the executor, which will have a queue field
<headius> in the heap dump
<bbrowning> k
<headius> if the queue has hundreds or thousands of entries, we probably have our answer
<enebo> headius: so how about those two changes?
<headius> enebo: yeah that seems reasonable
<headius> I'm not sure how the failover heuristic should work though
<enebo> headius: I have no idea how to determine how many can be running
<headius> oh but wait
<headius> ASM structures shouldn't be there until it has started jitting!
donV has quit [Quit: donV]
<enebo> heh
<enebo> retained reference then
<headius> somewhere
<headius> hmm
<bbrowning> headius: the jit compilter executor queue has 118 items in it
<headius> hmm, that's a fair amount
<enebo> bbrowning: can you run this with verbose JIT logging on?
<enebo> bbrowning: It is possible we are failing to compile and that is not removing something
<bbrowning> sure
<enebo> jit.logging=false and jit.logging.verbose=false
<headius> true?
<bbrowning> hehe
rcvalle has quit [Quit: rcvalle]
<enebo> yeah true but I cut and paste from —properties :)
<enebo> I left as an exercise for the reader
<headius> ok
colinsurprenant has joined #jruby
<headius> so far can't reproduce with synthetic examples generating a lot of methods
<bbrowning> huh I'm starting to see some OOM errors that aren't fatal that I missed before
_djbkd has joined #jruby
erikhatcher has quit [Quit: erikhatcher]
<headius> weird
<headius> there should only be two methods jitting at a given time which should keep retained heap down
<headius> however if this is getting close to a memory limit the JIT compiler could keep queueing up new jobs
<headius> bbrowning: can you put that heap dump somewhere?
<headius> you could also try running without the JIT thread so everything's synchronous
<headius> -Xjit.background=false
<bbrowning> yeah I will
<bbrowning> It looks like what's actually happening is we OOM on every run
erikhatcher has joined #jruby
<bbrowning> but, for some reason, the OOM is only fatal on some runs
<bbrowning> and normally the error is swallowed somewhere and only output when logging is turned on
<headius> OOM during JIT shouldn't be fatal...it just would mean that method doesn't JIT
<headius> JIT threads failing repeatedly could back up though...the failed jobs need to be tidied up by the executor I believe
pietr0 has joined #jruby
<headius> the current logic should try to JIT synchronously if there's too many items in the queue
tcrawley is now known as tcrawley-away
<bbrowning> headius: 30 minutes left to uploading that 450MB heap :/
<headius> that is probably not what we want but it would avoid the JIT pipeline having too many jobs
_djbkd has quit [Read error: Connection reset by peer]
apofis has joined #jruby
<headius> bbrowning: if you can open up a port to jhat, that works too :-)
_djbkd has joined #jruby
<bbrowning> heh I actually don't think I can
<bbrowning> local small town ISP is a bit weird about their router I have to use
<headius> ahh suck
<bbrowning> cable modem in a year, supposedly!
<headius> yeah, I resisted cable for a long time, but DSL just can't cut it
<bbrowning> Heisenberg wins again - with jit logging on I can't reproduce the fatal OOM
<headius> probably slows it down enough
<bbrowning> just the non-fatal OOMs from the IR passes
<headius> can you drop heap down and try to force it?
<bbrowning> sure
<headius> I assume you zipped up that heap dump
<bbrowning> uh-huh
<bbrowning> I wouldn't
<headius> ok...I can wait
<headius> having an upper bound on the job queue seems a reasonable change in any case
x1337807x has joined #jruby
x1337807x has quit [Max SendQ exceeded]
x1337807x has joined #jruby
<bbrowning> hey zipped heap is a lot smaller! :)
subbu has quit [Ping timeout: 240 seconds]
<headius> hprof format is really inefficient
<projectodd-ci> Project jruby-master-spec-ji build #1490: STILL FAILING in 6.9 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-ji/1490/
colinsurprenant has quit [Ping timeout: 256 seconds]
<bbrowning> headius: with Xmx256m it OOM'd on 1st loop - https://gist.github.com/bbrowning/a3d4e9d9fe871b36b0e7
<bbrowning> that's with jit logging on
<headius> ok
<headius> JIT threads run at minimum priority too
<headius> I just realized that could contribute
<headius> tests could keep threads loaded down and JIT can't keep up
<headius> in that case just jitting synchronously when the queue is full wouldn't be bad...ups priority of methods actually being called
baroquebobcat has quit [Quit: baroquebobcat]
baroquebobcat has joined #jruby
subbu has joined #jruby
<bbrowning> neat "java.lang.OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects" is new to me
<headius> sounds like star trek technobabble
erikhatcher has quit [Quit: erikhatcher]
<headius> failed reallocation of positronic memory-n-grams in plasma conduit
<projectodd-ci> Project jruby-master-test-slow_suites build #1467: STILL FAILING in 18 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-test-slow_suites/1467/
<headius> ok, trying jhat first
<bbrowning> headius: the ArrayBlockingQueue didn't seem to help - will try -Xjit.background=false now
<headius> ok
<headius> 62k Label objects seems bad :-D
<bbrowning> quite a few for sure
<projectodd-ci> Project jruby-master-spec-compiler build #1466: STILL FAILING in 8.2 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-compiler/1466/
<headius> wha... there's only one JITClassGenerator instance in that heap
vikaton is now known as dom98
<headius> what if this is just one method that's way too big?
<headius> one big change from old JIT is that we don't attempt to bail out on really big methods
<headius> we just let it try to JIT and fail
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] nirvdrum pushed 2 new commits to master: http://git.io/vkp5V
<JRubyGithub> jruby/master ab3fec4 Kevin Menard: [Truffle] Initial work on making Regexp encoding-aware.
<JRubyGithub> jruby/master 43427eb Kevin Menard: [Truffle] Untagged a bunch of String specs now passing due to Regexp improvements.
JRubyGithub has left #jruby [#jruby]
<headius> enebo: we could bail out on instruction count > N too
<headius> since we don't do splitting yet
<enebo> headius: perhaps so
<enebo> headius: that must be a complciated method
_djbkd has quit [Remote host closed the connection]
<headius> whitequark parser lexer
<headius> it's big
pjammer has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
dom98 is now known as vikaton
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
pitr-ch has joined #jruby
x1337807_ has joined #jruby
x1337807_ has quit [Max SendQ exceeded]
<headius> if it's the advance method, it's over 10kloc of nested rescues, case/when, etc
dinfuehr has quit [Remote host closed the connection]
<headius> no way that would fit
_djbkd has joined #jruby
x1337807x has quit [Ping timeout: 255 seconds]
pjammer has joined #jruby
pietr0_ has joined #jruby
<headius> bbrowning, enebo: just trying to JIT that advance method OOMs for me
<headius> I'd wager that's the trigger that causes pipeline to start backing up
<headius> so jitting that method alone takes more than 500MB
ddarkpassenger has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tcrawley-away is now known as tcrawley
<headius> chrisseaton: I'd love to see how truffle does on this one :-)
pietr0 has quit [Ping timeout: 265 seconds]
pietr0_ is now known as pietr0
x1337807x has joined #jruby
<headius> bbrowning, enebo: I'm going to look at an instruction or basic block limit
<headius> will be easier to do than with AST
<chrisseaton> What's the method? A lexer in something?
ddarkpassenger has joined #jruby
ddarkpassenger has quit [Client Quit]
<headius> parser gem, lib/parser/lexer.rb, advance method
<headius> ginormous!
<headius> ragel-generated lexer for Ruby, so yeah
<bbrowning> headius: ahh so just too big of a method and rubocop is using that for its code analysis
<headius> bbrowning: yeah, so the change I'm playing with would inspect the method ahead of time and not try to compile if it's bigger than some threshold
<headius> probably instruction count since one method with no flow control might not have many basic blocks
iamjarvo has joined #jruby
<chrisseaton> I only see the lexer source - is the generated code online somewhere?
<headius> it's in the gem at least...he must not version it
<headius> I'm sure there's a rake target to generate it though
apofis has quit [Quit: This computer has gone to sleep]
<chrisseaton> If it's lots of branches it all depends on how many of those branches you've exercised
apofis has joined #jruby
deobalds has quit [Quit: Computer has gone to sleep.]
<enebo> which in the ruby lexer can be nearly all of it
<enebo> but in any case we should be able to eventually generate synthetic methods for big methods
<chrisseaton> might it not be the case that regular modern Ruby only exercises a small part of the grammar?
<bbrowning> headius: oh I forgot to mention w/ -Xjit.background=false it keeps humming along
<chrisseaton> does the IR do branch profiling?
<headius> bbrowning: makes sense
<headius> chrisseaton: IR does no profiling at all right now
<headius> enebo: indeed...but in the short term I think insn count is a good bailout
<enebo> headius: yeah either way should work
<headius> target script needs to go through the same logic so that it can compile only the pieces needed
<headius> running a script with a big method in it right now just blows up and doesn't run
<enebo> chrisseaton: small part of the grammar but likely most of the lexer
<headius> well no, it does run, but it will OOM before running
<headius> that can be a separate fix though
<headius> enebo: so this method is "only" 17936 instructions
<headius> 10000 may be too permissive for upper bound
<chrisseaton> I like the goto emulation in this
<headius> chrisseaton: :-\
<headius> Ragel's parsers are crap when the language doesn't support goto
<chrisseaton> When you get OOM compiling this, how much heap are you using?
<headius> c-r-a-p-
<enebo> headius: well this is also dependent on how much bytecode will be generated…which for exception handling will not line up well with instr count
<headius> chrisseaton: default `jruby` heap of 500MB
<headius> it's all ASM structures I'd wager...it's just too big
<headius> enebo: sure, I'm open to suggestions here
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<headius> I think we can estimate that N instructions will produce roughly N * X bytes of JVM bytecode given typical Ruby
<headius> I'm saying 10k is probably not small enough because 17k required all of a 500MB heap to JIT
<chrisseaton> is 500MB because of smaller VPS instances? it seems very low now
<headius> it is low now, and apparently JVM 8+ does not cap heap like it used to
<headius> we set this years ago because 4/5/6/7 had a deafult of 64MB on most systems
<headius> but we can't tell if we're running on 4/5/6/7 versus 8
<headius> at least not in time to change heap setting
<enebo> BB # * weight1 + instr
<enebo> hmmm
Aethenelle has joined #jruby
<enebo> less than what I don’t know
<headius> bbrowning: I think we have this in hand...if you could file an issue we'll come up with something
rsim has joined #jruby
<headius> the OOM from compiling too-large methods is likely causing OOM elsewhere, so fixing this should fix the general issue
<chrisseaton> does anyone know how I can minimally drive the advance method in a loop with some Ruby code as input?
<headius> chrisseaton: minimally? no
<headius> guess you could try to parse something and capture the inputs
<headius> there's lexer state too though
<bbrowning> headius: sure thing
<headius> enebo: I'm inclined to just make it 1000 or 5000 and call it a day
<enebo> headius: hmmm CFG.rescuerMap
<enebo> headius: yeah for now let’s just solve it
<headius> I'll set it to 1000 and try a test:mri:jit run to see how many methods fail
<enebo> headius: perhaps run rails new or something and see if anything besides date/format
<headius> seems a little small but then you have to guess the instructions will be 5-10 bytecodes each
<enebo> actually date/format I think was spliced apart pretty good
<headius> mmm sure
<headius> sync JIT + this change should give me a good idea
<enebo> headius: we could do the ASM thing and attach a cost value per instr to get better estimate
<enebo> IRScope.estimateCost()
<enebo> where it will examine number of rescues and ask each instr for its cost
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] nirvdrum pushed 2 new commits to master: http://git.io/vkhfa
<JRubyGithub> jruby/master d03e6ef Kevin Menard: [Truffle] Removed dead code.
<JRubyGithub> jruby/master 2148be1 Kevin Menard: [Truffle] Moved Regexp#options out to a Rubinius primitive.
JRubyGithub has left #jruby [#jruby]
<enebo> It would not be perfect but we could probably get something which was pretty ok
<headius> enebo: yeah, I might have to eyeball the JIT output because I don't know how to get incremental sizes from asm
<enebo> headius: I only remember there was some feature
<headius> it builds some data structure internally before emitting coe
<headius> there is a size estimate but it's post-visit, pre-generate
<headius> we blow up during visit
<enebo> headius: but it sounds like we don’t want to use it for fear of OOM’ing :)
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] bbrowning opened issue #3016: OutOfMemoryError in 9k on code with very large methods http://git.io/vkhJU
JRubyGithub has left #jruby [#jruby]
<headius> right
<enebo> headius: anyways I just meant the idea
<headius> yeah agreed
<enebo> headius: does make me wonder if we can get remi to put asm on a diet
<chrisseaton> make it eat itself!
bbrowning is now known as bbrowning_away
<enebo> chrisseaton: when return is 0 you can reset the source_buffer to run forever
<enebo> I am guessing this returns either 0 or -1 for EOF
<chrisseaton> it returns the token, so maybe nil
<chrisseaton> I don't know what version means - that '0' is wrong
<chrisseaton> It compares against 22 at some point...
<chrisseaton> oh 2.2
apofis has quit [Quit: This computer has gone to sleep]
<enebo> man I have been grilling/smoking some fish for close to 3 hours…..it is nearly warm enough!!!
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
mrmargolis has quit [Remote host closed the connection]
iamjarvo has joined #jruby
<headius> sounds like you're making kippers at this point
<enebo> hot smoking hopefully ftw
iamjarvo has quit [Client Quit]
travis-ci has joined #jruby
<enebo> after 2 hours the fish was about 130F
<travis-ci> jruby/jruby (master:43427eb by Kevin Menard): The build was broken. (http://travis-ci.org/jruby/jruby/builds/65313880)
travis-ci has left #jruby [#jruby]
<headius> because of: "no visitor logic for org.jruby.ir.instructions.ArgScopeDepthInstr in org.jruby.ir.targets.JVMVisitor"
<headius> must be a late addition
<enebo> yay
<projectodd-ci> Project jruby-master-spec-ji build #1491: STILL FAILING in 8.8 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-ji/1491/
<chrisseaton> Truffle can't run it yet due to not having racc
<chrisseaton> But this will be a good benchmark for us as well
skade has quit [Ping timeout: 276 seconds]
<headius> enebo: no methods during "rails new" failed to JIT with 1000
<headius> based on InterpreterContext I force prepare beofre jit
<headius> I'm not sure if that's full build or simple build
<headius> ensureInstrsReady or whatever
<enebo> JIT uses FullInterpreterContext
<enebo> startup uses IC
<enebo> amateur tip: put some oil on your grill lest you want to sacrafice some fish to the grill gods
<headius> good tip
<headius> your burgers will taste fishy for a while now :-)
<enebo> probably take like pure applewood smoke
<enebo> taste
<enebo> these turned out well
<enebo> I was going to wait but why wait
<headius> enebo: 1000 seems conservative but it's working ok
<headius> Antiarc: ooo that's exciting
<headius> I wonder if that means indy is coming along too?
<Antiarc> One can hope!
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] nirvdrum pushed 1 new commit to master: http://git.io/vkhLM
<JRubyGithub> jruby/master e190eda Kevin Menard: [Truffle] Findbugs.
JRubyGithub has left #jruby [#jruby]
<projectodd-ci> Project jruby-master-test-slow_suites build #1468: STILL FAILING in 9.3 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-test-slow_suites/1468/
<projectodd-ci> Project jruby-master-spec-compiler build #1467: STILL FAILING in 6.2 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-compiler/1467/
imperator has joined #jruby
<imperator> what happened to jruby-pg? can't seem to install it. gem search -r doesn't show it
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:2148be1 by Kevin Menard): The build was canceled. (http://travis-ci.org/jruby/jruby/builds/65318392)
travis-ci has left #jruby [#jruby]
<headius> imperator: I don't think we've ever pushed a gem
<imperator> d'oh!
<headius> and pg author doesn't seem interested
<imperator> so...how are people using jruby/rails + postgres?
<nirvdrum> Sequel.
<nirvdrum> Or ActiveRecord-JDBC.
<headius> Could not compile; passes run: []:TestDateParse.TestDateParse.test__parse at /Users/headius/projects/jruby/test/mri/date/test_date_parse.rb:5 because of: "Could not compile org.jruby.internal.runtime.methods.MixedModeIRMethod@3e4a20f9; instruction count 1527 exceeds threshold of 1000"
<headius> heh, even date parsing TESTS are too big
<imperator> Sequel has its own adapters?
<headius> sequel uses jdbc directly on JRuby
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] eregon pushed 1 new commit to master: http://git.io/vkhmT
<JRubyGithub> jruby/master df8b49a Benoit Daloze: [Truffle] Full Module#attr{,accessor,reader,writer}.
JRubyGithub has left #jruby [#jruby]
<enebo> hmmm we might be able to reduce that one
<headius> enebo: running MRI tests and I'm still only getting a handful failing, mostly < 2000 insns
<imperator> headius, ok, thanks
<headius> there's a few outliers
<enebo> __LINE__ probably forces all these values to be assigned as temps before being put into the arrays
<jeremyevans> Pure ruby drivers such as postgres-pr also work fine on JRuby, but most people using Sequel on JRuby are using JDBC
<headius> 2000 might be a good limit based on this
<imperator> i wasn't sure what the status of postgres-pr was
<enebo> oh wait that ends up as a fixnum
<enebo> yeah amazing
<nirvdrum> imperator: I had very good success with Rails + Sequel with Postgres. And you get all the other wonderful benefits of Sequel, too. Regular release schedule, optimizes incredibly well, real plugin API, etc.
<enebo> Ah math is in there
<headius> enebo: when test run complete's I'll gist a log of all failed methods
<headius> -'
<enebo> I would think all of this would be prop’d but I guess it is still building a massive tree of arrays in a single method
<headius> indy bytecode counts will be smaller too
<chrisseaton> Do you still have the 65k bytecode limit, or do you split into separate methods? As I guess this doesn't fit into 65k either
<headius> chrisseaton: before this fix it would just go for it and let JVM verified kick it out
<headius> but that allows methods that will never load to do stuff like this OOM
<enebo> chrisseaton: we will be working to split out big methods into multiple methods at some point
<enebo> headius: funny too because we were like so what it is offthread and async…let it fail
<headius> I'll just blame you and keep my conscience clear
<enebo> heh why not
<headius> JITCompiler: done jitting:<anon class>.Object.each at generated_code_in_test_yield_enum:0
<enebo> I say let simple fail and then fix it
<headius> millions of those during test:mri:jit
<headius> not saying that's a problem...they must be GCing
erikhatcher has joined #jruby
<enebo> they do generate a lot of tests on the fly
pjammer has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<headius> that's all failed compiles in my buffer, which includes gem install rails, rails new, and test:mri:jit
marr has quit []
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] nirvdrum pushed 1 new commit to master: http://git.io/vkhO6
<JRubyGithub> jruby/master bf5cdee Kevin Menard: [Truffle] Tagged a failing spec.
JRubyGithub has left #jruby [#jruby]
dinfuehr has joined #jruby
dinfuehr has quit [Ping timeout: 246 seconds]
<headius> enebo: so what do you think about 2000 then
<headius> that would reduce this to only 2 or 3 that fail to compile in all my testing
<headius> as short-term fix anyway
<enebo> headius: yeah I guess then asking bbrowning_away to retest will help give a little more confidence in a much broader suite
<headius> yes
<chrisseaton> Wow Truffle can actually run this lexer
<enebo> chrisseaton: were you concerned? Or you just mean you were not sure you impld enough of ruby yet?
<chrisseaton> I didn't expect it to run without any modifications or tweaks at all
<chrisseaton> We exceed the maximum frame size of 16k when compiling it though
<headius> unsurprising
<enebo> congrats on running it vanilla
<chrisseaton> one of the problems of always being able to deopt, is you have to keep a lot of junk live, just in case someone wants to introspect the frame
<headius> dunno if we still want the queue size limit or not
<headius> this was flukie
<headius> what we put in the queue should be only a bit extra until JIT starts
erikhatcher has quit [Quit: erikhatcher]
<headius> bbrowning_away: I'll push the size limit now and you can give it a go
<enebo> headius: yeah you said also you could not make it happen artificially
<headius> right...normally JIT should be able to keep up, and I don't think the retained data in the queue is very big
<headius> it's IRScope + a few structures to prepare to run the jIT
<headius> bbrowning_away: the change is in on master
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] headius closed issue #3016: OutOfMemoryError in 9k on code with very large methods http://git.io/vkhJU
JRubyGithub has left #jruby [#jruby]
<headius> enebo: this could be the source of OOMs from other folks too
rsim has quit [Quit: Leaving.]
<projectodd-ci> Project jruby-master-spec-ji build #1492: STILL FAILING in 9.7 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-ji/1492/
bb010g has quit [Quit: Connection closed for inactivity]
_djbkd has quit [Read error: Connection reset by peer]
_djbkd has joined #jruby
Aethenelle_ has joined #jruby
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:df8b49a by Benoit Daloze): The build failed. (http://travis-ci.org/jruby/jruby/builds/65321572)
travis-ci has left #jruby [#jruby]
Aethenelle has quit [Ping timeout: 252 seconds]
Aethenelle_ is now known as Aethenelle
imperator has quit [Quit: Leaving]
yfeldblum has quit [Remote host closed the connection]
<projectodd-ci> Project jruby-master-test-slow_suites build #1469: STILL FAILING in 10 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-test-slow_suites/1469/
travis-ci has joined #jruby
<travis-ci> jruby/warbler (master:856e85f by Joe Kutner): The build was fixed. (http://travis-ci.org/jruby/warbler/builds/65321781)
travis-ci has left #jruby [#jruby]
nateberkopec has quit [Quit: Leaving...]
<projectodd-ci> Project jruby-master-spec-compiler build #1468: STILL FAILING in 11 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-compiler/1468/
insidiou_ has quit [Quit: Textual IRC Client: www.textualapp.com]
x1337807x has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
travis-ci has joined #jruby
<travis-ci> kares/jruby (test-big-decimal:2e32e91 by kares): The build passed. (http://travis-ci.org/kares/jruby/builds/65324731)
travis-ci has left #jruby [#jruby]
SuperTaz_ has quit [Ping timeout: 255 seconds]
SuperTaz_ has joined #jruby
tcrawley is now known as tcrawley-away
Aethenelle has quit [Ping timeout: 244 seconds]
dinfuehr has joined #jruby
enebo has quit [Quit: enebo]
dinfuehr has quit [Ping timeout: 252 seconds]
subbu has quit [Ping timeout: 240 seconds]
bb010g has joined #jruby
camlow325 has joined #jruby
camlow32_ has quit [Read error: Connection reset by peer]