<brauliobo>
eregon: I can find the truffle project to enable annotations
<brauliobo>
*can't
<brauliobo>
eregon: ha, just imported the truffle folder
havenwood has joined #jruby
<brauliobo>
chrisseaton: eregon pietr0 is this the way to install a gem? jt run bin/gem install mspec
<brauliobo>
I get /home/braulio/Projects/others/jruby/truffle/src/main/ruby/core/rubinius/delta/module.rb:41:in `append_features': cyclic include detected (ArgumentError)
dinfuehr has quit [Remote host closed the connection]
<GitHub144>
[jruby] chrisseaton pushed 1 new commit to truffle-head: http://git.io/vZV13
<GitHub144>
jruby/truffle-head 3fdeac3 Chris Seaton: Merge branch 'master' into truffle-head
rsim has joined #jruby
jensnockert has quit [Remote host closed the connection]
jensnockert has joined #jruby
<GitHub20>
[jruby] chrisseaton fast-forwarded master from 976c968 to 31e716e: http://git.io/vZV1y
<GitHub51>
[jruby] chrisseaton pushed 2 new commits to truffle-head: http://git.io/vZV1S
<GitHub51>
jruby/truffle-head d181f4b Chris Seaton: Merge branch 'master' into truffle-head...
<GitHub51>
jruby/truffle-head 26985d0 Chris Seaton: [Truffle] Fix some old tabs.
jensnockert has quit [Remote host closed the connection]
dinfuehr has joined #jruby
<GitHub52>
[jruby] chrisseaton pushed 1 new commit to truffle-head: http://git.io/vZVxA
<GitHub52>
jruby/truffle-head 053458a Chris Seaton: [Truffle] Fix new TCK.
<GitHub2>
[jruby] chrisseaton commented on commit 053458a: @jtulach this is what I had to do in the end to get the TCK compound object test passing. I think the Java interop system specifically calls read and then execute, so for `plus` I'm having to explicitly return a function, like you would in JS. We're going to have to think about how to make this work well for all languages, as the current system seems very much like hard-coded JS semantics. http://git.io/vZVp3
dinfuehr has quit [Ping timeout: 272 seconds]
jensnockert has joined #jruby
rsim has quit [Quit: Leaving.]
samphippen has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
cristianrasch has joined #jruby
jensnockert has quit [Remote host closed the connection]
jensnockert has joined #jruby
jensnockert has quit [Remote host closed the connection]
jensnockert has joined #jruby
jensnockert has quit [Remote host closed the connection]
jensnockert has joined #jruby
jensnockert has quit [Remote host closed the connection]
cristianrasch has quit [Quit: Leaving]
dinfuehr has joined #jruby
jensnockert has joined #jruby
drbobbeaty has joined #jruby
dinfuehr has quit [Ping timeout: 272 seconds]
shellac has joined #jruby
jensnockert has quit [Remote host closed the connection]
jensnockert has joined #jruby
cristianrasch has joined #jruby
shellac has quit [Quit: Computer has gone to sleep.]
<chrisseaton>
brauliobo: are you still there?
<brauliobo>
chrisseaton: yep!
<chrisseaton>
so what are you still stuck on?
<brauliobo>
actually I just woke up :)
<brauliobo>
it is 9h AM in brazil
<brauliobo>
so, the error happened when I tried to run jt run spec/ruby/core/hash/each_spec.rb
<brauliobo>
it asked me to install mspec
<chrisseaton>
Try just jt test spec/ruby/core/hash/each_spec.rb
shellac has joined #jruby
<brauliobo>
ok
<brauliobo>
chrisseaton: ok, it did run, no failures. but when I ran jt untag spec/ruby/core/hash/each_spec.rb it still found errors
<chrisseaton>
right, that makes sense
<chrisseaton>
there were errors, so nothing was untagged, and all the untagged specs still pass
<brauliobo>
hum, so jt test won't run tagged errors, ok
jensnockert has quit [Remote host closed the connection]
<brauliobo>
chrisseaton: so for fixing I should use jt untag, right?
<chrisseaton>
yes the idea is that jt test passes if everything we expected to pass, passed
<chrisseaton>
yes to fix specs, pick one, try to fix it, try untagging
<brauliobo>
ok
<chrisseaton>
in practice it's often better to reproduce a spec with complex bugs as a simple standalone file
jensnockert has joined #jruby
<brauliobo>
chrisseaton: about complex bugs, you remembered that I couldn't figure out how to run tests from gems, like activesupport
<chrisseaton>
yes we're working on a solution for that, but it's still a bit complicated as we don't run things like rake as they seem to be very intertwined with gems etc
<brauliobo>
ok
<chrisseaton>
try jt install-tool and then in ActiveSupport do jruby+truffle setup and then jruby+truffle -e rspec specs/spec.rb
<chrisseaton>
that's likely to break at the moment, but that's the idea
shellac has quit [Quit: Computer has gone to sleep.]
dinfuehr has joined #jruby
dinfuehr has quit [Ping timeout: 265 seconds]
pawnbox has joined #jruby
jensnockert has quit [Remote host closed the connection]
jensnockert has joined #jruby
yosafbridge has quit [Ping timeout: 240 seconds]
yosafbridge has joined #jruby
jensnockert has quit [Remote host closed the connection]
yfeldblum has quit [Ping timeout: 246 seconds]
jensnockert has joined #jruby
e_dub has joined #jruby
jensnockert has quit [Remote host closed the connection]
samphippen has joined #jruby
jensnockert has joined #jruby
jensnockert has quit [Remote host closed the connection]
jensnockert has joined #jruby
dinfuehr has joined #jruby
dinfuehr has quit [Ping timeout: 244 seconds]
samphippen has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
pawnbox has quit [Remote host closed the connection]
samphippen has joined #jruby
<GitHub41>
[jruby] jtulach commented on commit 053458a: I see. Plus returns a lambda. If I send INVOKE - will it be better? http://git.io/vZwDf
skade has quit [Quit: Computer has gone to sleep.]
samphippen has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
drbobbeaty has quit [Read error: Connection reset by peer]
drbobbeaty has joined #jruby
<GitHub108>
[jruby] chrisseaton commented on commit 053458a: Yes I think that would work - but I worry we're just trying random things until they work. Maybe we should have a document with what objects look like in different languages, and how they should respond to different messages, and then add tests for that to the TCK. I imagine in writing that document we would discover that some things are contradictory. http://git.io/vZwyn
dinfuehr has joined #jruby
dinfuehr has quit [Ping timeout: 252 seconds]
skade has joined #jruby
havenwood has joined #jruby
elia has joined #jruby
pawnbox has joined #jruby
skade has quit [Quit: Computer has gone to sleep.]
<brauliobo>
chrisseaton: for a failing spec, I would like to know what java code it reached, as currently I don't know many of the jruby truffle classes. Is there a profiling/debug to ease this learning?
drbobbeaty has quit [Read error: Connection reset by peer]
dinfuehr has joined #jruby
<chrisseaton>
brauliobo: it's not easy I'm afraid
<brauliobo>
chrisseaton: ok, just exploring the code here
<chrisseaton>
if you get an internal error (a real Java exception) you can see where that came from with -Xtruffle.exceptions.print_uncaught_java=true
<chrisseaton>
But unlike the JRuby JIT, there is not a single Java method for each Ruby method
dinfuehr has quit [Ping timeout: 244 seconds]
<brauliobo>
hum, ok
cristianrasch has quit [Remote host closed the connection]
<brauliobo>
chrisseaton: everything is new for now, I'm still having compilation problems. If I changed a java code, eclipse recompiles it, I see the .class updated, but the jt run will point to the same line I had changed. Is there a "linking" or other phase I'm missing?
<chrisseaton>
you need to run jt build - eclipse and intellij don't seem to be able to incrementally compiled JRuby
<chrisseaton>
you can do both at the same time with jt build run
<brauliobo>
jt build is failing with many "error: cannot find symbol" on jruby core, maybe I'll clean the build
<chrisseaton>
jt rebuild
<brauliobo>
ok
<brauliobo>
maybe eregon can latter add something on this
shellac has joined #jruby
elia has quit [Quit: Computer has gone to sleep.]
jensnockert has quit [Remote host closed the connection]
shellac has quit [Quit: Computer has gone to sleep.]
<brauliobo>
chrisseaton: there is a bunch of Gen suffixed methods (like ArrayReadSliceNormalizedNodeGen, AliasNodeGen), can this Gen suffixed be removed? I could send a PR for this
<brauliobo>
methods -> classes
<chrisseaton>
That's generated code - Gen is like a kind of Factory
<chrisseaton>
So there is AliasNode and so an AliasNodeGen to create it
<brauliobo>
chrisseaton: where can I find them?
<chrisseaton>
I think eclipse calls it src_gen, alongside src
<chrisseaton>
Or just use goto class
<brauliobo>
chrisseaton: nope, can't find using goto or src_gen
<brauliobo>
oops
<brauliobo>
wait
jensnockert has joined #jruby
<brauliobo>
chrisseaton: yeah, definetely eclipse can't find them, it issues a warning on places uses. also can't find with control+shift+t
<chrisseaton>
You'll have to ask eregon if he has a solution for this - or use IntelliJ
<chrisseaton>
I usually use IntelliJ for the Java and Sublime for the Ruby
<chrisseaton>
I can't figure out how to get IntelliJ to allow 2.0 syntax anyway
<brauliobo>
chrisseaton: but can I find it on the filesystem?
jensnockert has quit [Remote host closed the connection]
<chrisseaton>
truffle/target/generated-sources or something like that
<brauliobo>
ok
jensnockert has joined #jruby
<brauliobo>
chrisseaton: I've added lib/jruby-truffle.jar to the annotations jars and the warnings disappeared
<brauliobo>
chrisseaton: now I can't find the Impl suffixed classes
<chrisseaton>
That's because there's a second DSL and code generator, but that one is within the JRuby code base, so IDEs become confused about how to run it
<chrisseaton>
But they go in the same place
jensnockert has quit [Remote host closed the connection]
jensnockert has joined #jruby
dinfuehr has joined #jruby
dinfuehr has quit [Ping timeout: 244 seconds]
kares has quit [Remote host closed the connection]
brauliobo_ has joined #jruby
brauliobo has quit [Ping timeout: 255 seconds]
cristianrasch has joined #jruby
<brauliobo_>
chrisseaton: I've got the error "Truffle internal error: java.lang.VerifyError: Inconsistent stackmap frames at branch target" and I'm starting to understand that it is not possible to use an IDE for jruby development
<brauliobo_>
do you personally use?
<brauliobo_>
jt build is quite slow
dinfuehr has joined #jruby
<chrisseaton>
jt build truffle is quicker if you have just changed things in the Truffle package
<chrisseaton>
yes IDEs do not seem very compatible with some part of the Truffle Maven setup
<chrisseaton>
I don't think it's a Truffle thing - Truffle is really quite a conventional Java program until you combine it with Graal
<chrisseaton>
Personally I use IntelliJ to edit, but jt build to actually build
<chrisseaton>
NetBeans seems to let you build from within the IDE, but not tried it much beyond that
brauliobo has joined #jruby
dinfuehr has quit [Remote host closed the connection]
dinfuehr has joined #jruby
<brauliobo>
chrisseaton: I like vim to edit, so I will try not to use a java IDE
<chrisseaton>
That's fine - just try to match the existing code style
<chrisseaton>
But we're not style obsessed
brauliobo_ has quit [Ping timeout: 244 seconds]
jensnockert has quit [Remote host closed the connection]
dinfuehr_ has joined #jruby
dinfuehr has quit [Ping timeout: 264 seconds]
erikhatcher has joined #jruby
jensnockert has joined #jruby
cultureulterio-1 has quit [Read error: Connection reset by peer]
CustosL1m3n has joined #jruby
CustosL1men has quit [Ping timeout: 260 seconds]
havenwood has quit [Ping timeout: 264 seconds]
jensnock_ has joined #jruby
jensnockert has quit [Ping timeout: 256 seconds]
erikhatcher has quit [Quit: erikhatcher]
ebbflowgo has joined #jruby
pawnbox has quit [Ping timeout: 250 seconds]
<brauliobo>
chrisseaton: how to run all specs to see if my changed caused any regressions?
SynrG has quit [Read error: Connection reset by peer]
SynrG has joined #jruby
<brauliobo>
chrisseaton: I'm also having this error on the second jt build truffle (not using an IDE at all): [ERROR] Failed to execute goal on project jruby-truffle: Could not resolve dependencies for project org.jruby:jruby-truffle:jar:9.0.2.0-SNAPSHOT: Failed to collect dependencies at org.jruby:jruby-core:jar:9.0.2.0-SNAPSHOT: Failed to read artifact descriptor for org.jruby:jruby-core:jar:9.0.2.0-SNAPSHOT: Could not transfer artifact org.jruby:jruby-core:pom:9.0.
<brauliobo>
2.0-SNAPSHOT from/to sonatype (https://oss.sonatype.org/content/repositories/snapshots/): java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty -> [Help 1]
<chrisseaton>
jt test fast
<chrisseaton>
That doesn't run everything, but the CI will catch the rest
<chrisseaton>
It looks like something on your system's certificates or keys or whatnot doesn't like sonatype SSL
<brauliobo>
ok, gonna google about it
samphippen has joined #jruby
cristianrasch has quit [Quit: Leaving]
jensnock_ has quit [Remote host closed the connection]
drbobbeaty has joined #jruby
shellac has joined #jruby
drbobbeaty has quit [Read error: Connection reset by peer]
jensnockert has joined #jruby
dinfuehr_ has quit [Remote host closed the connection]
shellac has quit [Quit: Computer has gone to sleep.]
<ebbflowgo>
codefinger: thanks man
erikhatcher has joined #jruby
<chrisseaton>
brauliobo: you need to consider performance when changing something as important as Array#min/max - I think those might be in Java for a reason
<chrisseaton>
I'm afraid
<brauliobo>
chrisseaton: yeah, I need some background on that
<brauliobo>
chrisseaton: I see rubinius files make startup time bigger right, as they are not cached like java .class?
<brauliobo>
chrisseaton: or they also run slower?
ebbflowgo has quit [Ping timeout: 244 seconds]
<chrisseaton>
yes we're working on ideas for startup
<chrisseaton>
on an internal build we have startup is less than 100ms
<chrisseaton>
see the jt commands on bench reference and bench compare
<chrisseaton>
find a benchmark that uses min and max (not sure which do - search for it maybe) and then do reference on master and compare on your branch
rsim has joined #jruby
shellac has joined #jruby
<brauliobo>
chrisseaton: ok, so I don't have to worry about the startup time, just the runtime
yfeldblum has joined #jruby
<chrisseaton>
yeah, we are focused on what I'd call 'peak temporal performance' - how fast it it at it's fastest
<GitHub121>
[jruby] brauliobo opened pull request #3322: [Truffle] Use Array#{max,min} from rubinius (master...test-array-max-min) http://git.io/vZo7c
<brauliobo>
chrisseaton: the errors are there
<brauliobo>
chrisseaton: oops, just edited with the benchmark used
<chrisseaton>
That's a Graal compiler bug - I'll have to look into that
<chrisseaton>
When you use Rubinius code for things like #max you pull in a whole world of complexity - things like recursion guards etc etc, so there is probably something really complicated being compiled and it's failed
<brauliobo>
chrisseaton: the same errors occurs with the original version
<chrisseaton>
ok i'll experiment - might not be for a few days though
<brauliobo>
chrisseaton: no problem
<brauliobo>
chrisseaton: but you see there were no performance drawbacks?
<chrisseaton>
well the code isn't being successfully being compiled, so we can't say for sure yet
<brauliobo>
chrisseaton: hum, right
<chrisseaton>
could I trouble you to open a bug showing the failure with the unmodified code?
<brauliobo>
no problem
<brauliobo>
will issue it now
<brauliobo>
chrisseaton: at jruby repo?
<chrisseaton>
yeah thanks
<GitHub172>
[jruby] brauliobo opened issue #3323: [Truffle] Many java.lang.StackOverflowError errors http://git.io/vZods
<brauliobo>
ok, thanks chrisseaton, a lot of learning today
<chrisseaton>
If you want to get an idea of what might be wrong - look at -J-G:+TruffleCompilationExceptionsAreFatal and maybe -J-G:-GraphPE
<brauliobo>
ok
_ko1 has joined #jruby
jensnockert has quit [Remote host closed the connection]
<brauliobo>
chrisseaton: -J-G:-GraphPE gave something more meaningful
<brauliobo>
chrisseaton: it seems the problem is in the inlining process
<brauliobo>
which debug you recommend?
<brauliobo>
debugger
jensnockert has joined #jruby
<chrisseaton>
You can just attach Eclipse if you want, but TBH I doubt you will be able to determine what the problem is - I probably wouldn't be able to
<brauliobo>
chrisseaton: yeah, I won't try it know
<brauliobo>
need time for this
jensnockert has quit [Remote host closed the connection]
jensnockert has joined #jruby
byteit101 has quit [Remote host closed the connection]