<digitalextremist>
hey enebo! thanks a lot for your email the other day, regarding running multiple applications with one interpreter, I'm working on a reply
<enebo>
digitalextremist: yeah np. Any fresh perspective always helps too
<digitalextremist>
well I definitely plan to hit you back with some thoughts. Do you have couple minutes for a different question?
<enebo>
digitalextremist: sure
<digitalextremist>
enebo, do you have any idea why procs aren't garbage collected properly and they remain referenced until an application quits?
<enebo>
digitalextremist: you mean some procs and not all procs?
<enebo>
digitalextremist: and perhaps this is also a 9k only question?
<digitalextremist>
enebo// this is standard behavior in 1.7.* also, but rbx too -- just not MRI -- I'm trying to bring over the person I'm working on this issue with in Celluloid to describe it further
<digitalextremist>
enebo// yes, "some" seems accurate, but not sure how determine which and why
<digitalextremist>
how *to
drbobbeaty has quit [Read error: Connection reset by peer]
drbobbeaty has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] chrisseaton pushed 1 new commit to master: http://git.io/veByz
<JRubyGithub>
jruby/master 130ec7c Chris Seaton: [Truffle] Failing encoding spec.
JRubyGithub has left #jruby [#jruby]
<enebo>
digitalextremist: I am wondering if we clone something because these are cross thread procs. but I would not think this is really a leak if the proc associated with the future is pinned in that array?
<enebo>
chrisseaton: looks like you are going a different direction with DetailedSourcePosition?
<chrisseaton>
enebo: yeah - thanks for your help, but it was always broken, so not much point trying to get back to that broken state. We'll work with line number sections for now
<enebo>
chrisseaton: yeah sorry I spaced this out before pushing
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] enebo pushed 1 new commit to master: http://git.io/veBSP
<JRubyGithub>
jruby/master e536d8f Thomas E. Enebo: Missing deleted class import removed
JRubyGithub has left #jruby [#jruby]
<enebo>
chrisseaton: I was looking at those tests and I saw comments like we want ‘7’ but 5 is a good start
<chrisseaton>
enebo: what we need in the end is the byte offset and length of every single node in the AST, enclosing all child nodes, and that's really tricky
<enebo>
chrisseaton: fwiw the new lexer has a per-line offset and tokp (for start of tokens). I think it might be a little simpler if you ever want to try and hook up exact positioning
temporalfox has quit [Read error: Connection reset by peer]
<enebo>
chrisseaton: yep
<enebo>
chrisseaton: even in the new lexer lots of syntactical elements are ignored
<enebo>
chrisseaton: from a token perspective anyways
<chrisseaton>
enebo: an example is we'd like to have a node for parens, and a source section for those parents that includes the start and end of them - and the parser is designed to get rid of that info early
<enebo>
chrisseaton: heh yeah this is still not finished in jruby-parser project either
<digitalextremist>
enebo // I will keep looking into that -- one other issue for now: is there any way to identify which threads should not be killed in jruby? When we clean out threads between tests, we tend to kill fibers that seem to be in use by the system, so we're currently not killing *any* threads with -Fiber- in their name
<enebo>
chrisseaton: but it would be desirable for round-trip rewriting which would make IDE refactoring features much much easier
nirvdrum has quit [Remote host closed the connection]
gregorsc5 has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] enebo pushed 2 new commits to master: http://git.io/veRs1
<JRubyGithub>
jruby/master 20b6703 //de: Address no longer works....
<JRubyGithub>
jruby/master 1dc5a7f Thomas E Enebo: Merge pull request #2803 from digitalextremist/patch-1...
JRubyGithub has left #jruby [#jruby]
<digitalextremist>
enebo // yeeehoooo
<enebo>
;)
nirvdrum has joined #jruby
havenwood has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] headius pushed 1 new commit to master: http://git.io/veR8m
<JRubyGithub>
jruby/master c5b3e02 Charles Oliver Nutter: Shared path is gone and site dir is not there by default.
JRubyGithub has left #jruby [#jruby]
kfpratt has joined #jruby
mcclurmc_ has quit [Read error: Connection reset by peer]
mcclurmc has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] nirvdrum pushed 1 new commit to master: http://git.io/veR0N
<JRubyGithub>
jruby/master 2042347 Kevin Menard: Guard against checking if EOF is an invalid character....
JRubyGithub has left #jruby [#jruby]
rcvalle has joined #jruby
<nirvdrum>
enebo: Please review http://git.io/veR0N when you get a chance. I commented on it, but I think you mentioned being backlogged on GitHub notifications.
<enebo>
nirvdrum: did you find a test case which breaks or just notice I missed a case?
<enebo>
return Character.isLetterOrDigit(c) || c == '_' || isMultiByteChar(c);
<nirvdrum>
I can't see how it would pass in non-Truffle, but I guess it wasn't an issue somehow?
<enebo>
so our impl of isIdentChar is wrong
<enebo>
nirvdrum: you got me why it didn’t fail
<nirvdrum>
Okay. I fixed the glitch.
<nirvdrum>
But I suspected the fix was wrong.
<enebo>
yeah it fixes this one site but I think this method is used in more than one place
<enebo>
nirvdrum: I will change it to the method in question
<nirvdrum>
Sounds good.
<enebo>
the check that is
<enebo>
nirvdrum: thanks for finding a bug :)
<nirvdrum>
FWIW, the change restored all previous passing specs for us. So if this method is failing elsewhere, I don't think it's sufficiently stressed.
<enebo>
nirvdrum: did you notice on a spec?
<enebo>
nirvdrum: perhaps 9k/IR is excluding these
<enebo>
nirvdrum: no doubt we are not running these in ci for some reason?
<nirvdrum>
It's part of the "core" specs.
<enebo>
weird…we should have also exploded
<nirvdrum>
But it's possible you have them filtered. I haven't really been able to figure out what runs those specs in non-Truffle. I end up just manually running mspec if I want to run them.
<nirvdrum>
Yeah. I have no idea there. But if you run it from the CLI, you'll see it blow up.
<enebo>
nirvdrum: ok well I will try that
<enebo>
nirvdrum: in the middle of another change atm
<nirvdrum>
No worries.
<nirvdrum>
But if you're somehow skipping over failing specs, that might be something you need to poke at too.
<Antiarc>
known, or should I start digging into it?
<Antiarc>
That's just starting a WEBRick::HTTPServer with an x509 cert and cacert.
gregorsc5 has quit [Quit: Leaving.]
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] enebo pushed 2 new commits to master: http://git.io/veRHh
<JRubyGithub>
jruby/master 84d9a8b Thomas E. Enebo: Test now working from lexer work?
<JRubyGithub>
jruby/master ba3c0f4 Thomas E. Enebo: Add isPotentiallyRefined boolean to all call types so we can define yet-to-be-made refinedCallsite types
JRubyGithub has left #jruby [#jruby]
<enebo>
Antiarc: not known to me. I landed a new lexer this weekend but this looks like it is from something else?
<Antiarc>
Yeah, this is x509 certificate parsing
<Antiarc>
I'll see what I can find then
<Antiarc>
Hopefully can produce a minimum repro case
<enebo>
Antiarc: yeah I hope so. If this just popped up I am midly frightened
<Antiarc>
I hadn't tested manticore on jruby-head before last night
<enebo>
Antiarc: ah. ok well that may be less worrying but it is a good time to figure it out
<enebo>
Antiarc: we want 9kpre2 this week
<Antiarc>
Yup yup. I'll see if I can nail something down then.
<Antiarc>
Hooray for the lexer, too! :D
<enebo>
Yeah that took about 3.5x longer than I thought it would
<enebo>
nirvdrum: jruby -EShift_JIS: -e 1
<enebo>
nirvdrum: Does this run for you?
<nirvdrum>
Pre- or post- my change?
<nirvdrum>
Which rev? :-)
<enebo>
post
<nirvdrum>
I see no error.
<enebo>
I was matching MRI’s logic but eofp perhaps is not set yet
<nirvdrum>
I'm on 20423479f3a789b2d213006584b8d35d14bd88d5
<enebo>
I think this is just simple logic error on my part
<Antiarc>
Just read in any x509 cert and then try #to_text on it, kaboom
<Antiarc>
That's probably a jruby-openssl issue anyhow
<nirvdrum>
Antiarc: What do you have to hide? Just don't use SSL.
<enebo>
Antiarc: yeah I would guess it must be
<Antiarc>
nirvdrum: Psh, *I* don't use it, but I have these annoying users who insist on it. Must be an unpatriotic bunch of turrists.
<Antiarc>
How does jruby-openssl get included into jruby duing build? What's the easiest way to build a bisected version of it into jruby?
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] enebo pushed 1 new commit to master: http://git.io/veRAm
<JRubyGithub>
jruby/master 71d91ca Thomas E. Enebo: Swap out eof check to isIdentifierChar since it is used in several places and this matches MRI's logic
JRubyGithub has left #jruby [#jruby]
<enebo>
nirvdrum: you guys still have one error in default_external?
<nirvdrum>
I think we have one related to coercion that I could probably fix in 15 minutes. I hadn't looked at this in a while.
<nirvdrum>
And some stuff on Windows that may not be valid any longer.
<nirvdrum>
Chris retagged a couple this morning just due to the lexer.
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] headius pushed 1 new commit to jruby-1_7: http://git.io/veRxY
<JRubyGithub>
jruby/jruby-1_7 7774be5 Charles Oliver Nutter: Use target obj as self for instance_eval. Fixes #2301.
JRubyGithub has left #jruby [#jruby]
<nirvdrum>
I'm guessing you can remove the one remaining default_external tag for JRuby.
<enebo>
nirvdrum: ok. I guess I only see 2F in all of core/encoding
<nirvdrum>
I'll pull and see where we're at.
<enebo>
I would think for both of these errors they may be same code for both impls
<enebo>
oh one of these is not valid because we default to UTF-8 already so -U is not doing anything
<enebo>
Hmm I thought mri22 also had default ext of utf-8 now?
<nirvdrum>
The -U spec will read in LC_ALL. I was just looking at this with bjfish2 :-)
<Antiarc>
It doesn't look like 1.7.19 has any mechanism to handle nulls, either, so it must be jruby-openssl not setting the version on the certificate
<Antiarc>
I haven't attached a debugger on 1.7.19 yet
<Antiarc>
(I don't have a setup for that at the moment)
iamjarvo has joined #jruby
iamjarvo has quit [Max SendQ exceeded]
JRubyGithub has joined #jruby
<JRubyGithub>
jruby/master eed14f7 Charles Oliver Nutter: Grr...failed to commit with merge for some reason.
JRubyGithub has left #jruby [#jruby]
<JRubyGithub>
[jruby] headius pushed 1 new commit to master: http://git.io/ve03l
iamjarvo has joined #jruby
<Antiarc>
There is definitely something funky going on here. Setting a version lets it parse, but it thinkgs the signature algorithm is null
<Antiarc>
So there's something super hinky happening WRT how the cert is being parsed
_djbkd has joined #jruby
_djbkd has quit [Remote host closed the connection]
_djbkd has joined #jruby
iamjarvo has quit [Remote host closed the connection]
iamjarvo has joined #jruby
iamjarvo has quit [Max SendQ exceeded]
<headius>
Antiarc: what's different from 1.7?
iamjarvo has joined #jruby
iamjarvo has quit [Max SendQ exceeded]
<Antiarc>
headius: I think the implementation of X509::Certificate#to_text changed in the versions of jruby-openssl shipped between the two versions
<Antiarc>
The output of individual octets rather than a hex string, the serial as octets rather than base10, and the general formatting of the output are different
<Antiarc>
If the signature alg isn't set in only to_text that's not really an issue, but it will be one if it's not set elsewhere (ie, where algorithm enforcement is done)
pietr0 has joined #jruby
nirvdrum has quit [Remote host closed the connection]
havenn is now known as havenwood
gregorsc5 has joined #jruby
x1337807x has quit [Read error: Connection reset by peer]
<Antiarc>
enebo: the respond_to_missing? PR is passing suites now. Looks like that's the only thing standing in the way of my stuff going green on jruby-head :)
_djbkd has quit [Remote host closed the connection]
pietr0 has quit [Quit: pietr0]
jeremyevans has quit [Ping timeout: 272 seconds]
kfpratt has quit [Remote host closed the connection]
drbobbeaty has quit [Read error: Connection reset by peer]
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] headius closed issue #2786: JRuby-Head, Rails 4.1.9, and Sass 3.4.13 throws bad value for range http://git.io/jMti
dinfuehr has quit [Remote host closed the connection]
<headius>
mkristian: I wonder if we should just force using a specific compiler in the build...it seems like IBM JDK's javac ignores -J-Xbootclasspath/p: flag
<headius>
or at least javac doesn't pay attention to it
drbobbeaty has quit [Read error: Connection reset by peer]
drbobbeaty has joined #jruby
<mkristian>
headius, wasn't the problem also on ppc platform
<headius>
I'm able to reproduce build problems with IBM JDK 7 on x86_64 too
<headius>
that flag just isn't working
<mkristian>
yes, I got so far myself as well. yes, at least for those situation an explicit compiler could help
<headius>
I think the javac -bootclasspath flag will work, but we have to specify the path to rt.jar too
<headius>
I suppose I should say it might work
kfpratt has joined #jruby
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<mkristian>
headius, will play around with this
triple_b has quit [Ping timeout: 256 seconds]
iamjarvo has joined #jruby
_djbkd has quit [Remote host closed the connection]
dinfuehr has joined #jruby
_djbkd has joined #jruby
_djbkd has quit [Remote host closed the connection]
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jeremyevans has joined #jruby
iamjarvo has joined #jruby
e_dub has joined #jruby
subbu is now known as subbu|lunch
mister_solo has quit [Ping timeout: 272 seconds]
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] chrisseaton pushed 1 new commit to truffle-pack: http://git.io/veEpw
<JRubyGithub>
jruby/truffle-pack 385b961 Chris Seaton: [Truffle] JRuby pack exceptions.
JRubyGithub has left #jruby [#jruby]
mkristian has quit [Quit: Ex-Chat]
yfeldblum has quit [Ping timeout: 245 seconds]
_djbkd has quit [Remote host closed the connection]
_djbkd has joined #jruby
_djbkd has quit [Remote host closed the connection]
subbu|lunch is now known as subbu
_djbkd has joined #jruby
yfeldblum has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] chrisseaton pushed 2 new commits to master: http://git.io/veu3v
<JRubyGithub>
jruby/master b9d7b7f Brandon Fish: [Truffle] Move Float#round to float.rb
<JRubyGithub>
jruby/master 1acb1f0 Chris Seaton: Merge pull request #2806 from bjfish/truffle_float_round...
JRubyGithub has left #jruby [#jruby]
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] nirvdrum pushed 5 new commits to master: http://git.io/veuGY
<JRubyGithub>
jruby/master b3700e9 Kevin Menard: [Truffle] Annotated some failing String specs.
<JRubyGithub>
jruby/master b5d03ab Kevin Menard: [Truffle] Fixed the 'encoding_converter_last_error' primitive to return a properly formatted Rubinius::Lookup object.
<JRubyGithub>
jruby/master 5fa675d Kevin Menard: [Truffle] Initial work on supporting options hash in Encoding::Converter.new.
JRubyGithub has left #jruby [#jruby]
_djbkd has quit [Remote host closed the connection]
<nirvdrum>
bjfish2: I'm seeing spec failures around that Float change.
<nirvdrum>
Actually, let me clean. Sometimes that fixes it.
<chrisseaton>
nirvdrum: the merge was green
<nirvdrum>
Okay. Probably something out of whack locally then.
<nirvdrum>
I was getting an ArgumentError.
<nirvdrum>
Yeah, that did it. Sorry for the false alarm.
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
viking has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] nirvdrum pushed 1 new commit to master: http://git.io/veunW
<JRubyGithub>
jruby/master 3ab40f0 Kevin Menard: [Truffle] Updated String#{gsub, gsub!} tags.
JRubyGithub has left #jruby [#jruby]
joast has quit [Ping timeout: 252 seconds]
viking has quit [Client Quit]
_djbkd has joined #jruby
kwando has joined #jruby
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<chrisseaton>
still looks about 80% of 1.7 for indy I'm afraid
x1337807x has quit [Remote host closed the connection]
x1337807x has joined #jruby
bbrowning is now known as bbrowning_away
<Antiarc>
Hm, I just reinstalled jruby-head and I'm stuck in an infinite loop trying to boot my test suite - http://i.imgur.com/41LDkD6.png
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<enebo>
Antiarc: I would really like to know which resource that is
<Antiarc>
enebo: Getting my debugger attached now!
tcrawley is now known as tcrawley-away
x1337807x has quit [Client Quit]
mitchellhenke has quit [Quit: Computer has gone to sleep.]
<Antiarc>
enebo: stanford-corenlp-3.5.0-models.jar, which is 232mb
lanceball is now known as lance|afk
<Antiarc>
It looks like jruby is reading all 232mb of that 16kb at a time?
<enebo>
Antiarc: oh hmmm. I might have made too much use this
<Antiarc>
Probably not an infinte loop
<Antiarc>
But it's damn slow
<Antiarc>
Several minutes in and my test suite hasn't booted yet, cores are saturated
<enebo>
Antiarc: I did make more resources use this IS class but I thought it was only for Ruby source
<enebo>
Antiarc: yeah no doubt that is a painful pill to swallow :)
<Antiarc>
Pretty easy to reproduce, looks like you just need to require a bigass jar from ruby
<enebo>
yeah I think I did this in LibrarySearcher.java
<enebo>
Let me snoop. I can fix this in a couple
<Antiarc>
This looks suspicious - you're allocating newbuf which is buf.length + bytesRead on every loop, then copying buf into newbuff. Doing that 16kb at a time is going to be an utterly crapload of allocations for a file that size.
<Antiarc>
in bufferEntireStream
<Antiarc>
Total allocations would be sum(16kb, 32kb, ... 232mb)
<enebo>
Antiarc: The problem was it was a BufferedInputStream of 32k
<enebo>
Antiarc: I changed it to LoadServiceResourceInputStream because for unknown reasons I thought this was for ruby source
<Antiarc>
Hah, okay
<enebo>
Antiarc: in general we do load entire .rb files into memory and then parse
<Antiarc>
Makes sense for small things!
<Antiarc>
But for anything more than a few megabytes, it could be pretty thrashy
<enebo>
Antiarc: well I guess if you are pumping lots of huge ruby files through it then that might be true
a5i has quit []
<enebo>
Antiarc: OTOH those generated files of ruby code like that tend to be single code bodies which end up never JITTing
<Antiarc>
Is there any way to know (or guess) the number of bytes in the inputstream ahead of time? You could cut it down to a couple of allocations if you have a good guess
<Antiarc>
Or you could use an growing buffer size for subsequent reads, so you have fewer total allocations
<Antiarc>
read 16kb, 32kb, 64kb, etc
<enebo>
Antiarc: hey LoadResourceIS was only doing 1k reads last week
<enebo>
This code is really whacky
<enebo>
location.endsWith(“.jar”)
<enebo>
It does not sue the is loaded above
<enebo>
I wonder what that is even doing
<Antiarc>
"Many people see regexes as an inscrutable black box, where they ask the internet what regex solves their problem and it magically works."
<Antiarc>
Hah, ain't that the damn truth.
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] enebo pushed 1 new commit to master: http://git.io/veuoS
<JRubyGithub>
jruby/master a023fd3 Thomas E. Enebo: Revert loadserviceis back to bufferedis until I understand what all comes through this resourcelibrary
JRubyGithub has left #jruby [#jruby]
<enebo>
Antiarc: I reverted my change only because I am concerned there are other non-.rb files which are not .class or .jar
<Antiarc>
I'll rebuild and test
<enebo>
I also think we could maybe just have 3 subtypes here since the main logic is already across 3 methods
x1337807x has joined #jruby
<Antiarc>
That did fix the issue, FWIW
gregorsc5 has quit [Quit: Leaving.]
<enebo>
Antiarc: yeah I figured. When you said it was a jar file I knew what went wrong
a5i has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] nirvdrum pushed 2 new commits to master: http://git.io/veuDf
<JRubyGithub>
jruby/master b7f5673 Kevin Menard: [Truffle] Rubinius::LookupTable should always lookup by Symbol.
<JRubyGithub>
jruby/master bcb4f1d Kevin Menard: [Truffle] Encoding::Converter.transcoding_map should return a Rubinius::LookupTable.
x1337807x has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
mitchellhenke has joined #jruby
havenwood has quit []
joast has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] bjfish pushed 1 new commit to master: http://git.io/veuHA
<JRubyGithub>
jruby/master e2d3abd Brandon Fish: [Truffle] Adding matrix to stdlib.
JRubyGithub has left #jruby [#jruby]
x1337807x has joined #jruby
<chrisseaton>
bjfish2: Array#pack is complete except a handful of specs and ready to merge - I'm just going to wait until a new release of Truffle to avoid merge hell
<bjfish2>
bjfish2 nice! i was trying to use that to parse some XML with rx
<bjfish2>
chrisseaton
jwinter_ has quit [Quit: Connection closed for inactivity]
<chrisseaton>
bjfish2: it actually JITs and inlines your pack expression into the Ruby method that calls it
<chrisseaton>
bjfish2: hoping it will be much faster than current approaches
<bjfish2>
chrisseaton wow thats awesome
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] nirvdrum pushed 3 new commits to master: http://git.io/veuAu
<JRubyGithub>
jruby/master c37119d Kevin Menard: [Truffle] Fixed Encoding::TranscodingMap to have the correct key values, rather than a placeholder.
<JRubyGithub>
jruby/master 9b00410 Kevin Menard: [Truffle] Removed an unused method.
<JRubyGithub>
jruby/master bd21747 Kevin Menard: [Truffle] Fixed Rubinius::LookupTable key lookup.
JRubyGithub has left #jruby [#jruby]
mitchellhenke has quit [Quit: Computer has gone to sleep.]
<nirvdrum>
chrisseaton: What really uses pack in the wild? Marshal is the obvious one.
<nirvdrum>
I'm now convinced that 2/3 of Ruby is just figuring out how to convert between two encodings no one will ever use in the same application at the same time.
<Antiarc>
hahahah
<Antiarc>
fork ruby and utf-8 all the things!
<nirvdrum>
The desire to retain Strings as byte arrays via ASCII-8BIT is questionable, as well.