drbobbeaty has quit [Ping timeout: 240 seconds]
sidx64 has joined #jruby
sidx64_ has joined #jruby
sidx64 has quit [Ping timeout: 255 seconds]
sidx64 has joined #jruby
sidx64_ has quit [Ping timeout: 256 seconds]
claudiuinberlin has joined #jruby
olle has joined #jruby
<GitHub131> [jruby-openssl] kares pushed 4 new commits to master: https://git.io/vpbME
<GitHub131> jruby-openssl/master 8376aaa kares: fix java.version detection (hopefully for good) -> tuning old way...
<GitHub131> jruby-openssl/master 21eb5e3 kares: [support] a flag for running SSL support with BC's JSSE provider
<GitHub131> jruby-openssl/master aea89c5 kares: [refactor] cleanup some dynamic calls in Java to not do lookup
claudiuinberlin has quit [Ping timeout: 260 seconds]
olle has quit [Quit: olle]
ASC has joined #jruby
<ASC> hi evrbd, is it possible to annotate method-parameters with jruby ? I've seen how to use java-annotations for the method via 'java_annotation'.
ASC has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
ASC has joined #jruby
ASC has quit [Client Quit]
ASC has joined #jruby
ASC has quit [Client Quit]
ASC has joined #jruby
ASC has quit [Client Quit]
ASC has joined #jruby
ASC has quit [Client Quit]
ASC has joined #jruby
ASC has quit [Client Quit]
ASC has joined #jruby
ASC has quit [Client Quit]
sidx64 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
sidx64 has joined #jruby
<GitHub191> [jruby] kares created test-jossl-0.10.0 (+1 new commit): https://git.io/vpbpz
<GitHub191> jruby/test-jossl-0.10.0 e33780a kares: update to jruby-openssl 0.10.0 (staging) - for Java 9 compatibility
drbobbeaty has joined #jruby
<GitHub9> [jruby-openssl] kares pushed 3 new commits to master: https://git.io/vpbjK
<GitHub9> jruby-openssl/master 388fd2f kares: prepare going for **0.10.0** :sparkles:
<GitHub9> jruby-openssl/master 3cbc0b0 kares: allow to set SSL provider name -> just in case user has it installed
<GitHub9> jruby-openssl/master 480832b kares: drop support for BC 1.54 to, finally, get rid off ugly hack...
<travis-ci> jruby/jruby (master:be4a079 by Charles Oliver Nutter): The build passed. (https://travis-ci.org/jruby/jruby/builds/378381429)
<travis-ci> jruby/jruby (master:a10ae0a by Thomas E. Enebo): The build passed. (https://travis-ci.org/jruby/jruby/builds/376911390)
<travis-ci> jruby/jruby (master:30e9fa4 by Charles Oliver Nutter): The build was fixed. (https://travis-ci.org/jruby/jruby/builds/378359671)
<travis-ci> jruby/jruby-openssl (master:388fd2f by kares): The build was broken. (https://travis-ci.org/jruby/jruby-openssl/builds/380118864)
guyboertje has joined #jruby
rdubya has joined #jruby
<guyboertje> Guy from the Logstash team saying hello
<guyboertje> Our file input plugin is being used to read file on an NFS mount. Does anybody have experience with jnr to read with O_DIRECT?
<GitHub82> [jruby] kares pushed 1 new commit to test-jossl-0.10.0: https://git.io/vpNIh
<GitHub82> jruby/test-jossl-0.10.0 6a22347 kares: use the (freshly backed) released jruby-openssl version 0.10.0
<GitHub161> [jruby-openssl] kares pushed 1 new commit to master: https://git.io/vpNLY
<GitHub161> jruby-openssl/master e65b319 kares: update to next dev SNAPSHOT
<GitHub137> [jruby-openssl] kares tagged v0.10.0 at 388fd2f: https://git.io/vpNLO
<GitHub181> [jruby] kares opened pull request #5176: upgrade jruby-openssl to 0.10.0 (master...test-jossl-0.10.0) https://git.io/vpNLz
<GitHub148> [jruby] kares pushed 1 new commit to test-jossl-0.10.0: https://git.io/vpNLS
<GitHub148> jruby/test-jossl-0.10.0 760f7e3 Karol Bucek: Merge branch 'master' into test-jossl-0.10.0
<travis-ci> jruby/jruby-openssl (master:e65b319 by kares): The build was broken. (https://travis-ci.org/jruby/jruby-openssl/builds/380141932)
<travis-ci> jruby/jruby-openssl (v0.10.0:388fd2f by kares): The build passed. (https://travis-ci.org/jruby/jruby-openssl/builds/380141960)
<GitHub24> [jruby-openssl] kares closed issue #158: This gem still seems to be blocking using JRuby with Java > 8 https://git.io/vpsIB
sidx64 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
sidx64 has joined #jruby
Thijsc has joined #jruby
<kares> another release day - jossl 0.10 is out ... soon to land on jruby master
<GitHub125> [jruby] kares closed pull request #5176: upgrade jruby-openssl to 0.10.0 (master...test-jossl-0.10.0) https://git.io/vpNLz
<GitHub181> jruby/master ad34e84 Karol Bucek: upgrade jruby-openssl to 0.10.0 (#5176)...
<GitHub181> [jruby] kares pushed 1 new commit to master: https://git.io/vpN8j
<GitHub169> [jruby] kares deleted test-jossl-0.10.0 at 760f7e3: https://git.io/vpN4e
drbobbeaty has quit [Ping timeout: 240 seconds]
rdubya has quit [Ping timeout: 255 seconds]
xardion has quit [Ping timeout: 264 seconds]
xardion has joined #jruby
sidx64 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
sidx64 has joined #jruby
sidx64 has quit [Client Quit]
sidx64 has joined #jruby
sidx64 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Thijsc has quit [Quit: Textual IRC Client: www.textualapp.com]
rdubya has joined #jruby
xardion has quit [Remote host closed the connection]
xardion has joined #jruby
<nirvdrum> lopex: I'm looking at the caseMap functionality in jcodings right now. Is it possible that changing the case of a character produces a new one with a different byte length?
sidx64 has joined #jruby
<lopex> nirvdrum: yeah
<lopex> nirvdrum: here case mapping explained https://www.sw.it.aoyama.ac.jp/2016/pub/IUC40-Ruby2.4/
<nirvdrum> Thanks!
<nirvdrum> Oh, wow. You don't even necessarily get back a single codepoint.
<headius> howdy howdy
<headius> Guest35487: that's a new one to me
<nirvdrum> How are you supposed to establish an upper-bound on the output byte array then?
<lopex> nirvdrum: the specials are most offfensive here
<headius> kares: jossl ready to go eh?
<headius> kares: awesome
<nirvdrum> I thought I could just do 4 x str.size to get a large enough output buffer. But if the character count can change, that won't work either.
<headius> enebo ran into some module/prepend/super stack overflow in rails 5.2 we'll have to address
<headius> I'm going to look at that this afternoon
<headius> I think he's probably off work for birthday today
sidx64_ has joined #jruby
sidx64 has quit [Ping timeout: 240 seconds]
<lopex> nirvdrum: yeah, that's why mri came up with that linked buffer lists
<headius> hmm
<lopex> nirvdrum: though it seems they have been bitten by bugs https://github.com/ruby/ruby/blob/trunk/test/ruby/enc/test_case_mapping.rb#L190
<nirvdrum> I didn't realize downcase could take an argument, too.
<lopex> all of them
<nirvdrum> Right.
<lopex> but they all delegate to caseMap with a flag set
<nirvdrum> Cool. It's just some argument handling I'll need to do.
<lopex> nirvdrum: look at jruby's String methods
<headius> nirvdrum: workingon 2.4 support?
<nirvdrum> Unfortunately, I can't. Not your problem, of course.
<headius> you're not allowed to look at JRuby anymore?
<nirvdrum> I'm actually not sure. I haven't really sought clarification. But the JRuby license changed.
<headius> it went from EPL to EPL 2
<nirvdrum> So I'm just playing it safe at the moment.
<headius> it's a really minor change and doesn't even require asking contribs
<nirvdrum> Right. It's likely fine.
<headius> AVERT YOUR EYES
<nirvdrum> Heh.
<nirvdrum> I wasn't trying to make a thing of this :-P
<lopex> nirvdrum: that's that linked buffer list
<lopex> nirvdrum: you might actually keep those as ropes but it would have pathological cases
<nirvdrum> On these calls, I flatten all ropes and just work with byte buffers anyway.
<lopex> but generally it's just to amortize allocations
<nirvdrum> I think I'm okay with being slow but functional for now.
<nirvdrum> I'm just trying to wrap my head around the API. Having to allocate the output buffer without having an idea how large the output could be is tricky.
<GitHub65> [jruby] headius pushed 1 new commit to master: https://git.io/vpAJP
<GitHub65> jruby/master 8033aef Charles Oliver Nutter: Fix hardcoded rake test launcher path and missing jruby home....
<lopex> nirvdrum: in https://www.sw.it.aoyama.ac.jp/2016/pub/IUC40-Ruby2.4/ there's String Expansion section
<GitHub170> [jruby] headius pushed 1 new commit to master: https://git.io/vpAJS
<GitHub170> jruby/master 967d75e Charles Oliver Nutter: Merge branch 'new_reify_classes'
<GitHub69> [jruby] headius closed pull request #4648: New reify classes (master...new_reify_classes) https://git.io/vHojL
sidx64_ has quit [Read error: Connection reset by peer]
<lopex> nirvdrum: actually there's everythnig you need
<lopex> option handling etc
<headius> w00t, new class reification is in for 9.2
<headius> specialize all the shapes!
<lopex> cool
<headius> after 9.2 I'll be making array specialization generator plus long and double support
<lopex> headius: so every new ivar switches as in hidden classes ?
<headius> should be good with graal PEA
<nirvdrum> lopex: Cool. But that 20 byte extra is just arbitrarily chosen, isn't it?
<lopex> nirvdrum: yes, looks like it
<headius> lopex: right now it's a static inspection of methods in the class for ivars
<headius> in the future it can be per-object by moving the variable shaper thingy down into each object
<nirvdrum> lopex: I'm debating whether taking an educated guess and handling the ArrayIndexOutOfBoundsException on a bad, small guess, might be worth pursuing.
<lopex> nirvdrum: it's to have a additional length for single buffer
<lopex> nirvdrum: ok, I recalled, it's the single max character length increase
<lopex> after that new buffer with (end - left) + CASE_MAPPING_ADDITIONAL_LENGTH is created
<guyboertje> More people talking now. I asked earlier, asking again. What is the JRuby state of play regarding O_DIRECT support? Does jnr have support? For Logstash, I'm looking to read from an NFS mount directly.
<headius> guyboertje: still new to me!
<headius> :-D
<guyboertje> hehe
<headius> so "support" really is just whether you have the constant value somewhere, like in jnr-constants
<headius> if it's not there then you can help us add it, but it's just a numeric flag you can pass to open(2)
<headius> I don't know exactly what it does so I can't comment on the change in semantics
<guyboertje> ok
<guyboertje> I believe direct io is in Java 10
<GitHub194> [jruby] headius pushed 1 new commit to master: https://git.io/vpAkU
<GitHub194> jruby/master d1a0bbf Charles Oliver Nutter: Fix class variable name validity check.
<headius> ok, that should be green master
<headius> guyboertje: ahh yes, I see it
<headius> ahh, cache effect thing
<guyboertje> I have other options though, just doing research now - as its Logstash it has to work on every platform (almost) :-)
<headius> if you are on 10 you can just turn a direct file channel into an IO
<headius> ch.to_io
<headius> stream.to_io
<headius> whatever
<headius> otherwise JNR should work if you have the right value for the flag
<headius> jnr-posix to call it, jnr-enxio can wrap it in a channel, which can then be an IO
<headius> or I guess easier would be open it with jnr-posix and then IO.for_fd
<guyboertje> headius: we are bound to the JRuby Java version for 9.1.13.0 or later.
<headius> well, they work great on 8 and should "work" on 9+
<headius> we'll be hitting 9+ compat harder this summer in prep for the 11 LTS release
<guyboertje> headius: I will check out jnr-posix and jnr-enxio, thanks.
<headius> 👍
subbu is now known as subbu|lunch
<headius> kares: don't suppose you've been running any ar-jdbc tests with master + 5.2
<headius> enebo was struggling with a stack overflow yesterday I can't reproduce
<headius> but the tests hang
<headius> I'm on master arjdbc, v5.2.0 of rails, running enebo's command for tests: RAILS=`pwd`/../rails rake rails:test_sqlite3 --trace 2>&1 > aaa
<headius> hmm
<headius> couldn't be diff on macos could it? stack overflow seems like it should happen everywhere
<headius> well I'm going to poke at open issues for a bit then
<enebo> headius: did you exclude test_connection_pool_starts_reaper
<enebo> in reaper_test.rb
<enebo> headius: I sent this as IM too but maybe you did not see it
<headius> oh I did not see that
<headius> ok
<travis-ci> jruby/jruby (master:d1a0bbf by Charles Oliver Nutter): The build was fixed. (https://travis-ci.org/jruby/jruby/builds/380345821)
<headius> enebo: you have window handy to test this? https://github.com/jruby/jruby/issues/4681
<headius> I'm guessing the perf issue is due to crlf crap
<enebo> headius: plumber is here but no...I have issues building on windows I need to fix my env again
<headius> ah ok
<headius> I think I have a VM here somewhere
<headius> I'll do that later though and try the arjdbc thing again
subbu|lunch is now known as subbu
<headius> down to 43 open for 9.2
<headius> enebo: oh right this is the one you were going to exclude because it looks racy
<headius> this seems way slower than I remember
<headius> bbiab
<nirvdrum> It just caught me off-guard. I had allocated a buffer smaller than this slack value, so the new toEnd went negative and the loop never executed.
<lopex> nirvdrum: according to mri it's /* length in bytes for three characters in UTF-32; e.g. needed for ffi (U+FB03) */
<lopex> nirvdrum: actually that buffer lists should be moved all to jcodings
<nirvdrum> It just seems odd that it would override what I'm specifying as the end point of my destination buffer.
<lopex> nirvdrum: in mri they always add that additional length to each buffer allocation
<nirvdrum> I don't know how anyone is supposed to know to make that buffer larger than some non-exposed constant.
<lopex> and each all to caseMap is on a newly allocated buffer
<nirvdrum> But that CASE_MAPPING_SLACK constant is local to UnicodeEncoding, isn't it?
<lopex> yes
<nirvdrum> So how should a caller ensure whatever they supply is larger than that value?
<lopex> nirvdrum: I'd have to dig through mri commits
<nirvdrum> No worries.
<lopex> but yeah, it was weird for me too
<nirvdrum> I just didn't know if there were another jcodings constant available that I should be using.
<nirvdrum> For now, I've just arbitrarily made my value 100.
<lopex> nirvdrum: only that additional length what I recall
<lopex> nirvdrum: all other variable length encodings do just ascii case mapping
<lopex> and skip non ascii chars
<lopex> nirvdrum: this is what they do to allocate each chunk https://github.com/ruby/ruby/blob/trunk/string.c#L6465
<nirvdrum> I'm probably going about this strangely, but I'm going to attempt translating one character at a time.
<lopex> it will have much more overhead that way
<nirvdrum> I'm not convinced of that at the moment.
<nirvdrum> I suspect the vast majority of case change operations will take up the same number of bytes and can thus be written back to the original buffer.
guyboertje has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
<lopex> yeah, for 7 bit you can ASCIIEncoding.INSTANCE.caseMap using the same buffer
<lopex> but for general case you dont know
<nirvdrum> Yeah. I may very well be wrong.
<lopex> unless you want to fallback to reallocation on first such char
<nirvdrum> lopex: I just did a quick check. Of ~1,114,112 Unicode characters, only 124 have a different bytesize from their upcased versions. It's approximate because I just skipped if the codepoint was invalid.
<nirvdrum> Of course, you get into character frequency and all that.
<lopex> so fallback to allocation on first such char ?
<lopex> and why mri didnt bother
<nirvdrum> That's the idea.
<nirvdrum> It certainly has demon cases.
<lopex> also most usages are non bang versions
<lopex> although mri doesnt use that
<nirvdrum> I'm a bit worried with this approach. Surely someone else has thought of it.
<lopex> same here
<nirvdrum> But I'm willing to try it and report back results.
<lopex> nirvdrum: the most common might be 'ß'
<nirvdrum> But that's a 2 byte character that's replaced by 2 single-byte characters :-P
<lopex> righto
<lopex> :P
<lopex> not true for iso though
<nirvdrum> I haven't looked at that yet.
<nirvdrum> I only checked UTF-8.
<lopex> it's 0xdf to ss
drbobbeaty has joined #jruby
damnski has quit [Ping timeout: 260 seconds]