den_d has quit [Excess Flood]
den_d has joined #jruby
satyanash has quit [Ping timeout: 260 seconds]
satyanash has joined #jruby
_whitelogger has joined #jruby
_whitelogger has joined #jruby
ruurd has quit [Read error: Connection reset by peer]
ruurd has joined #jruby
<headius[m]> Good morning!
<rdubya[m]> Good morning!
subbu is now known as subbu|meetings
<headius[m]> hmm
<headius[m]> interesting issue about restoring the one-click installers that include JDK
<headius[m]> I forget that not everyone knows how or where to go get a JDK
subbu|meetings is now known as subbu
daveg_lookout[m] has joined #jruby
<daveg_lookout[m]> What's the status of ruby-debug with JRub 9.2.14.0? I had to revert to jruby-debug 0.10.4 (which doesn't work, per https://github.com/jruby/jruby/issues/6018) from 0.11 when I updated to 9.2.14. Is this already known, or should I comment on that issue?
<boc_tothefuture[> Have a question about Java objects that are prepended/monkeypatched. Lets say I took a Java object and added a hashmap to that object. Then it goes out of scope from a JRuby perspective, but later comes back into scope. Will that hashmap still be there?
<boc_tothefuture[> also, happy new year.
<headius[m]> daveg_lookout: ugh, the management of that gem is very frustrating
<headius[m]> daveg_lookout: it looks like we are still waiting on a release of 0.11.0 so I would say to comment on the ruby-debug issue where I request a release
<headius[m]> oh wait... no it was released but doesn't work?
<headius[m]> ahh because ruby-debug-base is not 0.11.0
<daveg_lookout[m]> That's right
<headius[m]> so we need to figure out who we need to lean on or bribe to get these releases out
<headius[m]> enebo: this is annoyingly still an issue
<daveg_lookout[m]> Awesome, thanks. Working on validating that https://github.com/jruby/jruby/issues/6326 is fixed for us.
<boc_tothefuture[> Hey headius , HNY. Did my question above make sense? I couldn't find an answer in the wiki.
<headius[m]> oh boc_tothefuture sorry I missed that
<headius[m]> as you might suspect, anything you attach to that object will not necessarily stick with it in all cases
<headius[m]> We used to try to get the same wrapper object every time but it meant every call across that boundary had to do expensive weak map lookups
<headius[m]> it turns out to be cheaper to just create a new thin wrapper for any object entering Ruby world, but it means we can't guarantee it is the same wrapper
<headius[m]> you can force us to use the same wrapper on a per-class basis by setting MyJavaClass.persistent = true I think
<headius[m]> oops highlighting
<headius[m]> `MyJavaClass.__persistent__ = true`
<boc_tothefuture[> no worries.. Thanks for the answer.. I figured that was the case. Ok, let me play with the persistent value.
<boc_tothefuture[> If i am doing that on the abstract superclass.. will all children get it?
<headius[m]> no, it is specific to the class
<boc_tothefuture[> * If i am doing that on the abstract superclass.. will all sub classes get it?
<headius[m]> it could perhaps be made class and descendants but it does not look that way now
<boc_tothefuture[> ok, so if I set that value on the abstract, put an object in the abstract. The sub classes won't see the value. I might be better off using a weakmap myself perhaps..
<boc_tothefuture[> They net is I want to attach a hash to a set of objects that all descend from a specific type.
<headius[m]> yeah you see the challenge here... either we maintain a weak map for everything or you do it for specific things
<headius[m]> we opted to do the lowest overhead option since we can't do anything to really decorate the Java objects
<boc_tothefuture[> yep, that makes sense... So on my side, I would want to do a weak map.. and when I do that I want to do it based on the underlying java object itself because when I use it in JRuby I will be working with a wrapper?
<boc_tothefuture[> And any weak map I need to make needs to be global right? Doing it with @@ in the superclass won't help, correct?
<headius[m]> well you can put it in a constant or something
<headius[m]> you can also just use a Java WeakHashMap and calls to it will unwrap the object (but also rewrap it when getting)
<boc_tothefuture[> Ok thanks. I will play around a bit.
<boc_tothefuture[> @headius For this to work I would need to be running in SINGLETON mode, correct?
<headius[m]> I hate the mode naming... I think so, yes
<headius[m]> if that is the mode where you are going to be using a single runtime across threads
<headius[m]> enebo: also what do you think about getting a JDK installer back into our artifacts?
<headius[m]> this guy complained on twitter and then filed an issue and he makes a good point... we don't even provide instructions on how to get a JDK
<enebo[m]> headius: I am not for it
<headius[m]> I was trying to remember why we stopped... was it just licensing questions with the binary oracle builds?
<enebo[m]> I think the main issue is it requires bundling a JVM and then updating it as CVEs and other things are released
<headius[m]> I also don't know enough about install4j to know if we can point it at an arbitrary OpenJDK build
<headius[m]> ah that is true
<enebo[m]> Install4j I think also changed in some weird way at some point where they had some legal problems with having their own repo of JVMs
<enebo[m]> I may be misremembering that though
<headius[m]> so if we have an old JDK that was no good we would need to spin releases
<enebo[m]> yeah and if it was important CVE we would have to
<headius[m]> maybe there is a way to have it run a net installer
<enebo[m]> that I think is my main pain point...I do not follow CVEs on JVMs but I bet they get a fix for nearly every u release
<headius[m]> I agree bundling our own is a big hassle but you get the issue here right?
<headius[m]> like if someone knows zero about JDK installs but wants to install JRuby
<enebo[m]> I think we could maybe detect in launcher no JVM is found and give a url to adoptjdk
<headius[m]> that would probably be enough
<headius[m]> I can propose that on the issue
<headius[m]> the rbenv thing I'm not sure is our bug... they should be checking for JDK before installing
<enebo[m]> headius: yeah it is perhaps not as simple as possible but we should be able to provide a good link
<ahorek[m]> hey enebo headius ! as a Windows user I'm NOT for shipping a prebuild jdk. On the other hand, the installer should detect if there's no JDK present and let you know where and how to get it.
<headius[m]> ahorek: yeah this is the first time someone has complained about it but I get the confusion
<enebo[m]> ahorek: I am working on a new installer so this is something I think we can do pretty easily
<enebo[m]> err sorry not installer but launcher
<headius[m]> this would be an opt-in if we did restore it, like before you would have to download the one with JRE included to get it
<enebo[m]> Which is a little weird to see the error afterwards but we could possibly do it during install too maybe
<ahorek[m]> yeah, that would be better
<headius[m]> I think adoptopenjdk is the best option for Windows too since I think MS bought those guys and now maintains those builds
<enebo[m]> I think it would be just running the launcher once at the end of install and making sure that text appears in install screen (less sure about that part)
<headius[m]> I have also wanted to explore using jlink to build an all-in-one JRuby + modularized JDK but even that isn't something we would ship
<headius[m]> enebo: so basically have the launcher provide JDK instructions if it can't detect one
<enebo[m]> headius: yeah there are two reasons too
<enebo[m]> 1. if it can be used by installer then it can also tell people they need it at that point
<enebo[m]> 2. If someone messed up their java install the launcher will give them the link again
<headius[m]> and 3. you can just run from the zip and it will tell you what you need
<enebo[m]> yeah
subbu is now known as subbu|lunch
travis-ci has joined #jruby
<travis-ci> jruby/jruby (jruby-9.2:e91aa9e by Charles Oliver Nutter): The build was broken. https://travis-ci.com/jruby/jruby/builds/212078888 [181 min 15 sec]
travis-ci has left #jruby [#jruby]
<headius[m]> nooo
<headius[m]> deploy fail
<GGibson[m]> headius: I've become fond of JDK8-u241 if you wanted an example JDK for an all-in-one
<headius[m]> I think we continue to recommend Java 8 but probably need to start edging toward 11+
<headius[m]> 8 has been EOL for quite a long time now
<GGibson[m]> 8 is so mature and complete
<headius[m]> support wise anyway
<GGibson[m]> I disagree with the idea of busting up long standing features into separate installs
<headius[m]> yeah we should be golden on 11+ but there are a lot of other libraries and tools that aren't
<headius[m]> that is the other problem with an all-in-one... if we publish one for 8 people will complain we don't have one for 11
<GGibson[m]> I see
<GGibson[m]> i have jruby 9.2.13.0 and I get high cpu usage with Rufus Scheduler timer loops
<GGibson[m]> anyone else get that as well?
<headius[m]> I don't know what Rufus is but this is the first I've heard of the issue
<GGibson[m]> I was surprised as I sleep for 0.333 on each loop run
<headius[m]> that should help keep it pretty quiet
<GGibson[m]> it shouldn't run too hot like that is all
<GGibson[m]> but it pegs my cpu
<headius[m]> yeah high cpu like all cores?
<GGibson[m]> yup
<headius[m]> if you can put together an example it might be worth a report
<GGibson[m]> I use threads
<GGibson[m]> I'll look into it
<GGibson[m]> what version is jruby at now?
<GGibson[m]> I've been out of the loop for a while
<GGibson[m]> sorry
<headius[m]> 9.2.14
<GGibson[m]> oh right - thanks
<headius[m]> yeah definitely try newest and if you still have a problem there's nothing wrong with filing a bug with a good reproduction
<headius[m]> if it ends up being a user error we will at least help you figure that out
slyphon has quit [Read error: Connection reset by peer]
slyphon has joined #jruby
<headius[m]> I know you can't do anything about this but this crap keeps getting reported
<headius[m]> there's still no ruby-debug-base 0.11.0 and the gemspec seems to be strict
subbu|lunch is now known as subbu
<enebo[m]> yeah
<GGibson[m]> I found the error - I'm using spoon to daemonize the process
<headius[m]> Another headius project, huzzah
<headius[m]> G. Gibson: you'll have to elaborate on that... is spoon causing your problem?
<GGibson[m]> I think so
<GGibson[m]> when I call the start script from the console, as root - it can open a port for the server but still has high cpu. When I use systemd to start it -- I get high cpu and it cannot open a server port. scratching head still on it.
<GGibson[m]> but it doesn't look like a JRuby issue is all I'm saying