<GitHub103>
jruby/master d42f53e Yuichiro Kaneko: Remove not used methods (#4973)
rrutkowski has joined #jruby
rrutkowski has quit [Client Quit]
rrutkowski has joined #jruby
rrutkowski has quit [Quit: rrutkowski]
rrutkowski has joined #jruby
rrutkowski has quit [Client Quit]
rrutkowski has joined #jruby
rrutkowski has quit [Quit: rrutkowski]
rrutkowski has joined #jruby
rrutkowski has quit [Client Quit]
rrutkowski has joined #jruby
rrutkowski has quit [Quit: rrutkowski]
<kares>
enebo: hey! okey thanks for the (AR-JDBC) update - will compare Rails tests once again
<kares>
have not seen any regressions with Rails tests
<kares>
at least no ones that really matter -> as far as I checked (recall checking a few times)
<kares>
wanted to get all green but there are some details that I feel like 'hiding' away with an exclude isn't good
<kares>
maybe I forgot to exclude and 'port-over' the tests that assume changing VM's local time-zone
<kares>
also PostgreSQL is no where as complete as MySQL/SQLite - there's still a issues that haven't been completed. did some work but I rather (ignorantly) will spend time on getting JNDI working
<kares>
haven't decided what to do around the statement pool - whether we shall cache (the JNDI case) in .rb or just behave as before
<kares>
+ for the future we really need a RubyDate JRuby API, which I am trying to prepare for 9.2
claudiuinberlin has joined #jruby
shellac has joined #jruby
shellac has quit [Quit: Computer has gone to sleep.]
shellac has joined #jruby
<GitHub151>
[jruby] badboy opened issue #4976: EADDRINUSE when binding TCP socket with globally disabled IPv6 https://git.io/vNCsZ
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
Knot0nline has quit [Read error: Connection reset by peer]
Knot0nline has joined #jruby
drbobbeaty has joined #jruby
cremes has joined #jruby
<GitHub132>
[jruby] yui-knk opened pull request #4977: Fix a typo (master...typo) https://git.io/vNCgV
<GitHub17>
[jruby] mkristian pushed 2 new commits to master: https://git.io/vNC2I
<GitHub17>
jruby/master a50a13b yui-knk: Fix a typo
<GitHub17>
jruby/master 7bd2b2c Christian Meier: Merge pull request #4977 from yui-knk/typo...
<Chewi>
hello all. I believe I've found a rather scary issue and I'd appreciate if someone could verify that I'm not going insane. it could be a core JRuby bug or JRuby-OpenSSL. two of my colleagues are equally perplexed. https://gist.github.com/chewi/9e18a5f38025eaedb1e4db4ddf161b00
<Chewi>
I have tried 9.1.15.0 and head (as of a few minutes ago)
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<enebo>
Chewi: yeah that looks strange. I would open an issue against jruby/jruby-openssl. Looks like Ruby equality impl is not right.
<Chewi>
enebo: it's not the ==, those Certificate instances shouldn't even get created, an exception should be raised
drbobbeaty has joined #jruby
<enebo>
Chewi: wow so 0..50 is just long enough for it to work? whereas the bottom one isn't?
<enebo>
oh heh
<enebo>
This is probably a broken aref operator
<enebo>
Chewi: this is strange pem[0..2] works but using "--" fails
<Chewi>
I should have commented this better. it works even with 1 char but only if you reference it via the original pem variable. if you create a new variable or put the string literal in then it fails.
<enebo>
Chewi: JRuby and MRI both use Copy On Write semantics so pem[0..2] is likely still backed by the full pem string but it's length is marked as 2
<enebo>
I am betting jruby-openssl or JRuby (although I am having a harder time with that explanation) is still getting access to all the bytes and ignoring the realLength
<enebo>
kares: what do you think?
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<enebo>
Chewi: even a dup will share the same view into the original byte array
<Chewi>
enebo: yep, my colleagues talked about string interning, that seems to be what this is
drbobbeaty has joined #jruby
<Chewi>
but if it was JRuby itself, it surely would have been noticed already
<enebo>
If this is destined to be X509Cert there are some sketchy paths
<enebo>
line 196 of X509Cert.java
<Chewi>
it's not just the length though, it happens even if you change the starting index
<enebo>
yeah but that also could make sense here...if it just passes raw byte[] in but it ignores the begin and realSize of what that byte should represent it will always just be the whole thing
<Chewi>
hmm yeah I did notice that line actually but I'm not very familiar with JRuby, only Java and Ruby separately :)
<enebo>
Chewi: yeah we have had quite a few of these bugs in the past in core because there is no data hiding. ByteList was never really abstracted in a way to make it trivial to use and fast
livcd has joined #jruby
<enebo>
I can say this initialize path which assumes 0 and encoded.length is just asking for long term issues
<livcd>
does anyone rub jruby on solaris/sparc or aix/ppc ? (is that even possible?)
<enebo>
since you have to absolutely know
ebarrett has quit [Ping timeout: 240 seconds]
<enebo>
Chewi: since you know Java you can probably figure out a break point somewhere in javaland where that new executes but after whatever is passing the byte[] in. I think you will see something pass the byte[] with no other info and it will hit a path which uses 0 and byte.length.
<enebo>
Chewi: but having spent a couple of minutes this looks fairly obviously the issue. As I said we used to have bugs like this show up in RubyString itself back in the day.
<enebo>
Chewi: kares has been doing a lionshare of the maintenance of jruby-openssl for a while. He may chime in at some point this morning (tho he lives in EU)
<Chewi>
so do I (for now...)
<enebo>
I am on a mission this morning or I would dig in more :)
<Chewi>
thanks for your help
<enebo>
np
ebarrett has joined #jruby
<Chewi>
enebo: heh dammit, I tested jruby master but not jruby-openssl master. it's already fixed!
<enebo>
Chewi: oh haha ok well that is good to hear
<enebo>
Chewi: in next week or so we will rev 9.1.x