x1337807x has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
calavera has joined #jruby
elia has joined #jruby
mister_solo has joined #jruby
dfr|work has joined #jruby
mister_solo has quit [Ping timeout: 245 seconds]
thsig_ has quit [Remote host closed the connection]
drbobbeaty has joined #jruby
enebo has quit [Quit: enebo]
drbobbeaty has quit [Client Quit]
Hobogrammer has quit [Read error: Connection reset by peer]
bbrowning_away has quit [Quit: Leaving]
elia has quit [Quit: Computer has gone to sleep.]
Hobogrammer has joined #jruby
subbu has joined #jruby
errstr_ has quit [Ping timeout: 255 seconds]
<chrisseaton>
Anyone know a good reason why JRuby doesn't implement Binding#local_variable_set? I don't think it's any more problematic than assigning in eval, which it does support. Shall I just open an issue for it?
<chrisseaton>
hmmm... neither does Rubinius
<chrisseaton>
maybe I'm missing something...
<brixen>
chrisseaton: it's a new API afaik
<brixen>
so it's just missing
<chrisseaton>
brixen: ah ok thanks - replacing with eval and assigning the local there works fine in Rubinius
<chrisseaton>
brixen: do you want an issue opened for it?
<brixen>
I have a list of 2.1 features
<brixen>
there's probably no rubyspecs for this
marr has quit [Ping timeout: 265 seconds]
<brixen>
that's what we use to implement features
<chrisseaton>
I'll make a todo to implement some - haven't contributed anything back to RubySpec yet I don't think
<JRubyGithub>
[jruby] headius pushed 1 new commit to master: http://git.io/WbdR6A
<JRubyGithub>
jruby/master 2a29c46 Charles Oliver Nutter: Reinstate pre-build, since -Ptest doesn't fire lib dependency.
JRubyGithub has left #jruby [#jruby]
<headius>
jc00ke: I also just use IntelliJ for Java/JVM debugging
<headius>
Antiarc: exporting shouldn't be necessary
<headius>
chrisseaton: no reason, just not there yet
<chrisseaton>
headius: looks like you could implement it using eval today if anyone needed to
<headius>
sure, but if you have a Binding we've already deoptimized and everything's there
<headius>
in JRuby proper anyway
<headius>
fyi, test/mri/ruby/test_proc.rb has test_local_variable_get/set/defined
<chrisseaton>
headius: you do a lot of presentations - do you have a good clicker for your Mac? I used to use the infrared one that they discontinued support for
<headius>
I use the Logitech one
<headius>
I haven't tried any others but it works fine
x1337807x has joined #jruby
<chrisseaton>
I've seen people use their phones but it always goes wrong when the screen locks or something
<headius>
chrisseaton: yeah I hate that...I need a tactile button because I'm not looking back down at my hands
<chrisseaton>
headius: they should let you use the home button - now that would work well
tlarevo has quit [Read error: Connection reset by peer]
<jc00ke>
headius: is there a writeup somewhere on setting up IntelliJ?
<headius>
hmm, for debugging?
<headius>
opening the project is pretty trivial...point it at the root pom.xml and push a few buttons
<jc00ke>
headius: I don't know if I had the right settings, plus it damn near crashed my laptop when it tried to do index all the classes in the proj, or so I think (I don't actually know.)
<headius>
hmmm well it does index, but it takes about 5 seconds for me
<headius>
a wiki page on setting up different IDEs would be great
<headius>
I can put in what I do quickly
<jc00ke>
headius: that would be greatly appreciated!
<Antiarc>
jc00ke: I just added a project by locating the pom.xml and it did the rest
<headius>
no problem
<Antiarc>
then you just add a Debug configuration
tlarevo has joined #jruby
<jc00ke>
headius: hmm, OK, I'll give that a whirl again
<jc00ke>
headius: can you wiki whatever configuration you use too?
ludyte has joined #jruby
tlarevo has quit [Read error: Connection reset by peer]
<JRubyGithub>
[jruby] headius pushed 1 new commit to master: http://git.io/IMRauA
<JRubyGithub>
jruby/master 3c8e9b0 Charles Oliver Nutter: MRI also sometimes raises ECONNRESET for this test.
JRubyGithub has left #jruby [#jruby]
johnsonch_afk is now known as johnsonch
phrinx has quit [Ping timeout: 255 seconds]
<Antiarc>
headius: Yeah, I know the EXCLUDES shouldn't be necessary, but I'm not getting them without it. Bizarre.
<jc00ke>
headius: re: wiki - that's awesome, thanks!
<Antiarc>
also re: rubyspec, if the specs are wrong, is it best to PR to the Jruby repo, or elsewhere?
<Antiarc>
Also, those frozen specs confuse me - jruby is doing exactly what it is *supposed* to be doing in that context.
<Antiarc>
It's like the lambda {}.should isn't catching the error.
<Antiarc>
If that's rspec, shouldn't that be something like expect { ... }.to raise_error(...)?
<Antiarc>
https://gist.github.com/cheald/450f39f57f9864050461 - that resolves one of the Frozen errors - I'd contend it's a bad test (since the def isn't executed until the metaclass is closed), but I'd like a second opinion :)
iamjarvo has joined #jruby
<Antiarc>
The test passes under 2.2, interestingly.
fivebats has quit [Remote host closed the connection]
fivebats has joined #jruby
<headius>
Antiarc: probably best to PR the rubyspec repo
<headius>
we don't have a good process for pulling changes out of our copy (and have thought several times about having it fetch when bootstrapping dev env)
<Antiarc>
Now I'm curious as to why the exception isn't thrown in jruby until the metaclass is closed.
<headius>
hmm
<headius>
that is odd
<Antiarc>
7ff0a1f47358e834d52ea1473b235ec83c8d19c6 did change the behavior
<Antiarc>
before that it worked fine
<Antiarc>
So now I gotta figure out why it is, and un-break it without breaking singleton extension :)
<headius>
you're looking at the ones I tagged?
<Antiarc>
yeah
<headius>
the only one that MRI didn't fail (well, failed for a different reason) is the language one
<headius>
the others looked like the same error
<headius>
I didn't go deeper
<Antiarc>
def_spec "A method definition inside a metaclass scope raises RuntimeError if frozen"
<Antiarc>
I suspect it's the same error
<headius>
oif...I need to call it a day
<headius>
these 8AM to 11PM days are killing me...will be nice to have RubyConf behind us
<headius>
ttfn...I will review PRs in the morning. Have fun!
elia has quit [Read error: Connection reset by peer]
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] headius pushed 1 new commit to master: http://git.io/LX222Q
<JRubyGithub>
jruby/master 5041f5c Charles Oliver Nutter: Revert "Merge pull request #2111 from jruby/add-testcases-to-detect-root-classloader"...
JRubyGithub has left #jruby [#jruby]
elia has joined #jruby
johnsonch_afk has quit [Ping timeout: 250 seconds]
subbu has joined #jruby
toshetm has joined #jruby
nirvdrum has joined #jruby
iamjarvo has joined #jruby
elux has joined #jruby
zorak8 has joined #jruby
elia has quit [Read error: Connection reset by peer]
elia has joined #jruby
ivan\ has quit [Ping timeout: 255 seconds]
ivan\ has joined #jruby
havenwood has joined #jruby
benlovell has quit [Ping timeout: 258 seconds]
subbu has quit [Ping timeout: 255 seconds]
tenderlove has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] k77ch7 opened pull request #2183: change name of files which pass rspec regression test (master...change_name_of_files_which_pass_rspec_regression_test) http://git.io/WkEaDw
<JRubyGithub>
[jruby] headius pushed 2 new commits to master: http://git.io/_VSAWg
<JRubyGithub>
jruby/master fdc5a0e kiichi: add _spec to file name
<JRubyGithub>
jruby/master c8abbf0 Charles Oliver Nutter: Merge pull request #2183 from k77ch7/change_name_of_files_which_pass_rspec_regression_test...
JRubyGithub has left #jruby [#jruby]
ludyte has quit [Client Quit]
<Aethenelle>
headius: grr... reworking the calll to INTERPRET_METHOD breaks other things worse...
<enebo>
Aethenelle: yeah if we could get call parameter of clazz to work it would be great but I suspect that is the literal clazz it is called from and not the implementing class
<headius>
we can chat about it now to get this settled
<enebo>
For a master only change I am willing to try a change but the nuances of how this changes behavior is of interest to me
<enebo>
For Purugni, I think I had to switch the classloader to be the Bukkit one from what we use by default and it sounds like that is common
<mkristian>
JRubyScriptEngine uses the same default as I propose and this one just works out of the box for j2ee as well osgi container. ScriptingContainer does only work with it comes from Thread.currentTherad.contextClassLoader
<mkristian>
for the command line jruby there is no change
<enebo>
mkristian: yeah so I think Thread.currentThread.contextClassLoader did not work in my scneario but if I used ClassWhichReferencesMyScriptingConatiner.getClassLoader it worked
<enebo>
which I think would be the same as ScriptingContainer.getClassLoader since it was loaded in same CL as My containing class
<mkristian>
enebo, and I am sure it will work with ScriptingContainer.class.getClassLoader that is the classloader where the jruby-kernel is located
subbu has quit [Ping timeout: 244 seconds]
<enebo>
mkristian: The summary to this change is most people need to add this second line because our default is less likely to work in most scenarios
<headius>
so it basically just uses TC classloader if loaded from bootstrap, or the loader that loaded JRuby otherwise
benlovell has joined #jruby
<mkristian>
headius, yes
<enebo>
CLI won’t break and embedding might but it will make more people happy by default
<headius>
I think it's ok
<enebo>
yeah I guess I do too for 9000
<mkristian>
enebo, I added test cases to for those non TC classloader cases
<headius>
yeah, I don't want to do it in 1.7 either
<enebo>
mkristian: and your tests will help nail this down and document it better on top of it
<headius>
yeah, go for it
<mkristian>
enebo, yes, they definitely fail without the patch ;) and even JRubyScriptEngine works better - also added tests for this
<enebo>
mkristian: great
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] headius closed issue #743: keyword args should not override optional args http://git.io/yCbBcQ
<Aethenelle>
huh... I had a change stashed earlier that fixes it... could have sworn it didn't fully work...
<headius>
man, step debugging through jruby is such a help
<headius>
Antiarc: ahh, yeah that makes sense :-)
mister_solo has joined #jruby
<cprice404>
hi all, does anyone know any common reasons for this error message?: "LoadError: Syslog not supported on this platform"
phrinx has quit [Read error: Connection reset by peer]
<cprice404>
i know we've seen it on BSD systems but we have a user reporting it on RHEL now
phrinx has joined #jruby
<cprice404>
it sounds like something where the posix compatibility .so files aren't getting loaded properly or something, but I don't know what kinds of scenarios can cause that
<Aethenelle>
iirc, syslog has a bunch of os dependent impls
<Aethenelle>
what's the value of FFI::Platform::CONF_DIR?
nwolfe has joined #jruby
<headius>
cprice404: -Djruby.native.verbose=true passed to java
<cprice404>
Aethenelle: will ask. Also will ask him to add that Xnative flag, is my syntax correct above?
<cprice404>
headius: awesome, thanks.
<Aethenelle>
gotta watch the kids... bbl
<Aethenelle>
cprice404: looks good i think...
Aethenelle has quit [Quit: Aethenelle]
<cprice404>
nwolfe: can you try that on your box: java -cp puppet-server-release.jar -Djruby.native.verbose=true org.jruby.Main -e 'puts FFI::Platform::CONF_DIR'
<nwolfe>
Giving it a shot...
bbrowning_ has joined #jruby
skade has quit [Quit: Computer has gone to sleep.]
<Antiarc>
cprice404: nwolfe - you might check if you have glibc.x86-64 and glibc.i686 both installed on the machine.
<Antiarc>
That broke my Fedora install for a similar reason
<cprice404>
Antiarc: thanks for the tip! One thing that is interesting is that he says that if he installs jruby 1.7.15 on the same box and tries to load syslog through that, it works
<cprice404>
it's just not working him from our embedded jar
<cprice404>
even though that same jar is working fine on every other box we've tried it on :)
bbrowning_ is now known as bbrowning
<nwolfe>
cprice404: I have the glibc.x86_64 installed but not glibc.i686
<cprice404>
so, we've verified that the ffi .so files are in the jar and he's still getting 'Failed to load native POSIX impl; falling back on Java impl.'
<cprice404>
we tried exploding the jar and setting the classpath to point just to the exploded directory, rather than to the jar, and he still gets the error.
<Antiarc>
The error you got looked like the jffi jar wasn't in your classpath or something
phrinx has quit [Read error: Connection reset by peer]
phrinx has joined #jruby
<Antiarc>
The same setup works on a different machine, I presume?
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<cprice404>
Antiarc: yeah; two different RHEL7 boxes, same jar file; works fine either exploded or directly from the jar on one of them, "Failed to load POSIX" on the other
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] mkristian pushed 1 new commit to jruby-1_7: http://git.io/EBsqSg
<JRubyGithub>
jruby/jruby-1_7 cce325d Christian Meier: newer versions of jnr-posix and joda-time
JRubyGithub has left #jruby [#jruby]
<Antiarc>
what does -e "require 'ffi'" get you?
<cprice404>
I think that's where we get the "Failed to load", lemme check
e_dub has joined #jruby
<Antiarc>
yeah, what I'm wanting to know is if it's failing in requiring FFI, or if it's failing in trying to use the FFI constant after ffi ostensibly loads
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] mkristian closed issue #2072: Old tzdata in JRuby http://git.io/8Y1B0w
JRubyGithub has left #jruby [#jruby]
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] mkristian closed issue #2173: on jboss wildfly when starting a rack application: stat unsupported or native support failed to load http://git.io/wgeQug
<projectodd-ci>
headius: Put IOException message in wrapper, so we can deal with it.
<headius>
ok ok I'll fix you!
<cprice404>
Antiarc: yeah it sounds like simply doing the 'require' will triggere the error for them
<Antiarc>
How was your jruby jar you're executing from built?
<mkristian>
headius, I am about to pull in the parent classloader patch and clean up all those branches associated with this - last chance to stop me
sferik has joined #jruby
<headius>
mkristian: damn the torpedos!
<cprice404>
Antiarc: it's a maven uberjar basically. our maven project file specifies a dep on the jruby-core and jruby-stdlib jars and then we build an uberjar from that.
<cprice404>
Antiarc: has been working great on tons and tons of boxes we've tested it on; something different about this one box somehow :)
<cprice404>
how does META_INF get into the load path?
pietr0_ has joined #jruby
kylo has joined #jruby
<cprice404>
is there some variable like $LOAD_PATH that I can print the value of to see if somehow those META_INF dirs aren't getting added?
pietr0_ has quit [Remote host closed the connection]
pietr0 has quit [Ping timeout: 250 seconds]
pietr0 has joined #jruby
iamjarvo has joined #jruby
iamjarvo has quit [Max SendQ exceeded]
iamjarvo has joined #jruby
<Antiarc>
$CLASSPATH from Ruby should give you the classpath Java will look through, if that helps
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] mkristian pushed 2 new commits to master: http://git.io/g7EZlw
<JRubyGithub>
jruby/master f014b03 Christian Meier: detect the right root classloader for more cases
<JRubyGithub>
jruby/master 8df95d6 Christian Meier: * added a test case where thread-context-classloader did not load jruby and ScriptingContainer just works...
JRubyGithub has left #jruby [#jruby]
<mkristian>
cprice404, there are three entries whcih start META-INF/jruby.home on the $LOAD_PATH
<mkristian>
that is for setup using jruby-complete or jruby-stdlib jars
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] mkristian closed pull request #2023: detect the right root classloader for more cases (master...detect-root-classloader) http://git.io/3UwHEA
JRubyGithub has left #jruby [#jruby]
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] mkristian deleted revert-2111-add-testcases-to-detect-root-classloader at 09a39a6: http://git.io/vfjFQw
JRubyGithub has left #jruby [#jruby]
<cprice404>
Antiarc: mkristian: ok, then we'd expect the .so files to be available at some relative path to something that is on CLASSPATH/LOAD_PATH?
robbyoconnor has quit [Read error: Connection reset by peer]
<mkristian>
cprice404, no such loading is done implicitly - there is no such entries in $CLASSPATH or $LOAD_PATH
<Antiarc>
have you gotten an strace to see which files it's looking for (and failing to find)?
<cprice404>
no, that sounds like a great idea; not super familiar with strace though
* cprice404
heads to the googles
<Antiarc>
strace -f <your command here>
<cprice404>
kk thx
<Antiarc>
Then you can grep for "ffi\." or something
<cprice404>
nwolfe: can you try that ^^ with your foo.rb commad
<mkristian>
Antiarc, just look through a bunch of jruby-complete files but can not find ffi-internal.so in any of them - did I understand something wrong here ?
<Antiarc>
mkristian: I'm doing the same and coming up empty. Very curious :)
<cprice404>
fwiw we are not using complete
<cprice404>
we use 'core' and 'stdlib'
<mkristian>
cprice404, same with jruby-stdlib so far
<cprice404>
k
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] headius pushed 3 new commits to master: http://git.io/0Nnczw
<JRubyGithub>
jruby/master 5021eb4 Charles Oliver Nutter: Actually apply some formatting to this error.
<JRubyGithub>
jruby/master a467bc5 Charles Oliver Nutter: Restructure argv into a single command when doing chdir....
<JRubyGithub>
jruby/master 5ce78c4 Charles Oliver Nutter: Update RubyGems to 2.4.3.
JRubyGithub has left #jruby [#jruby]
<cprice404>
mkristian: Antiarc: exciting news
<cprice404>
it turns out that the user had his /tmp partition mounted 'noexec'
<mkristian>
:)
<cprice404>
and it appears that something in the jruby code is copying the .so files to /tmp?
<cprice404>
before trying to load them?
<headius>
blast, should have suggested that
<cprice404>
(guessing)
<headius>
yes
<headius>
I believe you can change that by setting a different tmp env
<cprice404>
is there any way to override that
<cprice404>
heh
<cprice404>
yeah
<headius>
to somewhere that can execute
<headius>
yeah that makes sense
<headius>
rhel
<cprice404>
just "TMP" env var/
<cprice404>
?
<headius>
see what env you have
<Antiarc>
headius: might it be worth checking for executability in jruby? That seems like a pretty arcane issue
<mkristian>
and I found the ffi-internal.so it is a buildin library
<headius>
TMP or TMPDIR
<headius>
Antiarc: in jffi when it unpacks
phrinx has quit [Read error: Connection reset by peer]
<mkristian>
and writeability !
<headius>
mkristian: I suspect that produces a better error right now :-)
phrinx has joined #jruby
<headius>
but yeah, better errors all around
<cprice404>
i can open a github issue on that if you like
<headius>
yeah please do
<cprice404>
k
<cprice404>
thanks, as usual, for all the help :)
<headius>
it has come up before and we never had a response other than to set a tmp that can execute
<headius>
but we should do better
docc has joined #jruby
<enebo>
haha I was going to suggest looking at /tmp
<enebo>
I feel somewhat bad now :)
<headius>
we should both feel bad
<enebo>
I was going to ask if there was write permission though
<headius>
we can drink the guilt away in SD next week
<enebo>
Can Java even detect noexec?
<enebo>
maybe in nio.2
<headius>
7+ should be able to
<headius>
yeah
<Antiarc>
Hah. You'd...need FFI to stat the directory
<headius>
did you see my commit to add pure-Java FileStat#birthtime?
<enebo>
we obviously cannot ask jnr-posix to do it :P
<enebo>
headius: I did not see the impl
<headius>
I'm pretty impressed that you can get almost all metadata from nio.2 now
<enebo>
ah great
<headius>
we should seriously consider making an nio.2 update for jnr-posix java backend
<enebo>
we should probably print out why native is not enabled in verbose :)
<enebo>
headius: but it needs to work on Android right?
<headius>
cprice404: you have wide authority to suggest things that might have helped you discover this sooner
<headius>
enebo: it would have to be a Java 7-aware subclass of what we have, or something
<headius>
mostly overriding filesystem and process stuff
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] cprice404 opened issue #2186: Improve error handling re: FFI loading when system temp dir is mounted 'noexec' http://git.io/b_vFpg
JRubyGithub has left #jruby [#jruby]
<enebo>
yeah me and nirvdrum were having a grand time talking about saying we are 7+ yet support android
<headius>
I know :-(
<enebo>
fwiw we can use Java 7 syntax :)
<headius>
mobile platforms always hold everyone back
<enebo>
we just need to make loadable modules for Java 6 fallback on android in things it does not support
<headius>
we could probably make a MethodHandle compat library that just uses reflection too
<enebo>
I am not convinced it will be totally horrible
<headius>
I mean, we mostly have to use reflection on Android anyway because code gen is a pain
<enebo>
I have not seen any numbers on post-Dalvik world
<headius>
the new ARC runtime?
pchalupa has quit [Quit: Leaving]
<enebo>
yeah
<enebo>
art
<headius>
yeah I tried to use it like 6 months ago and everything went to hell
<headius>
art, that's it
<Antiarc>
5.0 is due to start rolling out today!
<headius>
man, I need to get google edition rom back on my phone :-(
<Antiarc>
I've been running CM nightlies and they've been a little wonky :)
<headius>
enebo: nice
<Antiarc>
Looking forward to the 5.0 AOSP release
<headius>
Antiarc: me too
<headius>
I just want to go back to vanilla...I'm too old for this
<Antiarc>
ha
<enebo>
lollipop just in time for travel!
<enebo>
perhaps my battery wlll last longer now
lidaaa has joined #jruby
<enebo>
they say it will but talk is cheap
<headius>
enebo: I will not forget to install my red hat 2FA on another device first :-)
<headius>
now what was I doing before this fix
<headius>
oh, bug triage
<Antiarc>
TOTP is easy, if you can save the shared secrets when you set up the account. I keep 'em in my LastPass account so that I can shove it through a Ruby script as a backup
<Antiarc>
Never have to worry about permanently losing 2FA :)
<headius>
RH uses Google Authenticator
<headius>
I don't know if there's a way to save off a token
<nirvdrum>
enebo: It gets trickier :-/ I discovered that Android does support ThreadLocalRandom (a Java 7 API), but only in lollipop. So, if Google is slowly implementing Java 7 APIs at different SDK levels, the notion of what can be supported and when gets really muddled.
<Antiarc>
Authy is also another option
<Antiarc>
They store your auth secrets in teh cloudz, but they offer clientside encryption, do you don't have to trust their server security
<nirvdrum>
headius: Don't use FreeOTP? Isn't that a RH product?
<Antiarc>
Makes it easy to retrieve from another device
<headius>
nirvdrum: beats me
<headius>
I just install what they tell me to install
<Antiarc>
where secret is the shared secret (usually the QR code or whatever)
<headius>
mkristian: yeah I think we're all on the same page
<headius>
Antiarc: yeah QR code
<headius>
I could just save that somewhere, of course :-)
<headius>
unsure if it's a one-time or not
<headius>
I've only ever used each code once
<nirvdrum>
enebo: Another fun one for you: Java 7 will be EOL'd very quickly in the life of a public 9k release :-P
<Antiarc>
TOTP just uses a shared secret and the current time (usually quantized to 30 sec) to get an hmac-sha1 digest, and then transforms that digest into an X-digit numeric code
<headius>
oh whew...my Kernel#system fix also fixed the stack overflow I saw
<Antiarc>
The idea being that both parties know the shared secret, and can verify ownership of that shared secret with codes that are only valid for 30 sec apiece
e_dub has quit [Read error: Connection reset by peer]
<headius>
Antiarc: well that's easy enough
<headius>
so I literally could just have a script that spits out TOTP at me
<Antiarc>
Yeah, that gist up there is my backup authetnicator
<headius>
I know nothing about how all this stuff works, if that's not obvious
<headius>
cool
e_dub has joined #jruby
<Antiarc>
I save the secrets when I set up a 2FA account, then can use that script to generate a code in a pinch
<headius>
favorited, thanks
<headius>
unless you want I should make my own copy :-)