mrmargolis has joined #jruby
x1337807x has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
x1337807x has joined #jruby
bjfish2 has quit [Quit: bjfish2]
mrmargolis has quit [Remote host closed the connection]
yfeldblu_ has joined #jruby
x1337807x has quit [Ping timeout: 255 seconds]
yfeldblum has quit [Ping timeout: 256 seconds]
mrmargolis has joined #jruby
mrmargolis has quit [Remote host closed the connection]
rcvalle has quit [Quit: rcvalle]
pjammer has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
marr has quit [Ping timeout: 256 seconds]
pjammer has joined #jruby
_djbkd has quit [Quit: My people need me...]
camlow325 has quit []
lance|afk is now known as lanceball
jeremyevans has joined #jruby
bjfish2 has joined #jruby
havenwood has quit [Remote host closed the connection]
pjammer has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
mrmargolis has joined #jruby
bjfish2 has quit [Quit: bjfish2]
havenwood has joined #jruby
yh has quit [Ping timeout: 240 seconds]
phrinx has quit [Remote host closed the connection]
mitchellhenke has quit [Quit: Computer has gone to sleep.]
nateberkopec has quit [Quit: Leaving...]
KevinCorcoran has quit [Remote host closed the connection]
zorak8 has quit [Remote host closed the connection]
mitchellhenke has joined #jruby
zorak8 has joined #jruby
KevinCorcoran has joined #jruby
KevinCorcoran has quit [Remote host closed the connection]
havenwood has quit []
oko has joined #jruby
mitchellhenke has quit [Quit: Computer has gone to sleep.]
yh has joined #jruby
zorak8 has quit [Quit: Leaving]
zorak8 has joined #jruby
KevinCorcoran has joined #jruby
nirvdrum has quit [Ping timeout: 246 seconds]
yosafbridge has quit [Ping timeout: 265 seconds]
KevinCorcoran has quit [Remote host closed the connection]
yosafbridge has joined #jruby
yfeldblu_ has quit [Remote host closed the connection]
yfeldblum has joined #jruby
colinsurprenant has quit [Quit: colinsurprenant]
mrmargolis has quit [Remote host closed the connection]
bjfish2 has joined #jruby
mitchellhenke has joined #jruby
yfeldblum has quit [Ping timeout: 256 seconds]
dinfuehr has joined #jruby
phrinx has joined #jruby
_whitelogger has joined #jruby
bjfish2 has quit [Quit: bjfish2]
skade has quit [Read error: Connection reset by peer]
skade has joined #jruby
_whitelogger has joined #jruby
dinfuehr has quit [Remote host closed the connection]
dinfuehr has joined #jruby
dinfuehr has quit [Ping timeout: 276 seconds]
subbu has joined #jruby
yfeldblum has joined #jruby
subbu has quit [Ping timeout: 272 seconds]
yfeldblum has quit [Read error: Connection reset by peer]
dinfuehr has joined #jruby
yfeldblum has joined #jruby
sebastianedwards has quit [Remote host closed the connection]
subbu has joined #jruby
phrinx has joined #jruby
phrinx_ has quit [Ping timeout: 276 seconds]
rsim has joined #jruby
subbu has quit [Ping timeout: 265 seconds]
dinfuehr has quit [Remote host closed the connection]
dinfuehr has joined #jruby
ponga has joined #jruby
phrinx has quit [Remote host closed the connection]
phrinx has joined #jruby
dinfuehr has quit [Ping timeout: 256 seconds]
zorak8 has quit [Ping timeout: 264 seconds]
dinfuehr has joined #jruby
phrinx has quit [Ping timeout: 272 seconds]
dinfuehr has quit [Quit: Leaving...]
dinfuehr has joined #jruby
shellac has joined #jruby
cprice404 has joined #jruby
marr has joined #jruby
jph98 has joined #jruby
mister_solo has joined #jruby
arturaz has joined #jruby
jph98 has quit [Client Quit]
jph98 has joined #jruby
keeguon has joined #jruby
skade has joined #jruby
skade has quit [Read error: Connection reset by peer]
yh has quit [Ping timeout: 272 seconds]
shellac has quit [Quit: Computer has gone to sleep.]
mister_solo has quit [Ping timeout: 246 seconds]
mister_solo has joined #jruby
travis-ci has joined #jruby
<travis-ci> jruby/jruby (jruby-1_7:757f249 by Christian Meier): The build was fixed. (http://travis-ci.org/jruby/jruby/builds/61214034)
travis-ci has left #jruby [#jruby]
jph98 has quit [Quit: jph98]
dinfuehr has quit [Remote host closed the connection]
jph98 has joined #jruby
ryez has joined #jruby
jph98 has quit [Quit: jph98]
mister_solo has quit [Ping timeout: 252 seconds]
drbobbeaty has joined #jruby
mister_solo has joined #jruby
shellac has joined #jruby
mister_s_ has joined #jruby
mister_solo has quit [Ping timeout: 245 seconds]
keeguon has quit [Quit: keeguon]
keeguon has joined #jruby
skade has joined #jruby
skade has quit [Client Quit]
yosafbridge has quit [Ping timeout: 248 seconds]
vtunka has joined #jruby
skade has joined #jruby
yh has joined #jruby
skade has quit [Read error: Connection reset by peer]
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
skade has joined #jruby
vadviktor has quit [Remote host closed the connection]
vadviktor has joined #jruby
dinfuehr has joined #jruby
dinfuehr has quit [Ping timeout: 246 seconds]
<TheBrayn> how can I install the latest version of jruby (the beta) with rvm?
yosafbridge has joined #jruby
ryez has quit [Ping timeout: 246 seconds]
yosafbridge has quit [Ping timeout: 248 seconds]
pjammer has joined #jruby
yosafbridge has joined #jruby
skade has quit [Read error: Connection reset by peer]
keeguon has quit [Quit: keeguon]
vikaton has joined #jruby
dinfuehr has joined #jruby
dinfuehr has quit [Ping timeout: 264 seconds]
vtunka has quit [Quit: Leaving]
yosafbridge has quit [Ping timeout: 248 seconds]
drbobbeaty has joined #jruby
skade has joined #jruby
keeguon has joined #jruby
rsim1 has joined #jruby
rsim has quit [Ping timeout: 265 seconds]
yosafbridge has joined #jruby
colinsurprenant has joined #jruby
yosafbridge has quit [Ping timeout: 248 seconds]
dinfuehr has joined #jruby
yosafbridge has joined #jruby
dinfuehr has quit [Ping timeout: 246 seconds]
pjammer has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] dzjuck opened issue #2907: Hash#take_while wrong behavior in 1.7.9 http://git.io/vJ1kM
JRubyGithub has left #jruby [#jruby]
shellac has quit [Remote host closed the connection]
pjammer has joined #jruby
marr has quit [Ping timeout: 264 seconds]
nirvdrum has joined #jruby
tcrawley-away is now known as tcrawley
keeguon has quit [Quit: keeguon]
keeguon has joined #jruby
<headius> hah, the Cameron voice
<headius> TheBrayn: I really hope you're Tim Bray, because that would be a great nickname
<headius> TheBrayn: rvm install jruby-9.0.0.0.pre2 should work if rvm has been updated (and maybe if it hasn't)
<headius> rvm install jruby-head isn't far ahead of that
bbrowning_away is now known as bbrowning
pjammer has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
nateberkopec has joined #jruby
yosafbridge has quit [Ping timeout: 248 seconds]
<nirvdrum> Well, I got a couple things working for Windows in jnr-posix last night. But the tests make some bad assumptions that are going to require some work to clean up, unfortunately.
yosafbridge has joined #jruby
yh has quit [Ping timeout: 240 seconds]
yfeldblum has quit [Ping timeout: 265 seconds]
yosafbridge has quit [Ping timeout: 256 seconds]
<headius> I figured the last big push before RC1 would be getting tests running on Windows
<headius> we've done that for previous big releases
dinfuehr has joined #jruby
<nirvdrum> The two biggest problems I've encountered are: 1) Windows doesn't let you delete open files; and 2) the private fd field in FileDescriptor is always -1 on Windows.
<nirvdrum> The first one is annoying, but it's how Windows works. I split the unlink test for a Windows and non-Windows variant.
<nirvdrum> The second problem is arguably a failing of our test suite. But other than making other jnr calls, I'm not sure how you'd get a FD any other way.
yosafbridge has joined #jruby
dinfuehr has quit [Ping timeout: 256 seconds]
vtunka has joined #jruby
<nirvdrum> headius: Why doesn't JavaPOSIX implement most of the methods?
<nirvdrum> Technical reasons? Or someone just didn't get to it?
bjfish2 has joined #jruby
enebo has joined #jruby
havenwood has joined #jruby
yh has joined #jruby
colinsurprenant has quit [Quit: colinsurprenant]
vtunka has quit [Quit: Leaving]
vtunka has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] bjfish pushed 1 new commit to master: http://git.io/vJ1DZ
<JRubyGithub> jruby/master 485de9e Brandon Fish: [Truffle] Add Errno::EACCES for File.open
JRubyGithub has left #jruby [#jruby]
<headius> nirvdrum: at some point they started to get harder to come up with Java equivalents for
<headius> and we started to rely on native version more
mrmargolis has joined #jruby
subbu has joined #jruby
<enebo> nirvdrum: you rock out with jnr-posix on windows?
<headius> ugh..."bug" preventing me from landing this Match refactoring turned out to be a file in cwd that matched one a test tried to load
<headius> enebo: review?
bjfish2 has quit [Quit: bjfish2]
<enebo> BUG
<enebo> headius: testing release bits
<enebo> headius: so no bug anymore?
<enebo> headius: send me a link and I will looksee
ponga has quit [Quit: Leaving...]
ponga has joined #jruby
<headius> 9k thing but yeah
<enebo> headius: yeah I just saying I am trying to get it out so I am not in full on review mode
<headius> yeah no worries, it's not a big deal
<enebo> hahah buildMatch3
<enebo> headius: then nirvdrum will follow up and make that consistent
<headius> hahah
<headius> yeah I will add a comment there
colinsurprenant has joined #jruby
subbu has quit [Ping timeout: 265 seconds]
<enebo> headius: yeah looks great. The best part is this puts us under 7bits worth of operations again
<enebo> headius: well no the best part is this is simpler altogether
<headius> I'm not sure it's supposed to always dyncall but I didn't really see a reason not to
<headius> and it obviously simplifies everything
<headius> yeah MRI has checks for replaced/overridden methods on Regexp, but they also don't have a call site for match
<headius> enebo: I can only find regexpmatch1 and regexpmatch2 in MRI insns.def but 1 looks like our 3 did
<headius> their 1 checks if Regexp has methods altered, dyncalling if so
<enebo> headius: so semantically we may have to split back to two at worst case if something weird falls out
<headius> their 2 checks if arg is a String and not modified, dyncalling against the pattern if so
<enebo> headius: of course you reduced interp perf on this but if it is hot we should depend on JIT
pierreatkillbill has joined #jruby
<headius> the behavioral difference would be if calling String's =~ directly is significantly different than calling Regexp =~ dynamically...I don't think that's the case, since String#=~ just slips the dispatch
<headius> slips=flips
<enebo> headius: It is interesting to see how much semantics are affected by the implementation underneath
<headius> yeah
<enebo> headius: but there is one unimportant semantic change…it is now visible in JRuby that =~ is being called but not in MRI
<headius> I almost could have eliminated Match and just used a call
yosafbridge has quit [Ping timeout: 248 seconds]
<headius> enebo: that's true...it will show up for profiling and tracing
<enebo> headius: yeah but you still need to mark the scope as updating $~ although you could have made a call and manually difd that during build time rather than letting an instr do it
<headius> CallBase would just need to see it's =~ or ~ as the method to flag it
<headius> but yeah
<enebo> headius: another impl change of this is match is now mark is_call internally
<headius> I think it will be useful to have it separate since this is one of those explicit $~ cases
<enebo> headius: but I think this is potentially more correct since it may really end up being a call
<enebo> headius: well it is always a call now but I mean before
<headius> what effect does that have on things?
<temporal_> headius hello
<headius> temporal_: good day sir
<enebo> headius: yeah I don’t remember but it cannot be a big deal virtually no scopes don’t contain calls so it won'
<enebo> t affect scope-level opts
<enebo> excuse my double negatives :)
<temporal_> headius I have to port some specific behavior from vert.x 2 jruby integration to vert.x 3 and I am wondering the best way to do it
<temporal_> headius is it possible to get some explanation and see if there is a better way to do it ?
<headius> enebo: it looks like we're getting the right opto still... just a frame for $~
<headius> temporal_: sure, fire away
<headius> enebo: pushing
<temporal_> headius there are two specific features, I will start with global variable isolation
marr has joined #jruby
<enebo> headius: yeah I still would like to somehow decompose regexp into something finer-grained so we can see $~ and if not used eliminate it
<temporal_> headius the V2 code wraps the verticle in a module and that seems to create isolation with the same ScriptingContainer
<headius> enebo: if that took the form of explicit load/stores around $~ aware calls it would work
<temporal_> headius I don't understand how that works actually
<enebo> headius: yeah I think $~ is solvable unlike $_
<headius> enebo: any more than two $~ aware methods in a body, though, and I think it needs to live
<headius> we can't see through the dyncall for static opto anyway
<temporal_> headius does it ring a bell ?
<headius> enebo: $_ is used so little I almost want to try making it thread-local
<enebo> headius: yeah I think it requires inlining to work well too
<temporal_> headius the idea behind that is to get scope per script within the same ScriptingContainer
<headius> temporal_: ok
<headius> there's nothing really wrong with this
<temporal_> headius I tried with normal ruby and that does not work
yosafbridge has joined #jruby
bjfish2 has joined #jruby
<headius> do you want to be using globals?
<temporal_> headius the wanted behavior is to have private scope globals per verticle
<headius> without a container-per-verticle?
mitchellhenke has joined #jruby
<temporal_> with two verticles
<headius> what you have in the ruby won't isolate anything because those are global variables
<temporal_> headius according to the comment and the unit test, this isolates global variables
<headius> temporal_: hmmm
<headius> I guess I'm still confused why it's using globals like this at all
<headius> if every verticle instantiation created a Ruby object to hold state they'd be isolated normally
<headius> does the whole jruby vert.x integration use $ vars?
<temporal_> it uses a $vertx var
<temporal_> it's more about if a verticle declares a global var then this global var should remain private to this verticle
<headius> then I'd use a separate container for separate verticle
<headius> refresh my memory...is a verticle instantiated once in the server or once per request?
<temporal_> headius once in the server
<headius> then yeah, separate containers would be WAY easier to manager
<temporal_> Tim does not want to make a container per verticle because it is too heavywieght according to him
<headius> a verticle is roughly equivalent to a deployed app, yes?
<temporal_> it's finer grained
<temporal_> rather an app is composed of one to many verticles
<headius> so they might be smaller services then
<headius> integrated via vert.x, ok
<temporal_> indeed
<headius> well, fighting global visibility is a bit of a losing cause
<temporal_> is this "module" wrapper really going to create private global vars ?
<headius> no, it won't do anything like that
<temporal_> so why is this test passing ?
<headius> the scripting container is likely set up to have separate calls get separate global namespaces, via an indirection
<temporal_> can you elaborate ?
<headius> I can elaborate, but there's a number of issues here
<headius> hm, I see container.clear AND the global runtime clearing
<headius> so this is using a global runtime with global variables and using extra logic in our embedding API to isolate those globals
<headius> temporal_: is $vertx the same for all JRuby verticles loaded?
<headius> and where is the ruby code for the jruby stuff?
<temporal_> yes but it could be several instances wrapping the same real vertx
<temporal_> at the end $vertx is a wrapper for vertx instance
<headius> temporal_: I'm trying to understand how much work it would be to just not use globals in this code
<headius> because that's the correct fix
<temporal_> that's the hand written api
<headius> use objects, they carry per-verticle state, and invoking them is just calling down into the object
<temporal_> the issue is not the $vertx
<temporal_> the issue is that each deployed verticle can declare globals
<temporal_> and they should remain private somehow to each verticle
<enebo> headius: fuzzily I think there was something about jsr223 and ability to pass in globals as map without having to recreate them
<headius> temporal_: why
<temporal_> because that's the wanted behavior :-)
<headius> to that I say "don't use globals, because Rubyists never use globals in any real apps"
<headius> temporal_: you can't have that
<headius> how's that for an answer :-D
<headius> so the impl itself doesn't depend on globals being isolated, yes?
<temporal_> so we have this for vert.x 2 and it seems to magically work
<temporal_> no the api wrapper is not affected by the the global
<temporal_> there is just a global $vertx object
<headius> ok
<temporal_> that is used then to create things like http servers, etc...
<headius> enebo: yeah, there's 223 behavior, BSF behavior, and then deeper config changes you can make
<headius> temporal_: so the same code does not work on what exactly?
<headius> vertx3? jruby 1.7.20?
<headius> I need to understand what needs to be fixed
<headius> or converted
<temporal_> I tried to put $ vars in a module with normal ruby
<temporal_> and that did not see mto work like it is supposed to do with vertx 2
<enebo> headius: yeah. I am suggesting it may have been that way at some point to not have to recreate n runtimes if you had a n maps containing a single $vertx in each
<temporal_> perhaps i should investigate more this vertx 2 global thing
<temporal_> and trace the code
<headius> temporal_: and what has changed between the two
<headius> that's what I need to understand
<enebo> headius: if so then this would be a single container passing in the global map per call/scriptlet
<headius> I'm guessing the way the JRuby instance is being created does not isolage globals anymore in vertx3
<headius> so that's the code to investigate
<headius> enebo: I assume vertx2 embedded JRuby one way and vertx3 does it a different way, and they're just configured differently for globals
<temporal_> would it be possible to plug the behavior of the global variable resolution ?
<headius> temporal_: it is, if we can see where in vertx2 and 3 they launch JRuby so we can see the difference
<enebo> headius: yeah that would make sense since we have not changed any behavior for this stuff
<temporal_> headius can you point to me the API for doing that ?
<headius> temporal_: ScriptingContainer.new can take a LocalVariableBehavior enum
<temporal_> ok
<temporal_> and then ?
<headius> that governs top-level local vars and $ globals
<headius> trying to see which one's the right one for you
<temporal_> the best option I think would be to proivde my own resolver
<temporal_> and scope according to the current verticle running
<temporal_> but that does not seem plugable
<temporal_> LocalContextProvider does not seem changeable
<headius> that's vertx3 yes?
<temporal_> that's vertx 2
<headius> does this exist in 3 yet, or is that what you're trying to do right now?
<temporal_> it does not exist yet
<temporal_> no I'm not trying to do that at all
<headius> ok, why don't we start from the top...what are you trying to do? :-)
<temporal_> I would like to have a $ global variable scoped per verticle deployed
<temporal_> verticles share the same ScriptingContainer
<temporal_> in vert.x 2 that seems done using a module that wraps the actual verticle source code
<temporal_> StringBuilder svert = new StringBuilder( "require 'core/vertx_require'\n").append("module ").append(modName).append(";extend self;");
<headius> right, that code should never have done anything to isolate globals
<headius> at least not the anonymous module part of it
<bbrowning> yeah that has zero to do with globals
<temporal_> the comment says
<temporal_> "Read the whole file into a string and wrap it in a module to provide a degree of isolation"
<bbrowning> isolation not of globals though - only of other stuff
<bbrowning> and that isolation is VERY leaky
<headius> it will isolate *local* variables, methods, and nested classes/modules, but not globals
<temporal_> ok
<temporal_> I see however a unit test in vertx 2 that seems to prove it though :-)
<bbrowning> then the test is wrong :)
<headius> right, something else explains that
<headius> so it's a 1.7 scripting container, SingleThread isolation (which means it's just a normal non-global runtime)
erikhatcher has joined #jruby
<headius> (these names are not good, we know)
<temporal_> here is what the test does
<temporal_> sorry I will paste some ruby code here
<bbrowning> maybe use a gist?
<temporal_> and annoy maybe people but it's simpler
<temporal_> ok
<bbrowning> or link to github?
<temporal_> but that"s convoluated
<temporal_> because it's java code deploying ruby vertiles
<headius> this constructor uses TRANSIENT LocalVariableBehavior, which would mean each call into the container has separate local/global variables I think
<temporal_> taht sens messages over the event bus
<temporal_> to do tests :-)
<headius> the test likely just makes two *separate* calls
<bbrowning> temporal_: the jruby implementation in vertx 2 had quite a few bugs, so you probably don't want to try to match it too closely
<temporal_> headius so that would explain this
<headius> that's my guess at the moment
<temporal_> bbrowning unit tests will save me from this hell :-)
<temporal_> headius question is why somthing called "LocalVariableBehavior" governs the behavior of global variables ?
<temporal_> I've tried to do a similar test locally in vertx 3 and I use the same constructor though
<temporal_> it does not seem to work
<temporal_> anyway here is the test
<bbrowning> I still don't see what's wrong with using the JRuby runtime as the isolation if you need this kind of isolation
<headius> temporal_: because in either BSF or 223 they called what are essentially globals, locals
<headius> because they were thinking from a javascript perspective
<temporal_> and the java deploys first the client_1 then client_2
<temporal_> then do
<temporal_> test_isolated_global_init1_1
vtunka has quit [Quit: Leaving]
<temporal_> test_isolated_global_init1_2
<headius> javascript doesn't have local variables, it just has less-visible variables in deeper lexical scopes
<temporal_> test_isolated_global1
<headius> in a way
<headius> ok
vikaton has quit []
<headius> temporal_: where's the runtime init logic in 3
<headius> bbrowning: the verticles are sized more like actors, so that would be a lot of memory overhead for each
<headius> # Globals should be visible between verticles of same type
<temporal_> for vert.x 3
<bbrowning> headius: then you have to give up isolation, right? of more than just globals
<bbrowning> all the things jruby shares internally that's tied to a Ruby instance
<bbrowning> loaded features, class caching, java proxy objects, etc etc?
<headius> invokeAsync
<headius> is that or something like it used for calls into the verticle?
<headius> bbrowning: yes
<headius> we can do something for globals but not contants or existing classes
<headius> interesting weekend project: boot parallel, independent core class namespaces within a single jruby
drbobbeaty has quit [Read error: Connection reset by peer]
<temporal_> Tim told me that the module wrapping is done for isolating module/classes indeed
<temporal_> I have no answers yet about global vars :-)
<headius> temporal_: isolating those namespaces makes sense
drbobbeaty has joined #jruby
<headius> temporal_ how does the test make those calls?
<headius> to test_isolated_global_init*
pjammer has joined #jruby
<temporal_> via the event bus
<temporal_> it sends a message
<temporal_> to the verticle that registred an event handler
<temporal_> for testing
<headius> how does the event bus call into the container
<headius> temporal_: what I'm trying to get at: global isolation for a container happens via the container's runScriptlet and similar
<headius> if vertx3 is calling more directly, like with an object in hand using callMethod, it would bypass the global isolation logic
rsim has joined #jruby
<headius> and FWIW even the old module isolation is not going to hide everything
<headius> you can still define a top-level class or module by reopening object or doing class ::EveryoneCanSeeMe
<headius> or something like that
<temporal_> so runScriplet can have its own global scope ?
<headius> runScriptlet does a lot of indirection to isolate you from both the runtime and the runtime's normal globals table
<nirvdrum> enebo: Sorry, I didn't get to Match3 yet. On the docket.
<nirvdrum> enebo: I did get some jnr-posix going on Windows yesterday.
<nirvdrum> Reposting some feedback from before you were online:
<nirvdrum> <nirvdrum> The two biggest problems I've encountered are: 1) Windows doesn't let you delete open files; and 2) the private fd field in FileDescriptor is always -1 on Windows.
<nirvdrum> <nirvdrum> The first one is annoying, but it's how Windows works. I split the unlink test for a Windows and non-Windows variant.
<nirvdrum> <nirvdrum> The second problem is arguably a failing of our test suite. But other than making other jnr calls, I'm not sure how you'd get a FD any other way.
<enebo> nirvdrum: totally fine since headius only just landed his changes
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] bjfish pushed 1 new commit to master: http://git.io/vJMlt
<JRubyGithub> jruby/master 4f26529 Brandon Fish: [Truffle] Add mri test_logger with excludes
JRubyGithub has left #jruby [#jruby]
<headius> private fd field shouldn't be used normally on Windows because most of the native IO stuff is disabled
<headius> if we want to get more of it working, there's a handle field we'd used to get the fd
rsim1 has quit [Ping timeout: 265 seconds]
<enebo> nirvdrum: There is some weird fd to handle stuff in MS libc support but those same files I think have a HANDLE field
<nirvdrum> headius: This is just how the jnr-posix test suite is structured. A lot of tests try to get the FD from a channel via FileDescriptor and reflection.
<enebo> err FileDescriptor I think has HANDLE on windows
<headius> ahh you mean actually jnr-posix tests
<nirvdrum> Yeah.
<enebo> oh heh headius just said same thing as I
<enebo> nirvdrum: anyways you are correct on both counts
<headius> yup, I don't remember if those have ever run on Windows, but I assume they have
<headius> I mean I assume some of jnr-posix tests must have run
<enebo> nirvdrum: you can try mapping fd to HANDLE crap but real native on windows should just use handle
<enebo> headius: they did until you added all those fd-related stuff for io rewrite
<nirvdrum> enebo: Okay, I do see a handle value. Is that just an HWND value? Or is that a legitimate FD?
<headius> enebo: ahh sure
<headius> I haven't seen HWND in a long time
<headius> HWND is a handle to a win32 window
<enebo> headius: you were a good citizen and wrote unit tests for them so it is good breakage :)
<temporal_> and I get 1 then 2
<headius> enebo: what a good boy am I
<nirvdrum> headius: Ahh, right. I thought it was one of those overloaded things.
<nirvdrum> I guess it's FILE or something silly. I should just go get my book.
<headius> nirvdrum: I don't remember what they call file handles but in the end there's a handle-to-fd API
<headius> some win32 call we just need to map for getting fd out of FileDescriptor's handle
<headius> wouldn't it be nice if they did it for us
<nirvdrum> Cool. I'll look into that.
<enebo> nirvdrum: I am not sure but I think it is really called HANDLE too? HWND may be same thing but it is more or less a void * to indirect memory access
<nirvdrum> I just moved this book out of my office to storage, too. I haven't opened it in years.
<headius> I'm pretty sure the field is "handle
<headius> "
<enebo> handles in windows are used to indirect all sorts of things
<nirvdrum> 1,435 pages, excluding the index.
<headius> temporal_: has jruby verison changed between your two envs?
<temporal_> I'm using 1.7.18 in V3 at the moment
<headius> and in v2?
<temporal_> let me check
<enebo> nirvdrum: like handles are used as references to windows and things like that too
<temporal_> headius 1.7.13
<enebo> oh god I know some window shit…I promised myself I would not let this happen
<nirvdrum> enebo: Yeah.
<temporal_> headius and that gives the same result
<headius> temporal_: ok
<headius> hmm
<nirvdrum> It looks like _open_osfhandle is it.
<nirvdrum> And it's used elsewhere in the codebase.
vtunka has joined #jruby
<nirvdrum> Updating JavaLibCHelper might be enough.
pjammer has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<bga57> headius, is there anything I can look at for the freebsd chmod issue I reported?
<headius> bga57: can you write a test and show it failing?
<headius> that would help
<bga57> It's failing one of the MRI tests.
<headius> link me your issue
<headius> I think I remember but not sure
<headius> nirvdrum: sounds right
<headius> temporal_: hmph
fuzzyhorns1 has joined #jruby
<headius> ahh right that one
pjammer has joined #jruby
<fuzzyhorns1> newb query: is there any way i can keep a jvm up and send jruby programs to it?
<fuzzyhorns1> (so that each jruby run doesnt mean booting the jvm?) im failing at googling this
<headius> bga57: ahh right...do you think you could write a test in jnr-posix for this?
<headius> so we could narrow it down to whether it's jnr-posix binding of chmod or jruby's use of it
<headius> fuzzyhorns1: drip or nailgun
<headius> drip spins up vm N + 1 when you start a command for N, so the next one's ready
<headius> nailgun maintains a persistent JVM as a server and tosses it commands
<fuzzyhorns1> oh neat
<headius> both are supported directly in JRuby
<fuzzyhorns1> awesome! thanks headius ill check those out
<fuzzyhorns1> you guys are always so helpful :)
<headius> jruby startup time wiki page has some additional links for you
<bga57> When I try to build jnr-posix, I get two failures, in testSendRecvMsg_NoControl and testSendRecvMsg_WithControl, but I haven't opened an issue yet.
<headius> temporal_: so bottom line is that this test doesn't work in vertx3 and we can't figure out why it worked in 2
<temporal_> headius yes
<headius> temporal_: I'm still curious where the event gets dispatched back into the jruby container
<temporal_> it is dispatched because it receives an eventfrom the bus
<bga57> both with: java.lang.UnsupportedOperationException: unimplemented method: allocateMsgHdr
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] bjfish pushed 1 new commit to master: http://git.io/vJM2D
<JRubyGithub> jruby/master 1e80aa2 Brandon Fish: [Truffle] Add find to stdlib
JRubyGithub has left #jruby [#jruby]
<temporal_> there is @tu.register_all(self)
<temporal_> that register the methods for callback on the event bus using the method names
<temporal_> doing "test_isolated_global_init1_1" calls the test_isolated_global_init1_1 via a message
<headius> has that changed in vertx3?
<headius> i.e. the way it registers for events
shellac has joined #jruby
erikhatcher has quit [Quit: erikhatcher]
<temporal_> headius no, we just run test differently
<headius> so if I'm reading right, the event handler -- a Ruby class that implements org.vertx.core.java.Handler, is registered with the bus
<temporal_> at an address
<headius> right
<temporal_> each method is registered at an address
<headius> events are delivered by calling handle(message) with the test method names above
<headius> yes so far?
<temporal_> yes
<temporal_> def register_all(object)
<temporal_> methods = object.methods
<temporal_> methods.each do |meth|
<temporal_> if meth.to_s.start_with? 'test_'
<temporal_> register(meth) {
<temporal_> object.method(meth).call
<temporal_> }
<temporal_> end
<temporal_> end
<temporal_> end
<headius> use gist for anything more than a couple lines
<temporal_> :) ues
<temporal_> yes
<headius> right ok
<temporal_> that means 5 keyboaeds interactions for me :-)
<headius> what has changed in the test running?
<temporal_> we don't use event bus anymore
KevinCorcoran has joined #jruby
<headius> well that could be related :-)
fuzzyhorns1 has left #jruby [#jruby]
<headius> how does it do it now?
KevinCorcoran has quit [Remote host closed the connection]
<temporal_> headius why would it be related ?
<temporal_> now I have jsut done a simple test that uses a callback registered to a static Runnable of a java class
<temporal_> I deploy 2 verticles that setup a global
<temporal_> and I use the runnable to print the global value in the first verticle
<temporal_> similar to the previous gist I gave
<headius> right
<headius> and it's not isolated
<temporal_> except the previous gist does not use vert.x at all
<headius> what i'm saying is that the way the tests are run could explain what changed
<headius> at this point it seems like you've narrowed it down to something in vertx code, since same jruby version behaves differently in vertx3 versus 2
<headius> the module code does not isolate globals, so that's a red herring
<headius> dispatch of the tests has changed in vertx3, so that's a suspect
<temporal_> headius I may also produce a wrong test at the moment :-)
<headius> ok...I think you should focus on how the tests are being dispatched and try to reduce this more
<temporal_> headius ok let me investigate this more deeply
<headius> ahh, we are in agreement :-)
<headius> and don't trust anything I said about container isolation because I never use that stuff
<headius> I'm inferring from the container impl, so you'd do just as well
<headius> my guess is that it all comes down to difference in how the tests are run
<temporal_> headius ok
skade has quit [Read error: Connection reset by peer]
<temporal_> headius how about jruby 1.7.20 release btw ?
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] headius pushed 1 new commit to master: http://git.io/vJMPa
<JRubyGithub> jruby/master 8d67e58 Charles Oliver Nutter: Refactor three match instrs to one and always dyncall.
JRubyGithub has left #jruby [#jruby]
<headius> temporal_: as we speak
<temporal_> great
camlow325 has joined #jruby
erikhatcher has joined #jruby
<headius> enebo: we're using rc1 as next bug milestone, right?
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] headius closed issue #2905: Different Regexp behavior from MRI http://git.io/vJlQh
JRubyGithub has left #jruby [#jruby]
<headius> nirvdrum: ^
<enebo> headius: I think we should be that optimistic but we can always edit it
camlow32_ has joined #jruby
<enebo> headius: I realized there was an edit button because the issues script required milestons to be prefixed with JRuby so I just changed the last two mileston names
<headius> ok
camlow325 has quit [Ping timeout: 264 seconds]
<nirvdrum> headius: Thanks.
<nirvdrum> I'll go through and remove the need for "// This reversal is intentional"
<nirvdrum> bjfish2: I'm working on adding rename to jnr-posix right now.
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] enebo pushed 1 new commit to jruby-1_7: http://git.io/vJM94
<JRubyGithub> jruby/jruby-1_7 3086e6a Thomas E. Enebo: Bump for version
JRubyGithub has left #jruby [#jruby]
<headius> exciting
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] enebo tagged 1.7.20 at jruby-1_7: http://git.io/vJM9V
JRubyGithub has left #jruby [#jruby]
<nirvdrum> headius: How do the jnr-posix snapshots get published?
<headius> mvn deploy
<nirvdrum> Okay. So it's not automated?
<headius> you'd need access to the oss sonatype snapshot repo
<headius> no, not currently
<headius> none of our snapshots are pushed anywhere automatically
<nirvdrum> I'm fine just pinging one of you if you don't mind doing it periodically.
<headius> that's fine
<headius> I can request access for you to the jnr groupid if it gets too cumbersome
<headius> locally mvn install should work, but obviously you'd need snapshots for travis
rcvalle has joined #jruby
<pierreatkillbill> Sweet! :beers: for 1.7.20
dinfuehr has joined #jruby
<bjfish2> nirvdrum awesome
<headius> enebo: https://github.com/jruby/jruby/issues/2373 did not make 1.7.20
<headius> I had it unpushed locally
<headius> it's an ancient JIRA bug I just happened to fix, so it's no big deal
<headius> that's what I get for working on multiple issues at once
KevinCorcoran has joined #jruby
<headius> enebo: I will wait to push until you're done with release twiddling
vtunka has quit [Quit: Leaving]
<kares> oh yeah ... rvm install jruby-1.7.20 ... thank you!
<enebo> headius: well it is up so I think you are fine. I did not update version #’s yet but it is safely done
<enebo> headius: or done enough it will need a 1.7.21 if messed up :)
<headius> ok
KevinCor_ has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] headius pushed 1 new commit to jruby-1_7: http://git.io/vJMdy
<JRubyGithub> jruby/jruby-1_7 acc4aa1 Charles Oliver Nutter: Treat bogus IO as opaque dynamic object in case it's borked....
JRubyGithub has left #jruby [#jruby]
<enebo> whoooooo 62 issues
KevinCorcoran has quit [Read error: Connection reset by peer]
<headius> heh, my stash stack has three unfinished fixes for 1.7 ugs
<headius> bugs
<enebo> hmmm I will quick see if I can hack in PRs too
<headius> do them as a separate section, since they're more action sentences
<headius> do we want to filter or separate truffle items?
<enebo> headius: hmmm well not a worry for 1.7.20 but I don’t know…truffle is in 9k releases
<nirvdrum> headius, enebo: I just added the rename() method to jnr-posix. This is the first substantive one I've done. I'd appreciated any feedback: https://github.com/jnr/jnr-posix/commit/49c2a86a72eb535d7d086623a9e9d4fdaa93a0db
<headius> yeah
erikhatcher has quit [Quit: erikhatcher]
<headius> enebo: but nobody's going to be looking for truffle issues+PRs
klemanski has joined #jruby
<headius> nirvdrum: looks good
<nirvdrum> Great. Thanks.
<enebo> headius: I guess I don’t know.. maybe not yet
camlow32_ has quit [Remote host closed the connection]
<enebo> bah…I want this release done. I will mess with adding PR’s for next release
<nirvdrum> Truffle PRs are in 1.7.20?
<enebo> we have not ever included them so one more point release won’t kill us
<klemanski> Hi, I'm trying to update one app to Jruby 1.7.19 and 1.7.0_79 but there is something broken (?) with Process.pid - process (irb) have pid 17721 but Process.pid shows 27685468
<headius> nirvdrum: facepalm
<headius> of course they're not
<enebo> nirvdrum: no. it was just a more general question
<headius> nevermind
<enebo> headius: it is a valid question just not for today
<headius> it wasn't a general question, I was just in 9k mode
<headius> yeah
<headius> ok
<enebo> headius: well I took it as one
<headius> for 9k I guess I don't care
camlow325 has joined #jruby
<headius> it's just PRs
<headius> well mostly PRs for truffle anyway
<klemanski> java.io.File.new("/proc/self").getCanonicalFile().getName() returns "17721" and that is OK
<headius> and it shows progress
camlow325 has quit [Client Quit]
<headius> klemanski: not on Windows eh?
<headius> gist an example that fails
<klemanski> Debian 6.0.7
<headius> you have procfs so this must be linux
<klemanski> i was using java 1.6 and jruby 1.7.13 and it was ok
<headius> show me example script that gives wrong pid
<headius> and check $$
camlow325 has joined #jruby
<klemanski> headius, its irb process http://pastie.org/10158083 $$ is same as Process.pid 27685468
<klemanski> maybe some debian problem squeeze is not the newest one
<headius> run jruby with -Xnative.verbose=true
<headius> see if it says it can't load native stuff
<headius> we have no way to get the pid for the current JVM unless native support loads, so that's my suspect
<headius> if it doesn't load we make up a bogus pid based on the hash of the JRuby runtime or something
<klemanski> http://pastie.org/10158148 yes it failed
<klemanski> tomorrow i will talk with admins to update this host and check if it helps
<headius> ahah
<headius> klemanski: ok, try the new 1.7.20 release as well, but this looks like a problem with how we're loading native libs we need
<headius> klemanski: are you running this on Java 6?
<headius> wait you said you're trying to update to 7
<klemanski> i'm trying on 1.7 now with 1.7.19
<klemanski> on 1.6 with 1.7.13 it was ok
<enebo> mpapis: 1.7.20 is out
<headius> you might have a bit mismatch too, 32 bit versus 64
<headius> the error seems to indicate it tried to load a 64-bit library into a 32-bit process
<klemanski> mmm yes java is 32 bit
<klemanski> i will check this with 64 bit java
<headius> it should work
<headius> I didn't even know there was a 32-bit 7 anymore
<klemanski> I confirm it show correct pid on java 64 bit
<headius> enebo: I wonder if we should always warni when we can't load native stuff and expect to
<headius> at least at command line
<enebo> headius: well if explicitly specified via property then no otherwise yes seems reasonable to me
<klemanski> 32 bit is (probably) not my requirement so i will try run with this archtecture
<enebo> headius: then only people affected would be esoteric platform users who will start seeing it and will need to add this property to JRUBY_OPTS
<enebo> headius: which is perhaps ok since I don’t think there are that many users
<enebo> headius: not 100% sure it is a good idea or not
skade has joined #jruby
<enebo> not going to update the topic here since pre2 is what we want people trying out more
<headius> enebo: sure
<headius> klemanski: ok...ideally we'd pick the right lib for the bits too, so that might be worth filing
<rtyler> does this issue look like a packaging issue for pre2 to you guys? https://github.com/jruby-gradle/jruby-gradle-plugin/issues/113
<klemanski> headius, OK I will create an issue on GH for this
subbu has joined #jruby
<headius> rtyler: hmm, it does
<headius> rtyler: if you run jruby debug mode there you can get full NPE trace
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] enebo pushed 1 new commit to jruby-1_7: http://git.io/vJDmG
<JRubyGithub> jruby/jruby-1_7 7fea057 Thomas E. Enebo: Bump for next development cycle
JRubyGithub has left #jruby [#jruby]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] kml opened issue #2908: 32 bit Java 1.7 on 64 bit GNU/Linux - invalid Process.pid http://git.io/vJDYV
JRubyGithub has left #jruby [#jruby]
<klemanski> headius, thank you for help
<klemanski> I've had this problem before but i thought it was because of upgrading puma, but after checking how it's creating pidfile i found this is just Process.pid
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] bjfish pushed 1 new commit to master: http://git.io/vJDs0
<JRubyGithub> jruby/master df11cd5 Brandon Fish: [Truffle] Add RbConfig::CONFIG["host_os"]
JRubyGithub has left #jruby [#jruby]
klemanski has quit [Quit: Leaving]
subbu has quit [Ping timeout: 264 seconds]
pietr0 has joined #jruby
shellac has quit [Quit: Ex-Chat]
keeguon has quit [Ping timeout: 246 seconds]
bbrowning is now known as bbrowning_away
erikhatcher has joined #jruby
mister_s_ has quit [Ping timeout: 245 seconds]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] bjfish pushed 1 new commit to master: http://git.io/vJD4T
<JRubyGithub> jruby/master 1280a58 Brandon Fish: [Truffle] Removing extra RbConfig::CONFIG["host_os"] entry
JRubyGithub has left #jruby [#jruby]
gazay has joined #jruby
<nirvdrum> headius, enebo: If you could request access from the folks at JetBrains, it'd be kinda nice to have access to CLion for looking at MRI source.
<enebo> nirvdrum: oh yeah…I would love this too…asarih ^^ ;P
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] mkristian closed issue #1823: getting jars work with Dir globs for all classloaders http://git.io/vJDE1
JRubyGithub has left #jruby [#jruby]
<headius> I am using the C/C++ support in nonstandard plugins
<headius> it seems fine
<headius> Browse repositories in plugins pane and it's there
<nirvdrum> I'll check that out. Thanks.
_djbkd has joined #jruby
mrmargolis has quit [Remote host closed the connection]
<nirvdrum> To what degree do you guys look at MRI's source when implementing stuff in jnr-posix? I see in win32 they defined their own access() function, but Win32 has one built in.
mrmargolis has joined #jruby
<headius> enebo looked at it quite a bit for exec stuff
<headius> other than that, not much
<headius> jnr-posix is intended to be mostly just a thin mapping, so we'd implement what MRI has as Java
<enebo> nirvdrum: yeah exec and the whole spawn thing was mostly ported
<headius> outside of jnr-posix
<headius> jnr-posix access() should just be native access()
<nirvdrum> Okay. Sounds good.
<enebo> exec was a weird beast
<headius> still is
<enebo> yeah
<headius> I think I'm going to work from the garden today, bbiab
dabradley has quit [Quit: WeeChat 0.4.2]
travis-ci has joined #jruby
<travis-ci> jruby/jruby (jruby-1_7:3086e6a by Thomas E. Enebo): The build was broken. (http://travis-ci.org/jruby/jruby/builds/61323728)
travis-ci has left #jruby [#jruby]
bbrowning_away is now known as bbrowning
yh has quit [Ping timeout: 246 seconds]
dabradley has joined #jruby
<nirvdrum> Does anyone use jnr-constants without jnr-posix?
<headius> I don't even know who uses jnr-posix
subbu has joined #jruby
<headius> we obviously use all of them, and some of the jnr projects have cross-deps
<headius> why?
mcclurmc has quit [Remote host closed the connection]
<nirvdrum> I just need new constants.
phrinx has joined #jruby
<nirvdrum> It seems a bit circuitous to update one project, push a snapshot, update the snapshot for another project, and then use the constants I need.
<nirvdrum> Not the craziest thing in the world.
tcrawley is now known as tcrawley-away
mrmargol_ has joined #jruby
subbu is now known as subbu|meeting
mrmargolis has quit [Ping timeout: 256 seconds]
<nirvdrum> What's generating the files in jnr-constants? There's a header on all the enums saying the were generated automatically back in 2010.
subbu|meeting has quit [Ping timeout: 264 seconds]
fuzzyhorns1 has joined #jruby
<nirvdrum> Looks like it's this constantine thing.
<fuzzyhorns1> question, I see a speedup with `jruby --ng -e "puts 1"`
<fuzzyhorns1> as compared to not using nailgun
<fuzzyhorns1> but can i send something like rubocop to nailgun?
subbu|meeting has joined #jruby
mcclurmc has joined #jruby
pglombardo has joined #jruby
drbobbeaty has quit [Read error: Connection reset by peer]
drbobbeaty has joined #jruby
travis-ci has joined #jruby
<travis-ci> jruby/jruby (jruby-1_7:acc4aa1 by Charles Oliver Nutter): The build was broken. (http://travis-ci.org/jruby/jruby/builds/61324864)
travis-ci has left #jruby [#jruby]
shellac has joined #jruby
gazay has quit [Quit: gazay]
codefinger has joined #jruby
subbu|meeting is now known as subbu
pjammer has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<nirvdrum> headius: What are the fake constants used for? I'm seeing different values for them than are in unistd.h.
<headius> platforms for which we haven't generated the right constants
<headius> or platforms that don't have some of them
<headius> fuzzyhorns1: I don't know how rubocop works differently from running a command
<headius> do you want to keep a JRuby instance running, or just a JVM? Every command from jruby --ng will start a new JRuby instance in the nailgun server
<fuzzyhorns1> headius: i guess whatever is my major overhead, good point
<headius> nirvdrum: there's some ruby scripts and templates in jnr-constants to generate the java files
<headius> we haven't regenerated any of them in a long time, generally just adding or fixing manually
<nirvdrum> Yeah, I've figured that out.
<fuzzyhorns1> headius: basically i just want to be able to use syntax checking in a way that doesnt take over 10 secs per check :c
<nirvdrum> I had to update everything to work with require_relative.
<headius> jnr-* really needs a VM-based multibuild
<nirvdrum> I guess the last time they were generated it was done on 1.8.
<headius> oh nice
<nirvdrum> So I have the Access enum generated. It's a bitmask and the value needs to start at 0. The platform files look good. But the fake one starts at 1.
<headius> fuzzyhorns1: well whatever you'd do at command line should work through --ng, and syntax checking is a pretty lightweight thing to ask it to do
pierreatkillbill has quit [Ping timeout: 276 seconds]
<mjc_> startup time on 1.7.20 is improved for our , y'all rock
<headius> fuzzyhorns1: you were the one with jruby doing syntax stuff in the background of your editor, yes?
<fuzzyhorns1> headius: it does seem to help
<fuzzyhorns1> headius: i wanted to, yeah
<headius> mjc_: that's great!
<headius> fuzzyhorns1: first couple will still be slower than MRI but it should catch up quick
<fuzzyhorns1> headius: syntastic lets you set the executable for jruby, so i wondered if i could set up ng to be listening, and send checks to it
<fuzzyhorns1> yeah i am seeing that!
<fuzzyhorns1> under 3 seconds now
<headius> you might run the ng server with --dev too so it's doing the minimum boot-time logic
<headius> that will disable some heavier stuff used for prod app scaling
<fuzzyhorns1> make sense
pjammer has joined #jruby
<fuzzyhorns1> yeah, hardly need anything to do the checks
mje113__ has joined #jruby
<headius> if there's a way to have it just send the content of the file to an existing process, that would be the best...you would just have a single jruby in the background and it stays completely booted with rubocop or whatever else
<headius> this would be good to document too if we figure out the right combination of stuff for you :-)
<fuzzyhorns1> hmm not liking `—dev`
<fuzzyhorns1> yeah headius, that would be ideal
<fuzzyhorns1> i mean really i want to be able to run all the chckers while im working
<fuzzyhorns1> rubocop is just where im starting
ponga has quit [Quit: Leaving...]
rsim1 has joined #jruby
dinfuehr_ has joined #jruby
<headius> fuzzyhorns1: maybe there's some stdin/stdout protocol supported by syntastic
<headius> if it's using a subprocess it must have some protocol
KevinCor_ has quit [Remote host closed the connection]
<fuzzyhorns1> bummer still is that on loading a new file, wicked slow
<fuzzyhorns1> i pair program a lot and my coworkers would not put up with waiting 10 seconds to open a file x)
<headius> neither would I
<headius> what's the command line syntastic is using?
<headius> I've seen a warm JRuby instance rip through 65kloc files in milliseconds
<headius> parsing anyway
<headius> there may be something in the libs you're using that's slow, even on MRI?
dinfuehr has quit [Ping timeout: 276 seconds]
rsim has quit [Ping timeout: 265 seconds]
<fuzzyhorns1> i mean if i was checking a bunch of libs
drbobbeaty has quit [Ping timeout: 264 seconds]
<fuzzyhorns1> but this is just even to check a poro + active record inheritance
<headius> yeah, that seems like too much
<fuzzyhorns1> thing is, syntastic afaik is always gonna run jruby cold
<headius> even 3s is too long for a warm instance
<headius> I just want to see that 3s locally
<fuzzyhorns1> yeah :/ fwiw, it's a serializer file
<fuzzyhorns1> so afaik it just needs to load active model serializers which should be _that_ huge a footprint?
<headius> hmm
<headius> I don't know
<headius> we could get a heap snapshot once everything's loaded to see how big that is
<headius> rails is a lot of code to load
<headius> even on MRI
<fuzzyhorns1> yeah, maybe that's the whole ish? it's just rails load itself?
subbu is now known as subbu|busy
<nirvdrum> headius: I added a README: https://github.com/jnr/jnr-constants
x1337807x has joined #jruby
<nirvdrum> headius: If you wouldn't mind pushing jnr-constants, that'd be helpful.
<nirvdrum> Feel free to review what I had there.
x1337807x has quit [Client Quit]
<headius> nirvdrum: can do
<headius> snapshot you mean?
<nirvdrum> Yeah, if you don't mind.
<nirvdrum> It's at 0.8.8-SNAPSHOT now.
<headius> should be done by the time you read this
<nirvdrum> I'll bug you about jnr-posix later. I have some stuff to land there.
<nirvdrum> I'm working with the local copy, so no big deal.
<headius> unless my connection is slow
<headius> grr. oss.sonatype seems to need a little love these days
<headius> nirvdrum: done now
<nirvdrum> Is it cool if I point jnr-posix at that snapshot?
<headius> oh sure
<headius> point anything at snapshots between releases if you need to
shellac has quit [Quit: Computer has gone to sleep.]
yfeldblum has joined #jruby
mister_solo has joined #jruby
shellac has joined #jruby
yh has joined #jruby
travis-ci has joined #jruby
<travis-ci> jruby/jruby (jruby-1_7:7fea057 by Thomas E. Enebo): The build has errored. (http://travis-ci.org/jruby/jruby/builds/61330927)
travis-ci has left #jruby [#jruby]
subbu|busy has quit [Ping timeout: 276 seconds]
KevinCorcoran has joined #jruby
<headius> rtyler: I thought of another explanation
<headius> rtyler: we did not get psych gem for JRuby released before pre2, so we preinstall a .pre1 release of it
<headius> oh but we're not using that in 1.7
<headius> double check that with mkristian but this may be a red herring
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] enebo pushed 2 new commits to master: http://git.io/vJyPc
<JRubyGithub> jruby/master e8f1cfc Thomas E. Enebo: Masgn19node: kill getArity + precalc
<JRubyGithub> jruby/master 428e058 Thomas E. Enebo: Remove IArityNode and all consumers (this was dead code)
JRubyGithub has left #jruby [#jruby]
subbu|busy has joined #jruby
<headius> IArityNode
<headius> I love our circa 2001 interface names
<enebo> I think that one is much newer
<headius> it probably is but it was infected with the same pattern
<headius> I hate I prefix on interfaces with a burning passion
<headius> enebo: getting full psych 2.0.14 out now
<enebo> ok
<headius> pre2 shipped with psych 2.0.14.pre1...I forgot to try to get release version out
<headius> it's just a stdlib install, so hopefully that doesn't do anything weird
<lopex> iphone ?
KevinCorcoran has quit [Remote host closed the connection]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] enebo pushed 1 new commit to master: http://git.io/vJyM2
<JRubyGithub> jruby/master 3ebe3c9 Thomas E. Enebo: We stopped checking for invalid masgn in conditionals: puts 'GOAL' if (a,b=1,2)
JRubyGithub has left #jruby [#jruby]
erikhatcher has quit [Quit: erikhatcher]
mister_solo has quit [Ping timeout: 272 seconds]
<rtyler> headius: uhhh, okay
subbu|busy has quit [Ping timeout: 256 seconds]
shellac has quit [Quit: Computer has gone to sleep.]
mister_solo has joined #jruby
KevinCorcoran has joined #jruby
KevinCorcoran has quit [Remote host closed the connection]
KevinCorcoran has joined #jruby
tcrawley-away is now known as tcrawley
mister_solo has quit [Ping timeout: 245 seconds]
<nirvdrum> headius: Sorry to bug you again, but could you push jnr-constants again please?
aemadrid has quit [Quit: Connection closed for inactivity]
balo has quit [Quit: leaving]
<nirvdrum> Maybe not. It still looks wrong.
skade has quit [Quit: Computer has gone to sleep.]
<dfr|work> according to github issues, you guys are totally making progress on the jar stuff >.<
<headius> nirvdrum: you need snapshots for travis? I'm about to end my day here
<headius> dfr|work: indeed...though there's still some big outstanding issues in loaded features management
<nirvdrum> headius: I do. I guess the enum order matters if a platform-specific one isn't available.
<headius> we're still double-loading if e.g. people force relative paths into LOADED_FEATURES
<nirvdrum> headius: Although, how does the "fake" one get chosen? That seems to be loaded on Windows and it starting at 1 instead of 0 is problematic.
<headius> nirvdrum: I will request push rights for you
<headius> I really don't know...the fake stuff is pretty old
<nirvdrum> I'm not referencing it. But the debugger is stepping into it.
<nirvdrum> Speaking of which, it'd be helpful if the deploy step also deployed the source bundle.
<nirvdrum> I'm using IntelliJ's decompiler to debug on Windows currently.
<headius> oh yeah, I should fix that
<nirvdrum> If I can't figure out the loading, I may add an option to the generator to set the min value.
<headius> nirvdrum: create an account here and give me username: issues.sonatype.org
shellac has joined #jruby
balo has joined #jruby
<nirvdrum> headius: Done: nirvdrum
<nirvdrum> Cool. Thanks.
_djbkd has quit [Remote host closed the connection]
mister_solo has joined #jruby
_djbkd has joined #jruby
subbu|busy has joined #jruby
_djbkd has quit [Remote host closed the connection]
camlow32_ has joined #jruby
camlow325 has quit [Ping timeout: 250 seconds]
subbu|busy is now known as subbu
camlow32_ has quit [Remote host closed the connection]
pglombardo has quit []
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:df11cd5 by Brandon Fish): The build was broken. (http://travis-ci.org/jruby/jruby/builds/61332186)
travis-ci has left #jruby [#jruby]
skade has joined #jruby
mister_solo has quit [Remote host closed the connection]
camlow325 has joined #jruby
mister_solo has joined #jruby
yfeldblum has quit [Remote host closed the connection]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] headius pushed 1 new commit to jruby-1_7: http://git.io/vJSmi
<JRubyGithub> jruby/jruby-1_7 c212568 Charles Oliver Nutter: Handle additional error conditions in Charset transcoder....
JRubyGithub has left #jruby [#jruby]
yfeldblum has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] headius closed issue #2856: Some data can cause String#encode to hang http://git.io/vfkNp
JRubyGithub has left #jruby [#jruby]
camlow325 has quit [Remote host closed the connection]
_djbkd has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] headius pushed 1 new commit to jruby-1_7: http://git.io/vJSs9
<JRubyGithub> jruby/jruby-1_7 b50660e Charles Oliver Nutter: Add regression spec for #2856.
JRubyGithub has left #jruby [#jruby]
_djbkd has quit [Remote host closed the connection]
_djbkd has joined #jruby
donV has joined #jruby
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:1280a58 by Brandon Fish): The build was broken. (http://travis-ci.org/jruby/jruby/builds/61334513)
travis-ci has left #jruby [#jruby]
pierreatkillbill has joined #jruby
yh has quit [Ping timeout: 256 seconds]
pierreatkillbill has quit [Ping timeout: 250 seconds]
lopex has quit [Ping timeout: 256 seconds]
DomKM has quit [Ping timeout: 256 seconds]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] bjfish pushed 1 new commit to master: http://git.io/vJSl3
<JRubyGithub> jruby/master 6c80587 Brandon Fish: [Truffle] Adding tags for new failures after adding RbConfig::CONFIG["host_os"]
JRubyGithub has left #jruby [#jruby]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] headius opened issue #2909: Psych gem installs, but refuses to use gem's jar http://git.io/vJSlW
JRubyGithub has left #jruby [#jruby]
DomKM has joined #jruby
lopex has joined #jruby
dinfuehr_ has quit [Remote host closed the connection]
dinfuehr has joined #jruby
dinfuehr has quit [Read error: Connection reset by peer]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] headius closed issue #2909: Psych gem installs, but refuses to use gem's jar http://git.io/vJSlW
JRubyGithub has left #jruby [#jruby]
aramisbear has quit [Read error: Connection reset by peer]
dinfuehr has joined #jruby
brightball has joined #jruby
yh has joined #jruby
mkristian has joined #jruby
tcrawley is now known as tcrawley-away
fuzzyhorns1 has quit [Quit: Leaving.]
camlow325 has joined #jruby
fuzzyhorns1 has joined #jruby
<mkristian> headius, is the psych thing OK now ?
fuzzyhorns1 has left #jruby [#jruby]
mister_solo has quit [Ping timeout: 240 seconds]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] enebo pushed 4 new commits to master: http://git.io/vJSzW
<JRubyGithub> jruby/master ea02984 Thomas E. Enebo: ASTInterpreter dead
<JRubyGithub> jruby/master b783cbc Thomas E. Enebo: Start removing deadl MultipleAsgnNode (replaced by MultipleAsgn19Node)
<JRubyGithub> jruby/master c3a18b3 Thomas E. Enebo: More MAsgnNode removal
JRubyGithub has left #jruby [#jruby]
mrmargol_ has quit [Remote host closed the connection]
x1337807x has joined #jruby
camlow325 has quit [Remote host closed the connection]
camlow325 has joined #jruby
camlow325 has quit [Remote host closed the connection]
camlow325 has joined #jruby
lanceball is now known as lance|afk
<headius> nirvdrum: I guess you're in
<headius> mkristian: no :-(
<headius> I thought it was working
<nirvdrum> I see. I'm updating the jnr-constants README and then I'm going to try to push. Thanks again!
<headius> I think there's various version mismatches and things at play, but tenderlove is preparing a log showing build + install with various problems
<headius> I will do the same
<headius> nirvdrum: you'll need to do something to maven settings.xml but I don't remember what
<headius> look for ossrh, sonatype OSS support walkthrough
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:428e058 by Thomas E. Enebo): The build was broken. (http://travis-ci.org/jruby/jruby/builds/61353164)
travis-ci has left #jruby [#jruby]
<nirvdrum> Thanks.
<nirvdrum> I finally figured out what the fake thing is all about. I updated the README with a brief summary.
<headius> ok
<nirvdrum> And I needed to add the ability to set the min value to 0 for that.
<nirvdrum> I didn't realize the top-level enum doesn't do any value lookup on its own.
<mkristian> headius, just attach a github issue and I look at in the morning - I am about to go to sleep
<enebo> nirvdrum: headius: That failed build is jnr-posix update?
<nirvdrum> This also means I'll need help generating OS-specific versions of the enum.
<enebo> NameError (uninitialized constant Rubinius::HAVE_LCHMOD)
<enebo> doh yeah this is a truffle error
<enebo> clearly
<nirvdrum> Yeah. I think bjfish2 is up.
<enebo> :)
<enebo> ok just happy it is not me
<nirvdrum> He modified platform value in RbConfig::CONFIG so a whole bunch of mspec guards came into play :-/
<nirvdrum> If he can't fix it, I'll look at it shortly.
<tenderlove> headius: ^^^
<tenderlove> that's the log
<tenderlove> I'm making a script now
<bjfish2> enebo nirvdrum i tagged new failing specs here: https://github.com/jruby/jruby/commit/6c8058708ed685dd12c1ff13dbe413a6b838f8ed waiting for the build to finish
<enebo> bjfish2: cool
mister_solo has joined #jruby
<enebo> do we need to cancel any jobs?
<bjfish2> enebo anythign before it will fail: so probably https://travis-ci.org/jruby/jruby/builds/61354240
<tenderlove> I should just write a test that builds the gem and installs it...
<tenderlove> though that seems like overkill
<enebo> bjfish2: ok I cancelled it so it should get to your build a littl quicker
<bjfish2> enebo thx
<enebo> tenderlove: install it a 100,000 times and then also graph it
x1337807x has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<tenderlove> there's a list of commands
<enebo> tenderlove: have you tried timing JRuby with your gem patches?
<tenderlove> it's not a shell script
<tenderlove> enebo: no. I should.
<tenderlove> the test I wrote uses fork...
<enebo> booo
<tenderlove> ya
<nirvdrum> headius: I'm a bit confused. It looks like there should be a <distributionManagement> section in the POM that I don't see. Do you have this in your ~/.m2/settings.xml?
<enebo> tenderlove: rg is the one program I wish did not store in the filesystem
<tenderlove> enebo: I don't know how to write the test without fork
<enebo> tenderlove: then we could cache or pre-calc all the gemspecs
<tenderlove> since it makes a bunch of global changes
<tenderlove> enebo: ya, that's what I've been working on
<tenderlove> the bottleneck is searching for files
<enebo> tenderlove: I thought no one liked that because of people manually fucking with gem dirs
<headius> nirvdrum: checking
<enebo> tenderlove: yeah totally and opening up hundreds of files and parsing them
<enebo> tenderlove: our bottleneck of parsing may be more pronounced though
<headius> nirvdrum: I think that is inherited from the parent sonatype pom, but I'll show you what I have in settings.xml
<nirvdrum> Ahh, that could be.
<headius> the parent pom stuff always confuses me when I'm away for a while
<nirvdrum> I'd curse maven, but at this point I think I just hate all things computer-related.
<nirvdrum> headius: You might want to delete that gist.
<headius> I'm pretty sure that's all the maven config I have
<nirvdrum> Unless you did change your password first.
<headius> nirvdrum: my password is not "monkeynuts"
<nirvdrum> That's too bad.
<headius> but thank you for looking out :-)
subbu has quit [Ping timeout: 264 seconds]
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:3ebe3c9 by Thomas E. Enebo): The build was canceled. (http://travis-ci.org/jruby/jruby/builds/61354240)
travis-ci has left #jruby [#jruby]
<nirvdrum> No problem.
<headius> nirvdrum: some day we'll walk you through the full release process and we'll have another backup
<nirvdrum> I see you went with the "I stopped giving a shit" indentation level.
<headius> just involves some button-pressing
<headius> hah yeah, copypasta
<headius> I'd never survive in python
<nirvdrum> Okay. I think that worked. Where do you check the status of that?
tcrawley-away is now known as tcrawley
<nirvdrum> Ahh, it was in the snapshots section.
erikhatcher has joined #jruby
<headius> yeah, you can find it under repositories too but there's a million of repositories
<headius> the UI is confusing to me
jph98 has joined #jruby
subbu has joined #jruby
<nirvdrum> It looks like it worked.
<nirvdrum> I feel like Blankman. This is awesome.
<headius> nirvdrum: deploying and fetching dependencies makes up for most of maven's pain
<headius> it's still the most robust system for that I've used
mitchellhenke has quit [Quit: Computer has gone to sleep.]
<nirvdrum> My biggest gripes still stem from when I used to write plugins. It was this weird free-form XML that wasn't documented and all came in through some weird xdoc-like system.
x1337807x has joined #jruby
mitchellhenke has joined #jruby
<headius> yeah the plugin system seems really half-baked
<headius> it's not really a plugin so much as an extension, with all the pain that entails
<nirvdrum> If any of you Mac users want to check out jnr-constants and run "rake generate:platform" and then commit the results, that'd be cool. Any OS other than Linux is welcome to join in. But I think the "fake" one should be good enough (works on Windows now).
<headius> nirvdrum: you remember anything about this one? https://github.com/jruby/jruby/issues/1896
<nirvdrum> And I'm just using Win32 to mean Windows. I guess these are technically msvcrt. I hope no one minds.
<nirvdrum> headius: This is the open discussion of whether to default to using /dev/urandom instead of /dev/random, essentially.
<bjfish2> nirvdrum I’ll send you a PR
mitchellhenke has quit [Ping timeout: 255 seconds]
<nirvdrum> bjfish2: Awesome. Thanks.
codefing_ has joined #jruby
<headius> nirvdrum: you remember that guy in here the other day with startup issues
<headius> sebedwards on twitter
codefinger has quit [Read error: Connection reset by peer]
<headius> I think I saw some discussion about entropy, but in any case I just found out that fixing his entropy pool solved his startup time issues
<nirvdrum> headius, enebo: FYI . . . probably not a ton of overhead, but jnr-constants does this weird search path thing to figure out which enum implementation to load. The first entry in that list is <OS>.<ARCH>. As far as I can tell, we currently have no arch-specific enums. So that lookup path just always ends up throwing a CNFE.
<headius> ick, we should fix that
<headius> getResource from classloader to see if it's there first, like our JRuby exts do
<nirvdrum> headius: How do you fix the entropy pool?
<headius> this guy set up a background entropy server
<headius> there's a few options I just discovered... based on random audio sampling, temperature readings, timers
<nirvdrum> That sounds like a lot of work (and potentially error-prone) to ask of users.
<nirvdrum> I think tarcieri was of the mindset that by the time a JVM can even start, /dev/urandom will have been sourced from /dev/random and be just as cryptographically strong.
rsim has joined #jruby
<bjfish2> nirvdrum does it look alright? https://github.com/jnr/jnr-constants/pull/12
yh has quit [Ping timeout: 264 seconds]
<nirvdrum> I'd have to look at unistd.h on a Mac, but structurally it seems fine. And the values match Linux.
mrmargolis has joined #jruby
rsim1 has quit [Ping timeout: 265 seconds]
bbrowning is now known as bbrowning_away
dinfuehr has quit [Remote host closed the connection]
robbyoconnor has quit [Read error: Connection reset by peer]
x1337807x has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
robbyoconnor has joined #jruby
<headius> nirvdrum: I'm fine at this point just going with /dev/urandom, but I thought we had it boiled down to /dev/random on boot and PRNG from then on
<headius> as our defaults
jph98 has quit [Quit: jph98]
<nirvdrum> I think you did something to source once per-thread.
<nirvdrum> But if you're blocked at startup, even that can suck *shrug*
mister_solo has quit [Ping timeout: 245 seconds]
<nirvdrum> And I'm not sure if once-per-thread means once-per-Fiber, too.
donV has quit [Quit: donV]
<nirvdrum> FWIW, this RNG thing has been coming up with Selenium and people running tests in containers.
<nirvdrum> Maybe the adoption of docker will force the issue for someone.
codefing_ has quit [Remote host closed the connection]
<headius> nirvdrum: if switching to urandom exclusively would fix it without hurting RNG quality, I don't care
codefinger has joined #jruby
<nirvdrum> That seems to be the consensus from people in the know. But it's one of those things where I'm not really qualified on the matter.
codefinger has quit [Remote host closed the connection]
codefinger has joined #jruby
tcrawley is now known as tcrawley-away
codefinger has quit [Quit: Leaving...]
subbu has quit [Ping timeout: 265 seconds]
mister_solo has joined #jruby
chrisseaton_ has joined #jruby
subbu has joined #jruby
asarih_ has joined #jruby
jeremyevans_ has joined #jruby
mcclurmc_ has joined #jruby
flori_ has joined #jruby
dbussink has quit [Ping timeout: 252 seconds]
chrisseaton has quit [Ping timeout: 252 seconds]
asarih has quit [Ping timeout: 252 seconds]
jeremyevans has quit [Ping timeout: 252 seconds]
flori has quit [Ping timeout: 252 seconds]
asarih_ is now known as asarih
chrisseaton_ is now known as chrisseaton
mcclurmc has quit [Ping timeout: 252 seconds]
dbussink has joined #jruby
shellac has quit [Quit: Computer has gone to sleep.]
mister_s_ has joined #jruby
mister_solo has quit [Ping timeout: 264 seconds]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] mkristian opened issue #2910: can not install leafy-metrics http://git.io/vJ9kU
JRubyGithub has left #jruby [#jruby]
<mkristian> headius, first I need to see to this --^^^^ the psych issue is more general
mister_s_ has quit [Ping timeout: 244 seconds]
<headius> FYI
<headius> mkristian: we saw issues where yaml was bad too
colinsurprenant has quit [Quit: colinsurprenant]
erikhatcher has quit [Quit: erikhatcher]
mje113__ has quit [Quit: Connection closed for inactivity]
travis-ci has joined #jruby
<travis-ci> jruby/jruby (jruby-1_7:c212568 by Charles Oliver Nutter): The build failed. (http://travis-ci.org/jruby/jruby/builds/61363879)
travis-ci has left #jruby [#jruby]
travis-ci has joined #jruby
<travis-ci> jruby/jruby (jruby-1_7:b50660e by Charles Oliver Nutter): The build failed. (http://travis-ci.org/jruby/jruby/builds/61365242)
travis-ci has left #jruby [#jruby]
erikhatcher has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] enebo pushed 6 new commits to master: http://git.io/vJ93K
<JRubyGithub> jruby/master 6ac15ee Thomas E. Enebo: Removed specialized OpElementAsgn nodes since they are dead
<JRubyGithub> jruby/master 2419f73 Thomas E. Enebo: definedMessage is a dead field in AST now
<JRubyGithub> jruby/master 1cf12e4 Thomas E. Enebo: Remove dead constructor in SymbolNode and some other dead code
JRubyGithub has left #jruby [#jruby]
rsim has quit [Quit: Leaving.]
JRubyGithub has joined #jruby
<JRubyGithub> [jruby] bjfish pushed 1 new commit to master: http://git.io/vJ9Zl
<JRubyGithub> jruby/master c0d9bc3 Brandon Fish: [Truffle] Update JNR version and add File.rename
JRubyGithub has left #jruby [#jruby]
bjfish2 has quit [Quit: bjfish2]
enebo has quit [Quit: enebo]
<nirvdrum> qmx: What happened with the dynjs domain? I saw it was a parked page earlier today.
marr has quit [Ping timeout: 265 seconds]
<chrisseaton> nirvdrum: looks up to me
<nirvdrum> Yeah, it's back now. Earlier it looked like the domain had expired. I thought the project was dead.
<nirvdrum> Unless my DNS got injected or something.
<nirvdrum> WHOIS says it was updated today. I guess I was just unlucky earlier.
mitchellhenke has joined #jruby
insidious has joined #jruby
skade has quit [Quit: Computer has gone to sleep.]
rcvalle has quit [Quit: rcvalle]
travis-ci has joined #jruby
<travis-ci> jruby/jruby (master:6c80587 by Brandon Fish): The build was fixed. (http://travis-ci.org/jruby/jruby/builds/61367387)
travis-ci has left #jruby [#jruby]