<headius>
mkristian: your filtering is probably not applying to the contents of java.library.path
<mkristian>
not sure why java.library.path entries are handled differently
<headius>
so that might be an additional improvement we can make
<headius>
but I will merge what you have right now
<headius>
mkristian: yeah I started trying to look but I'm looking in a VM with no IDE :-)
<headius>
will merge and then look around a bit
<mkristian>
ok
<nirvdrum>
IIRC, Jaroslav's issue was on Kubuntu and induced by installing Skype (a 32-bit app).
<nirvdrum>
I think that brought in a 32-bit libcrypt.
mkristian_ has joined #jruby
mkristian has quit [Ping timeout: 252 seconds]
<headius>
could be
<headius>
I know steam needs 32-bit too
<headius>
mkristian_: am I crazy or are there at least two different paths in here to load libraries
<headius>
LibraryLoader and NativeLibrary
<mkristian_>
I think the first one delegates to the second via some Platform
<headius>
yeah I'm trying to trace through this
<headius>
another fix I had was to ignore the libraries that fail to link, but jnr-enxio was coming in through a different path that did not hit that code
<headius>
NativeLibrary.openLibrary
camlow325 has joined #jruby
dinfuehr has quit [Remote host closed the connection]
<headius>
I don't see how the paths in LibraryLoader.getSearchPaths would be filtered
<headius>
ok maybe I do
<headius>
round and round this stuff goes
<headius>
yeah huh...it does seem like it should be filtering java.library.path paths too
<chrisseaton>
is enebo around?
<enebo>
chrisseaton: sure
<chrisseaton>
enebo: do you know how the Ruby parser differentiates between f[n] and f [n]?
<chrisseaton>
first being f.[](n), and the second being f([n])
<enebo>
oh heh yeah fun stuff
<enebo>
LexState I believe is how it works but let me verify it
<enebo>
ruby’s grammar has lex state as a toggle which forces lexer to emit matched tokens differently based on which state is set
<chrisseaton>
can you point me at where this is read in the parser?
<enebo>
chrisseaton: so look in RubyLexer.yylex. You will see whitespace toggle a boolean spaceSeen. This will cause leftBracket() to return a different token
cpuguy83 has joined #jruby
<headius>
significant whitespace
<enebo>
yeah it is something I dislike to see in a parser but they wanted to omit parens so what ya gonna do :)
<headius>
mkristian_: we're going to flip master to 2.0.5-SNAPSHOT to get those users to verify, and if they verify it works we'll run with it
<chrisseaton>
enebo: ok, I'm following now thanks
<headius>
otherwise we'll hold off and try to verify + fix java.library.path for JRuby 9.0.5
skade has quit [Ping timeout: 268 seconds]
<mkristian_>
headius, I just can speak for my ubuntu laptop which is solved now and getting input of the other people would be great
<headius>
ok
<headius>
my case is an outlier in my opinion
<headius>
I had to forcibly break it
<enebo>
what is downstream from jnr-ffi?
<enebo>
hmm
<enebo>
jnr-posix needs to be snapshotted
<headius>
enebo: I don't think we *have* to roll everything if we just want jruby to pick it up
<headius>
they will just use newer jnr-ffi because we explicitly request it
<headius>
but they should roll at some point
<enebo>
headius: but if we do decide to roll with it then it would be nice if we dep tree was clean
baroquebobcat has joined #jruby
<headius>
true
<enebo>
to compress this release we could assume it fixes the issue and full release it and all deps and fall back to previous points if we run into a problem
<mkristian_>
enebo, it is nice to have but not absolutely a must to keep the dep tree clean
<enebo>
it probably is not clean right now :)
<enebo>
I never remember the deps maven command :)
<mkristian_>
mvn dependency:tree -Dverbose
<enebo>
haha I had already did not and did not notice I spelled it dependency:true
<headius>
hahah
<headius>
nice
<headius>
protip: our build takes 20 minutes if you don't notice you've dropped below 5% battery and into power-saving mode
<enebo>
jnr-constants is already out of sync
pawnbox has quit [Ping timeout: 265 seconds]
<enebo>
jnr-posix uses 0.9 and enxiio and netdb uses 0.8.7
<headius>
death of a thousand artifacts
<mkristian_>
headius, on jruby-1_7 did you move the psych files around ? they seems to be in different place then with jruby-1.7.22
<headius>
mkristian_: I don't think so
<headius>
wait maybe
<headius>
yeah I did
<headius>
they were getting picked up in 1.8 mode and blowing up
<mkristian_>
just wanted to make sure - I am about to remove ruby-maven gem and wanted to compare the dist files
<headius>
ok
baroquebobcat has quit [Quit: baroquebobcat]
pawnbox has joined #jruby
skade has joined #jruby
vtunka has quit [Quit: Leaving]
baroquebobcat has joined #jruby
PragTob has quit [Remote host closed the connection]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
samphippen has joined #jruby
samphippen has quit [Client Quit]
elia has quit [Quit: Computer has gone to sleep.]
mkristian_ has quit [Quit: This computer has gone to sleep]
<headius>
lopex: is there any reason we didn't make ByteList consider encoding in .equals?
<lopex>
headius: oversight maybe ?
<headius>
as it is now it means neither RubyString nor ByteList will distinguish between two strings with same bytes but different encodings in e.g. Java HashMap
<headius>
yeah seems like it
<headius>
I'm going to change it and see how much breaks
<headius>
enebo: ^^
<lopex>
headius: but it might break something if it did now
<headius>
very good chance :-)
<enebo>
headius: yeah I am really curious
<lopex>
headius: and mri has peculiar rules negotiating encodings
<enebo>
headius: my prediction is autoconversion from something to US-ASCII OR ASCII vs ASCII-8BIT
<enebo>
It would be referenced down in the stack somewhere as a temp but functionally gone
<headius>
ok, one more time attempting this expense report...I think I have the right magic sauce now
<headius>
lopex: fly out to SF and bring beer
<enebo>
lopex: nice
<enebo>
lopex: I wish I could occasionally teleport to Poland
<lopex>
headius: I have two stores just under my flat almost
<enebo>
lopex: I although I would probably teleport to Krakow
<headius>
yeah we need to get back to geecon or something
<lopex>
doh, and this File::read windows issue
Greg__ has joined #jruby
Greg__ has left #jruby [#jruby]
<headius>
heh I can't even boot with "fixed" ByteList.equals
<headius>
SyntaxError: uri:classloader:/jruby/java/core_ext/kernel.rb:9: can't find string "EOM" anywhere before EOF
<lopex>
headius: for some reason 9k doesnt end up File.read(file, mode: 'rb') on windows
<enebo>
oooohhh hahah
<lopex>
headius: it defaults to text or something
<headius>
enebo: you're probably constructing a constant ByteList somewhere and using it to compare eh?
<enebo>
headius: that is because it is a hard-coded ByteList in RubyLexer
<headius>
yeah ewps
<enebo>
headius: and it is reading the source as the lexer’s encoding
<enebo>
headius: you will see this in other special words too
<enebo>
like __FILE__
<headius>
what is EOM though?
<enebo>
it is a heredoc somewhere
<headius>
right, not hardcoded in lexer though
<headius>
I was wrong about that
<enebo>
yeah for heredocs it can’t be but for all specific words they are
<headius>
you must store it in a hash or something to know it's an active heredoc token?
<nirvdrum>
headius: Two strings with different encodings can be equal, FYI.
<headius>
that depends how you define equal!
<headius>
they can have the same bytes, obviously
<lopex>
mri defines that
samphippen has joined #jruby
<enebo>
oh weird
<headius>
sure, and that may be as far as we can go
<headius>
I just thought I'd see how badly it breaks with this
<nirvdrum>
Not just the same bytes. If they're both CR 7-bit, they're logically equivalent.
<enebo>
wow I really don’t know why heredoc would not match
<nirvdrum>
Or if one is CR 7-bit and the other is fixed width of 1.
<headius>
nirvdrum: not if you want to look it up in a hash and get the one with the encoding you expect
<enebo>
perhaps makeShared is not propagating the encoding?
<headius>
enebo: hmmm
<headius>
maybe?
<enebo>
which if so I think would break tons of shit
<enebo>
nope seems fine
<nirvdrum>
headius: The other thing is ByteList has equals and equal. As confusing as that may be, it could provide the distinction you're looking for.
<enebo>
yeah perhaps that error message is a red herring
<nirvdrum>
Both backends use "equal" as part of the Ruby string equality check.
<enebo>
It might be giibving that error but is something else being compared
Petesta_ has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
Petesta_ has joined #jruby
lanceball is now known as lance|afk
mkristian has quit [Quit: This computer has gone to sleep]
mrbrdo has joined #jruby
<mrbrdo>
hey guys. is there an easy way to figure out where the jruby jar is when using rbenv/rvm? preferrably with ruby code since that seems most reliable
<mrbrdo>
or ruby home.. I tried ENV['JRUBY_HOME'] but it was empty
<mrbrdo>
and $CLASSPATH was empty as well
mkristian has joined #jruby
elia has joined #jruby
rsim1 has quit [Quit: Leaving.]
Petesta_ has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
johnmuhl has quit [Quit: Connection closed for inactivity]
rsim has joined #jruby
mkristian has quit [Quit: This computer has gone to sleep]
yfeldblum has joined #jruby
lance|afk is now known as lanceball
rsim has quit [Read error: Connection reset by peer]
<enebo>
mrbrdo: I woudl try one of these: jruby -rpp -e 'require "rbconfig"; pp RbConfig::CONFIG'
<enebo>
maybe [“prefix”]
<enebo>
mrbrdo: you can look at JAVA_ENV too but I figure rbcnfig is up to the task and portable if you care