ChanServ changed the topic of #jruby to: Get 9.0.1.0! http://jruby.org/ | http://wiki.jruby.org | http://logs.jruby.org/jruby/ | http://bugs.jruby.org | Paste at http://gist.github.com
kwando has quit [Read error: Connection reset by peer]
yfeldblu_ has joined #jruby
yfeldblum has quit [Ping timeout: 246 seconds]
samphippen has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
brauliobo has quit [Remote host closed the connection]
brauliobo has joined #jruby
yfeldblu_ has quit [Remote host closed the connection]
yfeldblum has joined #jruby
gregoriokusows-1 has joined #jruby
gregoriokusowski has quit [Ping timeout: 240 seconds]
e_dub has quit [Quit: Leaving]
samphippen has joined #jruby
e_dub has joined #jruby
donV has quit [Ping timeout: 240 seconds]
donV has joined #jruby
samphippen has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
camlow32_ has quit []
digitalextremist has joined #jruby
digit327 has joined #jruby
bbrowning_away is now known as bbrowning
digitalextremist has quit [Remote host closed the connection]
digit327 has quit [Remote host closed the connection]
digit681 has quit [Read error: Connection reset by peer]
digitalextremist has joined #jruby
maleghast has joined #jruby
bffff_ has quit [Quit: Connection closed for inactivity]
<GitHub105> [jruby] nirvdrum pushed 1 new commit to master: http://git.io/vC6hT
<GitHub105> jruby/master f2242d0 Kevin Menard: [Truffle] Optimized String#<< for Strings with 7-bit code range.
nirvdrum has quit [Ping timeout: 264 seconds]
bbrowning is now known as bbrowning_away
cremes has quit [Quit: cremes]
cremes has joined #jruby
djbkd has quit [Quit: My people need me...]
colinsurprenant has joined #jruby
bbrowning_away has quit [Remote host closed the connection]
bbrowning_away has joined #jruby
pawnbox has joined #jruby
colinsurprenant has quit [Quit: colinsurprenant]
pietr0 has quit [Ping timeout: 240 seconds]
yfeldblum has quit [Ping timeout: 240 seconds]
thedarkone2 has quit [Quit: thedarkone2]
gregoriokusows-1 has quit [Quit: gregoriokusows-1]
mdedetrich has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
mdedetrich has joined #jruby
pawnbox has quit [Read error: Connection reset by peer]
pawnbox has joined #jruby
robbyoconnor has joined #jruby
mdedetrich has quit [Ping timeout: 264 seconds]
mdedetrich has joined #jruby
yfeldblum has joined #jruby
pawnbox has quit [Remote host closed the connection]
rsim has joined #jruby
pawnbox has joined #jruby
brauliobo has quit [Ping timeout: 264 seconds]
digitalextremist has quit [Ping timeout: 240 seconds]
digitalextremist has joined #jruby
skade has joined #jruby
jensnockert has joined #jruby
pawnbox has quit [Remote host closed the connection]
zz_denym_ has quit [Remote host closed the connection]
mdedetrich has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
pawnbox has joined #jruby
mkristian has joined #jruby
<pawnbox> how to set ruby version to jruby in Gemfile?
anaeem1 has joined #jruby
blaxter has joined #jruby
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
drbobbeaty has joined #jruby
vtunka has joined #jruby
<pawnbox> never min
<pawnbox> *never mind
_whitelogger_ has joined #jruby
_whitelogger has quit [Remote host closed the connection]
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
skade has quit [Quit: Computer has gone to sleep.]
donValentin has joined #jruby
donV has quit [Ping timeout: 260 seconds]
_whitelogger has joined #jruby
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
e_dub has quit [Ping timeout: 246 seconds]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
skade has joined #jruby
jensnockert has quit [Remote host closed the connection]
bga57 has quit [Ping timeout: 240 seconds]
bga57 has joined #jruby
skade has quit [Quit: Computer has gone to sleep.]
mdedetrich has joined #jruby
skade has joined #jruby
e_dub has joined #jruby
gregoriokusowski has joined #jruby
<GitHub132> [jruby] chrisseaton pushed 1 new commit to truffle-head: http://git.io/vCP9f
<GitHub132> jruby/truffle-head ddcfe87 Chris Seaton: [Truffle] Don't try to print foreign objects.
gregoriokusowski has quit [Ping timeout: 265 seconds]
<GitHub97> [jruby] chrisseaton pushed 1 new commit to truffle-head: http://git.io/vCPH8
<GitHub97> jruby/truffle-head 1423e09 Chris Seaton: [Truffle] Improve isForeignObject guard.
mdedetrich has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
drbobbeaty has joined #jruby
<GitHub102> [jruby] chrisseaton pushed 1 new commit to truffle-head: http://git.io/vCP7w
<GitHub102> jruby/truffle-head dc1c722 Chris Seaton: [Truffle] Primitives aren't foreign.
mdedetrich has joined #jruby
cremes has quit [Quit: cremes]
cremes has joined #jruby
jensnockert has joined #jruby
jensnockert has quit [Ping timeout: 240 seconds]
jensnockert has joined #jruby
mkristian has quit [Quit: This computer has gone to sleep]
jensnockert has quit [Ping timeout: 252 seconds]
mdedetrich has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
jensnockert has joined #jruby
yfeldblum has quit [Ping timeout: 246 seconds]
cristianrasch has joined #jruby
<eregon> headius: CallableSelectorTest does not seem to compielf for me, should IntHashMap implements Map?
bbrowning_away is now known as bbrowning
<GitHub43> [jruby] eregon commented on commit 14a7a31: You mean 500 `ms` for the second duration, right?... http://git.io/vCXL6
<kares> eregon: it should not
nirvdrum has joined #jruby
vmarcetic has joined #jruby
jamiejackson has joined #jruby
drbobbeaty has quit [Read error: Connection reset by peer]
drbobbeaty has joined #jruby
pawnbox has quit [Read error: Connection reset by peer]
Aethenelle has joined #jruby
lance|afk is now known as lanceball
jensnockert has quit [Remote host closed the connection]
jensnockert has joined #jruby
jensnockert has quit [Ping timeout: 250 seconds]
<GitHub190> [jruby] nirvdrum pushed 1 new commit to truffle-head: http://git.io/vCXKu
<GitHub190> jruby/truffle-head 0664b73 Kevin Menard: [Truffle] Fixed overly broad recursion guard in set_trace_func.
maleghast has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
mkristian has joined #jruby
colinsurprenant has joined #jruby
brauliobo has joined #jruby
klemanski has joined #jruby
knowtheory has quit [Ping timeout: 246 seconds]
enebo has joined #jruby
knowtheory has joined #jruby
mkristian has quit [Quit: This computer has gone to sleep]
Aethenelle has quit [Quit: Aethenelle]
skade has quit [Quit: Computer has gone to sleep.]
jensnockert has joined #jruby
thedarkone2 has joined #jruby
jensnockert has quit [Ping timeout: 268 seconds]
Aethenelle has joined #jruby
samphippen has joined #jruby
<GitHub8> [jruby] enebo pushed 1 new commit to master: http://git.io/vC1eD
<GitHub8> jruby/master 033e50c Thomas E. Enebo: Dead code
hobodave has joined #jruby
jamiejackson has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
digitalextremist has quit [Ping timeout: 268 seconds]
hobodave has quit [Quit: Computer has gone to sleep.]
digitalextremist has joined #jruby
camlow325 has joined #jruby
rcvalle has joined #jruby
<GitHub43> [jruby] nirvdrum pushed 1 new commit to master: http://git.io/vC1Gq
<GitHub43> jruby/master a8135a2 Kevin Menard: [Truffle] Switched local profiles to @Cached to avoid issues with sharing across specializations.
<GitHub86> [jruby] pitr-ch pushed 1 new commit to master: http://git.io/vC1cJ
<GitHub86> jruby/master 25c265d Petr Chalupa: [Truffle] GetConstantNode should guard name when constant == null
vtunka has quit [Quit: Leaving]
<GitHub110> [jruby] eregon pushed 4 new commits to master: http://git.io/vC1c6
<GitHub110> jruby/master e20f54c Benoit Daloze: [Truffle] StringOperations.encodeBytelist should be a boundary.
<GitHub110> jruby/master 9383672 Benoit Daloze: [Truffle] Use a boundary instead of a transfer.
<GitHub110> jruby/master 2a1eb25 Benoit Daloze: [Truffle] Cache a Module or Class name even when anonymous as it is rather expensive to compute....
<klemanski> hi, i'm having trouble on my production app because of ArrayIndexOutOfBoundsException: 21
<klemanski> i looks like Regexp related
hobodave has joined #jruby
<klemanski> code works as expected on phrase build phrase = "smth" but breaks on phrase = "smth".squeeze
<klemanski> regexp/encoding realated but but i dont know where to look
<klemanski> force_encoding("utf-8") also breaks this code
<klemanski> .force_encoding("utf-8").force_encoding("US-ASCII") also what is strange
<klemanski> the have same bytes but only one raises exception http://pastebin.com/fjaCUd0W
<klemanski> "phrase" is bad example, here is better: http://pastebin.com/0DwZ5yVC
<GitHub126> [jruby] eregon pushed 2 new commits to master: http://git.io/vC1BU
<GitHub126> jruby/master 6e3cca6 Benoit Daloze: [Truffle] We need only a single constMissingNode as it has its own inline cache.
<GitHub126> jruby/master ba40478 Benoit Daloze: [Truffle] Add a cache limit for const_missing.
<enebo> klemanski: which version fo JRuby are you seeing this?
mkristian has joined #jruby
<klemanski> ok i've found something that fixes this: phrase = "sterownik".bytes.to_a.pack('c*').force_encoding("utf-8")
<klemanski> 1.7.19 and 1.9.22
<klemanski> but it is not new code, it worked before without problem
<enebo> klemanski: but this must be an issue of some source of multi byte characters
<enebo> klemanski: I have not seen any in your pastes
<klemanski> this is not repeating for all phrases for "sterownik" there is problem bot for "terownik" there is none
<enebo> klemanski: those are all 7bit ascii
<klemanski> yes
<enebo> klemanski: you are getting an AIIOBE from that specific string?
<klemanski> yes i can reproduce this on this
<enebo> klemanski: can you share a complete snippet…those above pastebins are not crashing are they?
<klemanski> i will try to extract this
<klemanski> this string is passed to method that matches it agains regexps and checks which regexp match
<enebo> klemanski: does the regexp have mbc (multibyte chars) in it?
<klemanski> they may have because the are build dynamically from db
<enebo> 7bit in ascii and utf-8 are the same so I am confused how we can see this sort of error without on
<enebo> ah
<enebo> klemanski: yeah getting exact input which crashes will make this a lot easier
<klemanski> i will try to deploy this fix for now: .bytes.to_a.pack('c*').force_encoding("utf-8")
<klemanski> looks like it helps
<klemanski> and after fixing production i will try extracting sample
<enebo> klemanski: well if it makes your stuff not crash then it is a bandaid but I would love to fix it for real
<enebo> klemanski: I can see in the stack it is also coming in from Java land
<enebo> oh well I think it might be anyways
<enebo> but if you get a repro we will fix it or help you fix it
<enebo> time to make a salad
jamiejackson has joined #jruby
<klemanski> maybe regexp have other encoding and that's problem
colinsurprenant has quit [Quit: colinsurprenant]
<enebo> klemanski: these bugs typically end up misassociating some string (or string in regexp) as wrong encoding…then we ask for number of chars and it explodes because it is not that encoding of string
<lopex> numbers ?
<lopex> klemanski: do you have reduced case ?
<klemanski> lopex, not yet shareable i'm working on it
blaxter has quit [Quit: foo]
<klemanski> i will try to finish it from home
klemanski has quit [Quit: This computer has gone to sleep]
lanceball is now known as lance|afk
brauliobo has quit [Ping timeout: 265 seconds]
vmarcetic has quit []
<GitHub98> [jruby] enebo reopened issue #3394: JRuby thread stuck on IntHashMap.rehash http://git.io/vCgOn
klemanski has joined #jruby
<nirvdrum> enebo: No headius today?
<enebo> nirvdrum well not yet
<enebo> mkristian: oh heh hello
<mkristian> enebo, hi
<enebo> mkristian: that is weird. we do not seem to care abuot extension but this does not work without it
<enebo> mkristian: but if I did a require “test” and uri:classloader was in path it probably does work?
<mkristian> no idea why the "." works and the jar does not. there should be no difference. but the ".class" extension is not check as far I can see.
<mkristian> just try to find the list of extensions
<enebo> yeah we do have different *Resource.java classes
<enebo> maybe something with that?
<GitHub100> [jruby] chrisseaton comment on commit 14a7a31: Yeah 500ms.... http://git.io/vC1ye
skade has joined #jruby
<mkristian> enebo, I need to set -Djruby.aot.loadClasses=true only then the .class files will be searched - totally forgot this
<enebo> mkristian: oh!!! I forgot too
maleghast has joined #jruby
bbrowning is now known as bbrowning_away
djbkd has joined #jruby
<mkristian> do you know if this really needed inside the require_relative to first make a real_path and then do all the setup of the new path. if I just replace the filename of given path with the new name. then things work.
<mkristian> let me gist you what I mean
<enebo> ok I wondered if only stripping extension in require_relative was enough to fix this
<mkristian> no the realpath already fails since it is looking for a file on the filesystem
<enebo> mkristian: is that second = supposed to be a + ?
<mkristian> inside the regexp ?
<enebo> absolute_feature = absolute_feature = file.sub(/[^\/]+$/, relative_arg)
<enebo> seems repetitive
<enebo> :)
<mkristian> I see. no only one absolute_feature =
hobodave has quit [Quit: Computer has gone to sleep.]
<mkristian> I copied it from within the ruby-complete jar and did it wrong
<enebo> mkristian: ok I think your case will not work if file does not end in / or \
<enebo> and it relative_arg does not start with / or \
bb010g has joined #jruby
<enebo> mkristian: I am not sure but I think one boon to relative_relative is that as absolute path it does not need to search LOAD_PATH
<mkristian> ok this one also works: absolute_feature = File.join(File.dirname(file), relative_arg). the real_path with a relative "file" always assumes it was found via the current directory
<klemanski> enebo, lopex: i've got this https://gist.github.com/kml/828b46b0bd74e46e642b
<klemanski> minimal example that reproduces error
<klemanski> on MRI it returns nil
<klemanski> 9k also raises exception
<enebo> mkristian: would this work: https://gist.github.com/enebo/d829549a3a89cb544f6a
<mkristian> was just about to try something like this. let me see
<enebo> klemanski: I see tons of ?? which I think is some character data right?
<mkristian> enebo, Errno::ENOENT: No such file or directory - /Users/cmeier/projects/active/jruby/app/test1
<mkristian> I did this before actually
<klemanski> yes
<klemanski> regexp is build ising Regexp.union
<klemanski> * using
<enebo> klemanski: sorry I am rebuilding but I am seeing tons of ? which to me means this gist is unable to display those chars
<enebo> but I do see AIIOBE: 9
<enebo> so :)
<klemanski> ? is regexp character
<enebo> a-z??????
<enebo> in []
<enebo> :)
<enebo> ogrodz[a-z??????]
colinsurprenant has joined #jruby
<klemanski> i will try to simplyfy this regexp
rcvalle has quit [Ping timeout: 240 seconds]
<mkristian> enebo, removing the absolute thingy will work. no realpath and no expand_path. even File.exists? on the relative file is false since it is not on the filesystem. what about a
<mkristian> recue Errno::ENOENT
<enebo> klemanski: but this ‘ogrodz[a-z??????]’ is that some mbc char after z not rendering for me?
<mkristian> for the AOT compile case ?
<mkristian> rescue
<klemanski> enebo, will check that for sure but it's rather just "?"
<enebo> ok klemanski so it could have been [a-z?]
<enebo> klemanski: something is generating these or something
<klemanski> ok i will check conditions before Regexp.union
<enebo> mkristian: could we check for classloader/uri in absolute and use relative only for those and not rail via exception
<mkristian> enebo, OK, but not this evening, well not on my side
<enebo> klemanski: lopex: I see no mbc in this regexp at or in the phrase
<enebo> mkristian: gist what you have and I will probably also look at this
lance|afk is now known as lanceball
<mkristian> and if File.realpath would return something with uri:class loader: then the rest should work
<mkristian> without my patch
<lopex> klemanski: ok, that one blows /(?i-mx:^bram[ay])|(?i-mx:(sterowniki?|automatyka).*\bbramy?)/
<lopex> klemanski: more reduction: /(sterowniki?).*\b/
<lopex> even more "x".force_encoding("utf-8"); /x.*\b/
<klemanski> ok that's really minimal example
<lopex> klemanski: looks like a joni thing, can you file an issues there ?
<klemanski> super
<klemanski> * sure
<klemanski> :)
rcvalle has joined #jruby
<nirvdrum> lopex: I noticed that when force_encoding is called with the same encoding the String is using, part of it no-ops, but CoW is triggered and the code range is cleared. Is this an oversight? Or is that required for something?
<lopex> nirvdrum: hmm, I vaguely remember puttng there modifyCheck
<lopex> nirvdrum: but yeah, it's an no op
<lopex> nirvdrum: modify check is needed anyways since the string might be frozen etc
<lopex> so it sohuld raise
<lopex> klemanski: got it reproduced that with internal joni api, so it's most likely joni
<enebo> mkristian: thanks. perhaps we can solve realpath
<lopex> with regexp and UTF8Encoding
<klemanski> x = "x".bytes.to_a.pack('c*').force_encoding("utf-8") looks like fix
<mkristian> enebo, just thinking. realpath cannot work since there is no app/test1.rb file inside the jar. and expand_path you want to act on the PWD for relative paths only the LoadService does interate over the extensions and looks into the uri:classloader:/ space. why does the caller does not have the uri:class loader: prefix ?
<enebo> mkristian: how about for app/ itself?
<enebo> mkristian: maybe we can just realpath the parent except for base case of just a filename??? hmm
<GitHub92> [jruby] kml opened issue #3397: ArrayIndexOutOfBoundsException when utf8 string matched against regexp with with word boundary \b http://git.io/vCMei
<mkristian> it does exist. but I think we are heading the wrong way. what if we have jar://some.jar on the load_path. the uri:classloader: prefix is there when using the *.rb files but not when using the *.class files
<enebo> mkristian: so you think we need to make sure the .class appropriately have this same consistent prefix?
bbrowning_away is now known as bbrowning
<mkristian> enebo, it feels wrong to fallback on "uri:class loader:" to search - it is just a very common case but just a special case
<enebo> mkristian: at this pount I am unsure what the solution should be :)
<enebo> mkristian: but you said you have other stuff to do so I don’t want to keep you
<enebo> mkristian: I will try and learn more about this through experimentation
<mkristian> cooking + eating
hobodave has joined #jruby
<nirvdrum> mkristian: At some point I'd like to revisit how to prevent Truffle unit tests running for every task in the truffle-head branch.
<lopex> klemanski: fixed on master
nateberkopec has quit [Quit: Leaving...]
<klemanski> lopex, possible to backport to 1.7?
<lopex> enebo: will there be 1.7 update soon ?
<enebo> lopex: maybe
<enebo> lopex: but we can for sure get in a joni fix
<lopex> enebo: two actually
<lopex> enebo: multibyte not word bound was also affected
<lopex> will add tests
<enebo> lopex: thanks… that was quick :)
<lopex> enebo: it was easy since singlebyte versions had a fix already
<klemanski> lopex, while still using 1.7.19 should I remove all \b from regexps?
<GitHub176> [jruby] nirvdrum pushed 2 new commits to master: http://git.io/vCMk6
<GitHub176> jruby/master 51cd5fe Kevin Menard: String#force_encoding should fail if the string is frozen.
<GitHub176> jruby/master 793d175 Kevin Menard: Add spec for String#force_encoding called on a frozen string.
<klemanski> remove == replace
nateberkopec has joined #jruby
<GitHub124> [jruby] chrisseaton pushed 1 new commit to truffle-head: http://git.io/vCMky
<GitHub124> jruby/truffle-head 47d19d5 Chris Seaton: [Truffle] Fix guards for foreign dispatch.
mkristian has quit [Quit: This computer has gone to sleep]
<lopex> klemanski: yeah nad \B - these will blow when matching at the end of a string
maleghast has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<klemanski> lopex, thanks for fixing this, now when i know what is the cause of problem it will be possible to fix the app
<GitHub143> [jruby] lopex closed issue #3397: ArrayIndexOutOfBoundsException when utf8 string matched against regexp with with word boundary \b http://git.io/vCMei
hobodave has quit [Quit: ["Textual IRC Client: www.textualapp.com"]]
<cremes> are there nightlies available? I don’t have “ant” so compiling my own from master is problematic.
<GitHub27> [jruby] pitr-ch pushed 2 new commits to master: http://git.io/vCMGF
<GitHub27> jruby/master ef34637 Petr Chalupa: [Truffle] fix Thread variables to pass ActiveSupport tests
<GitHub27> jruby/master 8e481f6 Petr Chalupa: [Truffle] j+tr: keep order between files required by --require-pattern and --require
<nirvdrum> cremes: http://ci.jruby.org/
<nirvdrum> cremes: They're linked from the wiki, in case you ever need to find the link again.
<cremes> nirvdrum: many thanks
<nirvdrum> No problem.
Aethenelle has quit [Quit: Aethenelle]
<chrisseaton> Does JRuby try to start sub-rubies in the same VM? If so, how can I turn this off? Symptom is warnings like 'warning: -J-original argument ignored (launched in same VM?)', where that argument is essential
lanceball is now known as lance|afk
<lopex> klemanski: no problem
<lopex> nirvdrum: aprarently I did it in 21fc38a5d51e24d4400e746ccd6eb95b64554386
<lopex> that modify
<lopex> nirvdrum: mri uses str_modifiable so modifyCheck for that
<lopex> if it's still called so
<nirvdrum> lopex: I added a missing spec for this.
<nirvdrum> But I only added that check.
<lopex> nirvdrum: but there's no modify
<lopex> er, shouldnt be then
<nirvdrum> lopex: I was going to remove it, but wouldn't changing the encoding in a ByteList constitute a modification?
<nirvdrum> We can push the modify into the associateEncoding operation.
<lopex> nirvdrum: oh right
<nirvdrum> But that method is used by other code.
<nirvdrum> So it would require a little deeper cleanup.
<lopex> mri uses flags so that's not a part of cowed data
<lopex> right
jensnockert has joined #jruby
<cremes> found another performance issue (with master) but reducing this to a small example looks difficult.
<cremes> still profiling
colinsurprenant has quit [Quit: colinsurprenant]
<nirvdrum> lopex: I'm just suggesting we can prevent invalidating until we know that the encoding is actually going to change.
<lopex> nirvdrum: yes
<cremes> mri is 5x faster (even with brain dead threading) and rbx is 30x faster (but it SEGVs)
<lopex> same encoding - not invalidation
mkristian has joined #jruby
<lopex> nirvdrum: oh, and modify19 aleady does modifyCheck
<lopex> so it was good anyways
<nirvdrum> Oh? My bad then.
<mkristian> nirvdrum, I did play around with it and should have the branch still around. let me see if I can find it
<nirvdrum> mkristian: That'd be fantastic.
<mkristian> nirvdrum, https://gist.github.com/mkristian/103403ae15ae9a034912 actually only the two surefire lines are important. not sure if I understood you right but this disables surefire for all but this one profile
colinsurprenant has joined #jruby
jamiejackson has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
<nirvdrum> I'll give that a try. Thanks.
djbkd has quit [Remote host closed the connection]
<mkristian> I could not run this branch - missed some dependencies. can this be the case ?
<nirvdrum> It shouldn't be. We run it on Travis.
<mkristian> ok. for the next time I will remember . .
<nirvdrum> sounds good. If you have issues just let me know.
devn has quit [Ping timeout: 246 seconds]
Antiarc has joined #jruby
mberg has quit [Ping timeout: 250 seconds]
atambo has quit [Ping timeout: 246 seconds]
jensnockert has quit [Remote host closed the connection]
Aethenelle has joined #jruby
atambo has joined #jruby
mpapis has quit [Ping timeout: 240 seconds]
mpapis has joined #jruby
devn has joined #jruby
jensnockert has joined #jruby
mberg has joined #jruby
yfeldblum has joined #jruby
djbkd has joined #jruby
djbkd has quit [Remote host closed the connection]
jensnockert has quit [Remote host closed the connection]
<enebo> cremes: have you reduced the case?
djbkd has joined #jruby
<headius> cremes: hey nice another perf opportunity
<enebo> cremes: most likely you are raising regularly to get that bad of perf
<headius> chrisseaton: not typically, no
<headius> yeah that kinda problem is almost always exceptions
<headius> did you try that no stack trace flag again?
<cremes> enebo: it’s something inside the sequel gem (using jdbc, etc)
<enebo> cremes: oh
<cremes> so as far as I can tell it doesn’t have to do with exceptions
<cremes> I’m trying to profile just that one chunk of code. I’ll get back to you when I have something.
<enebo> cremes: ok cool.
<enebo> cremes: which db you talking to?
<cremes> enebo: sqlite3
<headius> cremes: thanks...if it's in sequel it will be abit harder to fix but jeremyevans idles in here
<headius> ah-ha
<headius> sqlite3 jdbc support is provided either by a native binding OR an emulated MIPS processor
<cremes> i’ve been able to get good insert rates (3k+) with other data. I think it might be something about this data.
<cremes> I’m trying to reduce now.
<headius> ok cool
<headius> so it may not really be jruby then...that's good
<enebo> ::BigDecimal.new(s) rescue s
<cremes> my insert rates now are like 250/sec which sucks
<cremes> headius: it’s something in jruby or a support lib I’m pretty sure. I get 1100/sec with MRI and 7k/sec with rbx.
<headius> enebo: check Big D for flow exceptions
<headius> cremes: I mean it could easily be something in sequel that needs to be tweaked
<cremes> headius: ah, gotcha
<headius> we'll get it figured out...no reason at all we should be slower than MRI
<cremes> I agree. I guess I’m pretty “lucky” that I keep finding these. :)
<headius> and we're lucky that you report them
<enebo> well NumberFormat exception
<enebo> but we are sort of stuck iwth that if we use BigDecimal
<headius> enebo: that's coming out of JDK right?
<enebo> yeah
mkristian has quit [Quit: This computer has gone to sleep]
<headius> we need to bite the bullet and ship someone else's BigDecimal
<enebo> but that will not be super expensive for us
<headius> JDK's is so slow
<enebo> yeah there are other interesting comments in here: // TODO: full-precision remainder is 1000x slower than MRI!
<headius> yup
<headius> several of JDK's BigD methods turn it into a string and back
<headius> horrific
<enebo> but if this is partially calling through ruby bigdeicmal files we might have a double rescue nesting and it defeating latest opt
<enebo> at some point we should probably port MRIs :)
<cremes> enebo: google summer of code
<headius> we're going to get in this year
<headius> I talked with them last year and they explained they wanted us in
<headius> I'm starting 2016 page now so we don't lose these ideas
jensnockert has joined #jruby
<headius> I added BigD and sqlite3-ffi under popular C exts
<jeremyevans> headius: cremes: Sequel uses exceptions for validation/hook failures, not sure if you are hitting those
<headius> that's a possibility
<headius> jeremyevans: if they're not intended to be caught by users, you can provide an empty backtrace
<headius> or use catch/throw instead
<cremes> I’m within 30m or so of having a repro. We’ll have data shortly. :)
<headius> catch/throw is preferred way to do exception-like stack unrolling
<jeremyevans> headius: well, changing it would be a big backwards compat issue. Possible in Sequel 5 maybe, but not before
<headius> are they user-visible exceptions?
<headius> or just for internals of sequel
<jeremyevans> headius: Besides, I think exceptions for validation failures are the way to go. AR-style save returns nil/false on failure makes it way to easy to call save and forget to check return values.
<jeremyevans> headius: User-visible by default
<headius> ok, that's not unreasonable then
<jeremyevans> headius: If you want nil/false on validation failure, you can turn on a setting, but it just uses an internal rescue for that
<headius> the exception cases we dealt with in csv were using exceptions to failover from one converter to another internally
<headius> massive perf hit you can't do anything about as a user
<headius> in the nil/false case you could also give it a bogus backtrace btw, since you know they won't see it
<jeremyevans> I've just switched my largest, oldest app (originally designed in Rails 0.11 or so) from save returns nil to save raises and it resulted in much better, easier to understand code, and caught quite a few bugs
<enebo> If backtraces are not important threadlocal singleton exceptions will be faster on JRuby but also on MRI
<enebo> The speedup will be less pronounced on MRI but it should still give something
<enebo> but if backtraces are important then there’s that too :)
<jeremyevans> I don't consider validation failures a big performance issue. It's going to be way less processing raising an exception that querying a database, which is what it would do on success
<enebo> yeah exceptional behavior on a resource
<jeremyevans> Anyone with truly high performance needs probably shouldn't be using models anyway :)
<enebo> fwiw no one knows why cremes code is slower…we just always suspect exceptions :)
<enebo> we do emulate a PPC machine for sqlite3 :)
<headius> enebo: MIPS
<headius> but it has a native binding for some platforms
<enebo> well we emulate a MACHINE
<headius> INDEED
<enebo> :)
<headius> jeremyevans: yeah I don't dig return codes for errors either
<cremes> jeremyevans: not using models. doing a straight-up @db[:table].import(header, rows, :commity_every => 500)
<jeremyevans> cremes: Yep, that shouldn't be raising an exceptions
<jeremyevans> cremes: Could be a jdbc issue if you are using that on JRuby
<jeremyevans> cremes: IME, the jdbc adapter is slower than the postgres adapter
<headius> using jdbc has to do marshalling of ruby values to java and back
<headius> unfortunately :-(
lance|afk is now known as lanceball
<jeremyevans> gotta run now, drop a note in #sequel if you are having performance issues and you think they are sequel related
<cremes> here’s the thing… I can get very fast 9k+ inserts/sec with some data on jruby. something I’m doing now is causing it to only insert at a rate of about 100/sec.
<headius> that's why a sqlite3-ffi would be nice, and we need to get out pg lib for JRuby
<headius> cremes: wow
<enebo> cremes: O_o epic
yfeldblum has quit [Ping timeout: 240 seconds]
<headius> enebo: hey, I finally got approval for Oliver to be out of school
<headius> where are you planning to stay in Tokyo?
<headius> I was thinking that little place in Akihabara wouldn't be bad...it was reasonably priced
<enebo> headius: we have not figured anything out yet
<cremes> shoot, my attempts at reproducing this are failing. I’m getting between 4k-12k inserts/sec.
<enebo> cremes: start hacking partfs of import in sequel to time methods with the full script
<headius> cremes: huzzah! ship it!
<headius> maybe it's not sequel then
<enebo> cremes: only run your script with sample data seems to be one answer I am hearing
<enebo> maybe dirty data raising
<cremes> argh, very frustrated
* enebo cannot leave the exception line of thought
<headius> enebo: how long are you planning to go?
<headius> it looks like O and I will be in town for about a week after Taipei
kith_ is now known as kith
<GitHub76> [jruby] nirvdrum pushed 2 new commits to master: http://git.io/vCMhO
<GitHub76> jruby/master 26fb9e4 Kevin Menard: [Truffle] Replaced some profiles in the `string_copy_from` primitive with guards.
<GitHub76> jruby/master 87d73d3 Kevin Menard: [Truffle] Added profiles around branches in the `string_copy_from` primitive.
<headius> enebo: re IntHashMap
<headius> there's no reason this new lock could deadlock
<headius> I think there's a bug in IntHashMap
<enebo> oh
<headius> it is being hit hard for the first time now that kares used it for JI
<headius> I'm going to pull in Cliff Click's code and see how it looks
<headius> it's public domain
<enebo> sure that sounds good
<enebo> If we see someone using 9 in prod deadlocking it feels like a blocking problem
<headius> I think one thread has the lock and is stuck like in the original report, and now a second one is stuck witing for the lock
<headius> enebo: fwiw this is priority over __FILE__ right now
<enebo> headius: I think they are both blockers
<headius> yeah
<headius> I suppose so
<headius> damn AOT
bb010g has quit [Quit: Connection closed for inactivity]
<headius> enebo: check this out: https://github.com/boundary/high-scale-lib
<headius> that's the lib that has cliff's stuff in it, and it's only a 95k jar in maven
<headius> and they claim they're maintaining it...I'm just going to use it
<enebo> headius: ok
<headius> rather than hack a copy into our codebase
<enebo> I guess MIT
<headius> in cliff's code it has a public domain header
brauliobo has joined #jruby
<enebo> headius: pom says MIT
<headius> they probably relicensed as MIT
<headius> either way it's permissive and fine for us
<cremes> enebo, headius: is there some resource limitation or bottleneck in jruby when there are a few dozen threads and some Queues in use?
<headius> cremes: not that I know of
<cremes> ok
<headius> we have people with dozens of threads and queues in play
<cremes> here’s what’s up
<cremes> I can’t seem to replicate this problem with a single thread
<cremes> I also can’t replicate it with a small dataset. I need a larger dataset so that more threads are created.
<headius> are you bumping heap size up enough?
<cremes> I’m producing some graph profiler output now that mgith shed some light. we’ll see.
tcrawley-away is now known as tcrawley
<cremes> the heap is set for 32GB :)
<headius> that should do it :-)
<cremes> and for this test only uses about 2GB of it (though the prod run uses about 18GB)
<headius> -J-XX:+PrintGCDetails would show us if GC is choking
<cremes> let me try that first. I screwed up the profiler output and lost it.
<lopex> lots of unsafe in that map
<headius> lopex: good old Cliff
<headius> now that we have official word that Oracle's going to keep Unsafe around for a while I'm less concerned
<lopex> headius: one should grep for Cliff in the sources and import with eyes closed
<lopex> perf guaranteed
<headius> indeed
<lopex> doesnt have to be used even
<headius> hahah
<headius> yeah, just include it in your project for SPEED
<lopex> headius: that required bootclasspath
<lopex> the lib
<lopex> *requires
<headius> I think we ought to include that in our repo
<headius> since we've had issues
<headius> lopex: only to replace Hashtable
<lopex> ah
<lopex> right
<headius> you can drop in Cliff's nonblocking map as Hashtable then
<lopex> too fast
<headius> heheh
<headius> I wonder how much impact that would have on a large app
<cremes> here’s some graph profiler output
<headius> lots of code out there using Hashtable
<cremes> maybe that will shed some light
<enebo> headius: interesting
<headius> I always have a heck of a time reading the graph profile
<cremes> search for “call name” with two spaces in between. I think you want the threads where the Total Time: is over 100secs
mkristian has joined #jruby
<headius> this isn't telling me much
<headius> Array#each, Proc#call
<cremes> heh, you really don’t know how to read it :)
<headius> yup
<headius> I don't...contrib copied this format from rbx
<cremes> this might be slow: Java::OrgSqliteJdbc4::JDBC4Statement#executeUpdate
<headius> well, that could just be slow because it's hitting DB
<headius> no?
<headius> could it be throwing too many threads at the sqlite driver that's a problem?
<headius> it's not exactly a high-scale DB
<cremes> sure, but why slow in a multi-threaded app but super fast with a single thread?
<enebo> contention
<headius> contention for some lock in the driver
<cremes> the writes are to separate DBs, so no contention for the DB itself
<headius> hmmm
<headius> ok
<enebo> cremes: but you said you were getting 9k/s for some data
<cremes> sure, in a single-threaded environment
<cremes> I can dump this whole script plus some sample data on you if you like. nothing proprietary here.
<cremes> I’m just stumped
<enebo> cremes: have you tried just running with 2 then 4 then 8 and seeing if you can see threads falling over
<cremes> enebo: going to try that next. good idea.
<enebo> cremes: but if it is contention you would think it would be simple to see with a java heap dump (although god that is probably big :) )
<headius> cremes: repro for us would be great of course
<cremes> i’m trying, i’m trying....
<headius> I'd look at GC and --sample output first
<headius> if it's not maxing CPU then the problem is memory pipeline or contention most likely
<enebo> am I reading this write…log_yield is pretty epensive?
<enebo> I never quite grok this format of profiling
<cremes> if you all want a different format, tell me which one to produce. happy to oblige.
<enebo> heh whoops I get this
<enebo> the log_yield wraps the action
<cremes> btw, with a single thread handling all DB writes, I am getting about 1500/s. With 4 threads, about 250/sec.
<cremes> guessing there is some locking contention in the JDBC driver.
<enebo> 77% of this thread is in execute and executeUpdate within a log_yield bloc
<enebo> cremes: hmmm yeah either the driver or how we our PPC weird-ass sqlite impl
bbrowning is now known as bbrowning_away
<headius> MIPS
<enebo> but with that said I don’t think sqlite3 can even do concurrent writes
<headius> :-D
<enebo> HAHA yeah I will say PPC for the rest of my life I think
<headius> probably
<headius> if it's actually using the MIPS emulator it could be *way* faster
<cremes> enebo: it can’t to the same file, but I am opening different files/DBs depending on what data I need to write. I keep the file open so I’m not paying the open/close IO price every time.
<cremes> and only one thread is ever trying to write to a specific file, ever.
<cremes> other threads might be writing to other databases/files.
djbkd has quit [Remote host closed the connection]
<cremes> anyway, I have an idea on how to improve my repro.
<headius> it looks like the driver only uses native sqlite on windows
tcrawley is now known as tcrawley-away
<headius> cremes: windows or linux, I forget what you said if you said
<cremes> OSX this time
<headius> ah
<enebo> with a 32G heap?
djbkd has joined #jruby
<headius> nice apple box you got there
<cremes> 64GB for the win :)
<headius> yeah, pretty sure that's using the JVM MIPS emulator
<headius> boo
<enebo> I sure hope these nothing dumb about that driver like using a static field
<headius> so even your best sqlite3 perf on JRuby might be 4-8x slower than it could be
mkristian has quit [Quit: This computer has gone to sleep]
<headius> enebo: it certainly could be
<enebo> headius: because we do better than MRI on one thread
<headius> yup
<headius> it could have a single machine emulator that everything's bottlenecking on
<headius> on Windows the driver includes a native DLL with sqlite3 built in
<enebo> headius: if adding threads hurt but threads are not contending for the same DB since cremes is opening multiple DBs?
<enebo> headius: but if he opens 4 sqlite3 dbs it would br running 4 machines
yfeldblum has joined #jruby
<headius> maybe, maybe not
<enebo> headius: makes me think something is sharing something not helpful
<headius> it may not run them in separate machines and lock around calls to the one
<headius> i'm looking into the code
<headius> he does have makefiles for the jni on other platforms
<enebo> which is the jdbc4 driver?
<headius> I don't think there is a jdbc4
<headius> 2/3
<enebo> ava::OrgSqliteJdbc4::JDBC4Statement#execute
<cremes> Ah! I think I have a reasonably small repro.
<headius> awesome
<headius> enebo: oh, page out of date?
<cremes> Now I just need it to exit cleanly… f’ing threads.
<enebo> what is the 4 for that?
<headius> hmmm maybe I'm looking at the wrong thing?
<enebo> ironically version 3.8.2
<enebo> but bitbukcket seems somewhat fucked on this project
<enebo> I see it in grepcode though
<headius> I got bitbucket to come up for this one: https://bitbucket.org/almworks/sqlite4java
<headius> so what the heck, which one is in the jdbc-sqlite gem
<enebo> yeah but the one I have matches the package name I think
<headius> this one has binaries for all interesting platforms
<headius> that one says it has moved to https://github.com/xerial/sqlite-jdbc
<headius> ok yeah
<headius> this is the MIPSy one
<headius> sqlite4java must be a pure native one
<headius> we haven't looked around for sqlite3 options in a while
<headius> probably a good thing to do
<enebo> sqlite3 has no wire protocol
<enebo> right?
<cremes> wow, I’ve never even heard of sqlite4 until now. Just googled it.
<enebo> cremes: but I think it is jdbc4 adapter for sqlite3
<cremes> oh
<cremes> who names these things? sheesh...
<enebo> haha yeah
<headius> 2012 December 15th: sqlite-jdbc-3.7.15-SNAPSHOT
<headius> Removed pure-java.
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<headius> so this may not use mips anymore
djbkd has quit [Remote host closed the connection]
<cremes> Ok, about to open an issue for you guys. I feel kind of bad about it because it now looks like a library problem. Not really JRuby’s fault...
<enebo> headius: Maybe it uses PPC now
<headius> cremes: that's ok...better that we find it and fix it than leave it out there
<headius> we are fine fixing libraries too
<headius> enebo: HAH
<enebo> cremes: if it leads to sqlite not being insanely slow with threads it will be a net win for us
<enebo> cremes: after all sqlite3 is the fucking Ruby way
<cremes> :)
<headius> ok awesome, I do see native binaries for OS X in the released jar for sqlite-java
<enebo> cremes: but everyone uses it as a default and it appears we are slow so that is no good
<headius> so forget everything you ever knew about MIPS
<enebo> or PPC
<headius> gem is a little behind but only a couple minor releases
<enebo> oh shit
<enebo> headius: NativeDB.c via JNI
<enebo> not sure why I put you on that line
<headius> yup
<headius> there's dlls in the jar
<enebo> but perhaps this is not reentrant in some way so it is all syncd
<headius> oh you had a line to show me?
<enebo> no I just meant putting headius: on the front of that line
<headius> ok
djbkd has joined #jruby
<enebo> but if that was a limitation of sqlite3 then we would see same problem in MRI cext or rbx
<headius> public final synchronized void exec
<headius> but it's per-instance
<enebo> perhaps with some multipler since we all call out with different overhead
djbkd has quit [Remote host closed the connection]
<enebo> NativeDB is all static
<enebo> so opening n files will probably all be going through a single locked access to the JNI magic
<headius> maybe
<headius> I don't see any locking
<headius> each connection gets its own DB instance
<enebo> I guess it can only load the C once
djbkd has joined #jruby
<GitHub99> [jruby] chuckremes opened issue #3398: Performance bug with JDBC/sqlite driver under multi-threaded conditions http://git.io/vCDcD
<GitHub137> [jruby] nirvdrum pushed 2 new commits to master: http://git.io/vCDcj
<GitHub137> jruby/master 3a827ac Kevin Menard: [Truffle] Replaced a condition profile with a guard in the `string_substring` primitive.
<GitHub137> jruby/master 4029e68 Kevin Menard: [Truffle] Cached common Encoding.compatible? path.
<enebo> hmmm JNI has paged out of my mind a bit
<enebo> (*udf->vm)->AttachCurrentThread(udf->vm, (void **)&env, 0);
<cremes> gotta go walk the dogs. If you have any questions on the repro, leave ‘em here and I’ll be back shortly.
samphippen has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<headius> enebo: JNI doesn't have any inherent locking
<enebo> I know that
<enebo> it depends on how they manage contexts to the db(s)
<enebo> and whether the C allows that
<headius> cremes: only took 7s for warmup for me
<headius> enebo: indeed
<enebo> why couldn’t have oracle preserved the openjdk.java.net urls for posterity
Aethenelle has quit [Quit: Aethenelle]
djbkd has quit [Remote host closed the connection]
<headius> they didn't?
jensnockert has quit [Remote host closed the connection]
<enebo> a whole slew of posts are 404s now
<headius> lame
<headius> 46.6% 0 + 297 org.sqlite.core.NativeDB._exec
<headius> 90.3% 0 + 614 org.sqlite.core.NativeDB._exec
<headius> earlier one was before all jit had happened in JVM
<headius> it's all in the native _exec downcall
mdedetrich has joined #jruby
djbkd has joined #jruby
samphippen has joined #jruby
<headius> it appears to upcall every time to get the DB handle again
<headius> dunno why they aren't just passing that as a param
<headius> 90.3% 0 + 614 org.sqlite.core.NativeDB._exec
<headius> ugh
jensnock_ has joined #jruby
<headius> that's poor form but I wouldn't expect it to be this big a bottleneck
<enebo> WOW
<enebo> oh wait only saving the pointer field
samphippen has quit [Client Quit]
<headius> yeah
<headius> they should just pass it as a param
<headius> silly
<enebo> well yeah arguably wasteful to retrieve the field value but not the big cost unless it has a global lock on java side
<enebo> we are getting a handle to retrieve db data :)
klemanski has quit [Quit: Leaving]
<enebo> we could make a ruby byte-based one and kill off the transcoding
<headius> the lookup of the field could be a hit
<headius> yeah I know
<enebo> headius: but the hit is not thread contending
<headius> doesn't seem to be
<headius> very little GC happening too
<headius> two young GC during the main part of bench, that's it
jensnock_ has quit [Ping timeout: 250 seconds]
<headius> like 0.012s
djbkd has quit [Remote host closed the connection]
<enebo> they could haveeasily make 2 java methods first being the one the call in NativeDB and second passing the pointer/handle
<enebo> maybe they did not see a lot of benefit
<headius> I'm trussing it to see if anything stands out
<headius> heh
<headius> well this doesn't look good
<headius> psynch_mutexdrop 19441
<headius> psynch_mutexwait 20101
<headius> highest syscall counds according to dtruss
djbkd has joined #jruby
<headius> followed closely by
<headius> psynch_cvsignal 6317
<headius> psynch_cvwait 6487
<headius> there's a mutex in here I'm not seeing
<headius> could be in sqlite3 itself, unsure
<headius> or JVM
<enebo> DB is synchronized for all methods
<enebo> for is re-opening new dbs use same instance it would sync all access
<headius> yeah unclear if it reuses same instance
<enebo> headius: going to dinner but check to see ifthere is 1 or n DB instances in a heap dump running that
<headius> sure
<headius> I see flags about mutexing in the sqlite parts too
<headius> like NOMUTEX versus FULLMUTEX
Aethenelle has joined #jruby
<headius> NOMUTEX would be appropriate for 1:1 thread:connection
<cremes> headius: if you want it to run longer than 7s in the bench, just duplicate the slow.csv data 2-5x.
<headius> no problem
<headius> definitely not looking like a JRuby issue but we'll see what we can do
mdedetrich has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<headius> my current theory is that the DB sets up sqlite to fully mutex all operations, and it's mutexing against something global
<headius> I mean the JDBC sets up...
gregoriokusowski has joined #jruby
<xardion> yeah, this has to be something driver specific. I use multiple threads with the vertica jdbc driver and jruby and have no issues.
<headius> I wouldn't be surprised if they mutexed this to death to be sure JDBC concurrency was safe
<xardion> To be fair, I'm not writing that much data, mostly reading.
<headius> and in this case it's not needed
<xardion> That said, I'm about to test moving a process that currently uses multiple workers to write into that same db to use multiple threads instead. Then we'll see
<xardion> it's extremely high volume too
colinsurprenant has quit [Quit: colinsurprenant]
<enebo> headius: did you try to see how many DB exist?
<headius> not yet, poking around the code
<enebo> headius: if only 1 then it is there
<headius> will do
<xardion> currently we push about 7k rows/sec
<xardion> we'll see if it has any effect when I do 4 threads instead of 4 processes
<xardion> That'll be tomorrow though most likely
<headius> xardion: what DB?
<xardion> vertica
<headius> new to me
<xardion> It's an HP product.
<headius> ahh
<xardion> column-oriented db with a SQL layer on top of it
<xardion> it's great for doing selects on large datasets, and inserts as well, updates are god-awful slow.
<xardion> so... you don't do them.
<headius> heheh
<headius> makes sense
<headius> enebo: 737: 4 224 org.sqlite.core.NativeDB
<headius> jmap histogram
<headius> 4 instances
<enebo> DB
<headius> DB is abstract
<enebo> this is for the jdbc drive of it
<enebo> oh ok
<headius> only child is NativeDB
<enebo> ok so that is good
<headius> the synchronization is still overhead but not contention
<headius> it may not show up
<headius> I think this may be a sqlite config problem
<enebo> BUILD IT
<enebo> ok I am really leaving for dinner now
mkristian has joined #jruby
<enebo> :)
enebo has quit [Quit: enebo]
cristianrasch has quit [Ping timeout: 272 seconds]
cristianrasch has joined #jruby
skade has quit [Quit: Computer has gone to sleep.]
cristianrasch has quit [Ping timeout: 240 seconds]
cristianrasch has joined #jruby
Aethenelle has quit [Quit: Aethenelle]
yfeldblum has quit [Ping timeout: 240 seconds]
yfeldblum has joined #jruby
cristianrasch has quit [Quit: Leaving]
rcvalle has quit [Quit: rcvalle]
wasnotrice_ has joined #jruby
yipdw_ has joined #jruby
lumeet_ has joined #jruby
bnagy_ has joined #jruby
eam_ has joined #jruby
lumeet has quit [Read error: Connection reset by peer]
wasnotrice has quit [Write error: Connection reset by peer]
yipdw has quit [Quit: No Ping reply in 180 seconds.]
bnagy has quit [Remote host closed the connection]
wasnotrice_ is now known as wasnotrice
eam has quit [Read error: Connection reset by peer]
kwando has joined #jruby
jeremyevans has quit [Ping timeout: 265 seconds]
jeremyevans has joined #jruby
kwando_ has quit [Ping timeout: 265 seconds]
havenwood has quit [Ping timeout: 265 seconds]
eam_ has quit [Ping timeout: 265 seconds]
joast has quit [Ping timeout: 265 seconds]
Liothen has quit [Ping timeout: 265 seconds]
havenwood has joined #jruby
eam has joined #jruby
Liothen has joined #jruby
Liothen has joined #jruby
mkristian has quit [Quit: This computer has gone to sleep]
Puffball has quit [*.net *.split]
vifino has quit [*.net *.split]
rsim has quit [*.net *.split]
kwando has quit [*.net *.split]
gregoriokusowski has quit [*.net *.split]
mpapis has quit [*.net *.split]
digitalextremist has quit [*.net *.split]
kares has quit [*.net *.split]
jeregrine has quit [*.net *.split]
Guest85414______ has quit [*.net *.split]
zph has quit [*.net *.split]
AlHafoudh has quit [*.net *.split]
eam has quit [*.net *.split]
jimbaker has quit [*.net *.split]
brixen has quit [*.net *.split]
dmilith has quit [*.net *.split]
Freaky has quit [*.net *.split]
rtyler has quit [*.net *.split]
sluukkonen has quit [*.net *.split]
damnski has quit [*.net *.split]
tarcieri has quit [*.net *.split]
jamo_ has quit [*.net *.split]
emakris_ has quit [*.net *.split]
yopp has quit [*.net *.split]
yfeldblum has quit [*.net *.split]
Antiarc has quit [*.net *.split]
e_dub has quit [*.net *.split]
awx has quit [*.net *.split]
xardion has quit [*.net *.split]
Liothen has quit [*.net *.split]
jeremyevans has quit [*.net *.split]
yipdw_ has quit [*.net *.split]
devn has quit [*.net *.split]
camlow325 has quit [*.net *.split]
pitr-ch has quit [*.net *.split]
n1ftyn8_ has quit [*.net *.split]
bruceadams has quit [*.net *.split]
Scorchin has quit [*.net *.split]
dcolebatch has quit [*.net *.split]
pipework has quit [*.net *.split]
mccraig has quit [*.net *.split]
cschneid has quit [*.net *.split]
bf4 has quit [*.net *.split]
eregon has quit [*.net *.split]
lumeet_ has quit [*.net *.split]
brauliobo has quit [*.net *.split]
knowtheory has quit [*.net *.split]
subbu has quit [*.net *.split]
asarih has quit [*.net *.split]
m4rCsi has quit [*.net *.split]
amdprophet has quit [*.net *.split]
fidothe has quit [*.net *.split]
andrewvc has quit [*.net *.split]
bga57 has quit [*.net *.split]
CustosLim3n has quit [*.net *.split]
cpuguy83 has quit [*.net *.split]
blinsay has quit [*.net *.split]
Tristitia has quit [*.net *.split]
balo has quit [*.net *.split]
halorgium has quit [*.net *.split]
havenwood has quit [*.net *.split]
DomKM has quit [*.net *.split]
tcrawley-away has quit [*.net *.split]
Osho has quit [*.net *.split]
flavorjones has quit [*.net *.split]
aemadrid has quit [*.net *.split]
talevy has quit [*.net *.split]
lopex has quit [*.net *.split]
jamo__ has quit [*.net *.split]
het_ has quit [*.net *.split]
wasnotrice has quit [*.net *.split]
nirvdrum has quit [*.net *.split]
temporalfox has quit [*.net *.split]
hoodow has quit [*.net *.split]
SynrGyy has quit [*.net *.split]
knu has quit [*.net *.split]
ivan\ has quit [*.net *.split]
codefinger has quit [*.net *.split]
thedarkone2 has quit [*.net *.split]
donValentin has quit [*.net *.split]
kith has quit [*.net *.split]
Scient has quit [*.net *.split]
lanceball has quit [*.net *.split]
atambo has quit [*.net *.split]
quadz has quit [*.net *.split]
olleolleolle has quit [*.net *.split]
guilleiguaran__ has quit [*.net *.split]
mjc_ has quit [*.net *.split]
haze has quit [*.net *.split]
djbkd has quit [*.net *.split]
bbrowning_away has quit [*.net *.split]
qmx has quit [*.net *.split]
cprice has quit [*.net *.split]
clayton has quit [*.net *.split]
joevandyk has quit [*.net *.split]
slash_nick has quit [*.net *.split]
bnagy_ has quit [*.net *.split]
nateberkopec has quit [*.net *.split]
cremes has quit [*.net *.split]
headius has quit [*.net *.split]
tenderlove has quit [*.net *.split]
justinmcp has quit [*.net *.split]
samuelkadolph has quit [*.net *.split]
projectodd-ci has quit [*.net *.split]
emakris has quit [*.net *.split]
kylo has quit [*.net *.split]
yosafbridge has quit [*.net *.split]
snim2 has quit [*.net *.split]