00:28
ur5us has joined #jruby
01:01
Aethenelle has joined #jruby
01:02
Aethenelle has quit [Client Quit]
02:23
lucasb has quit [Quit: Connection closed for inactivity]
02:49
ur5us has quit [Ping timeout: 240 seconds]
02:52
jeremyevans has joined #jruby
03:11
ur5us has joined #jruby
03:46
ur5us has quit [Ping timeout: 240 seconds]
04:43
_whitelogger has joined #jruby
04:43
nirvdrum has quit [Ping timeout: 272 seconds]
05:07
enebo[m] has quit [Ping timeout: 240 seconds]
05:07
rdubya[m] has quit [Ping timeout: 240 seconds]
06:22
nirvdrum has joined #jruby
07:23
nirvdrum has quit [Ping timeout: 268 seconds]
08:09
rusk has joined #jruby
08:24
drbobbeaty has joined #jruby
09:00
nirvdrum has joined #jruby
09:00
rwilliams[m] has quit [Quit: killed]
09:00
lopex[m] has quit [Quit: killed]
09:00
OlleJonssonGitte has quit [Quit: killed]
09:00
BlaneDabneyGitte has quit [Quit: killed]
09:00
jellymann[m] has quit [Quit: killed]
09:00
aemadrid[m] has quit [Quit: killed]
09:00
CharlesOliverNut has quit [Quit: killed]
09:00
headius[m] has quit [Quit: killed]
09:00
daniel_jruby_que has quit [Quit: killed]
09:00
kares[m] has quit [Quit: killed]
09:13
shellac has joined #jruby
09:14
snickers has joined #jruby
09:16
shellac_ has joined #jruby
09:18
shellac has quit [Ping timeout: 246 seconds]
09:30
headius[m] has joined #jruby
09:52
bastilian has joined #jruby
09:52
harald[m] has joined #jruby
09:52
mischa[m] has joined #jruby
09:52
lopex[m] has joined #jruby
09:52
kasaltie[m] has joined #jruby
09:52
ksawery[m] has joined #jruby
09:52
nieve[m] has joined #jruby
09:52
pedran[m] has joined #jruby
09:52
annette[m] has joined #jruby
09:52
louis[m] has joined #jruby
09:52
MattPattersonGit has joined #jruby
09:52
JulesIvanicGitte has joined #jruby
09:52
kares[m] has joined #jruby
09:52
FlorianDoubletGi has joined #jruby
09:52
liamwhiteGitter[ has joined #jruby
09:52
cshupp[m] has joined #jruby
09:52
TimGitter[m]1 has joined #jruby
09:52
RomainManni-Buca has joined #jruby
09:52
rebelwarrior[m] has joined #jruby
09:53
ThomasEEneboGitt has joined #jruby
09:53
sandio[m] has joined #jruby
09:53
JesseChavezGitte has joined #jruby
09:53
enebo[m] has joined #jruby
09:53
rtyler1 has joined #jruby
09:53
anubhav8421[m] has joined #jruby
09:53
ilikeorangutans[ has joined #jruby
09:53
KarolBucekGitter has joined #jruby
09:53
ChrisSeatonGitte has joined #jruby
09:53
claudiuinberlin[ has joined #jruby
09:53
TimGitter[m] has joined #jruby
09:53
aemadrid[m] has joined #jruby
09:53
daniel_jruby_que has joined #jruby
09:53
JasonRogers[m] has joined #jruby
09:53
xardion[m] has joined #jruby
09:53
olleolleolle[m] has joined #jruby
09:53
UweKuboschGitter has joined #jruby
09:53
aaronkelton[m] has joined #jruby
09:53
amiracam[m] has joined #jruby
09:53
fzakaria[m] has joined #jruby
09:53
rwilliams[m] has joined #jruby
09:53
ezzeddine[m] has joined #jruby
09:53
CharlesOliverNut has joined #jruby
09:53
rdubya[m] has joined #jruby
09:53
XavierNoriaGitte has joined #jruby
09:53
jellymann[m] has joined #jruby
09:53
OlleJonssonGitte has joined #jruby
09:53
MarcinMielyskiGi has joined #jruby
09:53
BlaneDabneyGitte has joined #jruby
10:48
drbobbeaty has quit [Ping timeout: 260 seconds]
11:22
rusk has quit [Read error: Connection reset by peer]
11:23
rusk has joined #jruby
12:55
drbobbeaty has joined #jruby
13:37
shellac_ has quit [Quit: Computer has gone to sleep.]
13:47
lucasb has joined #jruby
14:17
shellac has joined #jruby
14:40
nirvdrum has quit [Ping timeout: 240 seconds]
14:43
<
headius[m] >
good morning
14:57
<
headius[m] >
so today I will continue looking at rubygems upgrade
14:57
<
headius[m] >
there are two failures for gems within a jar
15:07
<
headius[m] >
I'm thinking RG changed to not search load path as though it's a gem home
15:10
<
enebo[m] >
wow...so loading should get faster?
15:25
<
headius[m] >
possibly?
15:25
<
enebo[m] >
I guess order would matter
15:25
<
headius[m] >
so the two cases that fail now are in JRuby suite, in test/jruby/test_jarred_gems.rb
15:26
<
headius[m] >
one case requires a jar that has a GEM_HOME structure in it and then expects gem list to show that gem
15:26
<
headius[m] >
it does not add anything to GEM_HOME or repoint GEM_HOME
15:27
<
headius[m] >
the other case does something similar and then tries to load the gem
15:27
<
headius[m] >
so it's the same cause
15:27
<
headius[m] >
in both cases it seems that RG is not searching new load path entries as if they were gem homes
15:28
<
enebo[m] >
GEM_PATH?
15:28
<
enebo[m] >
I cannot remember all those envs :)
15:28
<
headius[m] >
whatever
15:29
<
headius[m] >
I just mean it has that structure
15:29
<
enebo[m] >
yeah I just mean perhaps the test should just use the gem specific env and accept this is a rg change and not our change
15:29
<
headius[m] >
actually I'm wrong... one of the test does change GEM_PATH to point at the jar and then try to require the gem
15:29
<
headius[m] >
so that case could also be that GEM_PATH is only looked at once at boot
15:29
<
enebo[m] >
unless that doesn't work
15:30
<
enebo[m] >
yeah feels like in a dynamic env like Ruby requiring it to be right as something which only bootstraps before user code is strange
15:30
nirvdrum has joined #jruby
15:31
<
headius[m] >
I'm not sure how the first case ever worked since all it would do is add the gem.jar contents to load path
15:31
<
enebo[m] >
yeah that looks like some ancient magic
15:31
<
headius[m] >
er sorry I mean second case with the require
15:32
<
headius[m] >
GEM_PATH case seems like it should work but doesn't anymore
15:32
<
headius[m] >
only this file fails though
15:32
<
enebo[m] >
how about MRI
15:32
<
headius[m] >
it's a jar
15:33
<
enebo[m] >
well I don't mean the jar part but just adding GEM_PATH in general
15:33
<
enebo[m] >
I assume it works but maybe they removed it or something in the major update
15:34
<
enebo[m] >
I would be surprised if they removed GEM_PATH
15:34
<
headius[m] >
GEM_PATH seems fine
15:35
<
headius[m] >
I'm wondering if they added something to check for dirs
15:35
<
enebo[m] >
Seemingly perhaps some jruby override maybe no longer happens or something
15:35
<
headius[m] >
and jar shows up as not-dir
15:35
<
enebo[m] >
"or something" gotta cover all the bases
15:35
<
headius[m] >
gem path still works with jar unpacked
15:36
<
enebo[m] >
ok that is something.
15:36
<
enebo[m] >
although I suppose we knew that
15:42
<
headius[m] >
ahh I may have found the load path change
15:48
<
headius[m] >
# if +check_load_path+ is true (the default), then find_files also searches
15:48
<
headius[m] >
# $LOAD_PATH for files as well as gems.
15:48
<
headius[m] >
well I'm in the right place
15:48
<
headius[m] >
ugh markdown
15:48
<
enebo[m] >
## foobar
15:52
<
headius[m] >
there is some good news out of this
15:52
<
headius[m] >
I realized in this process that MRI runs its test quite with --disable-gems
15:52
<
headius[m] >
so I turned that on on the update_rubygems branch and now MRI suites are running in under 15 min
15:52
<
headius[m] >
and green
15:53
<
enebo[m] >
how long was it before?
15:53
<
headius[m] >
over 15 minutes? it wasn't a big jump I guess but it's well under 15 min for them now
15:54
<
headius[m] >
refined_send merge was 12, 15, 15
15:54
<
headius[m] >
I guess my question is how long should I spend trying to figure out this change in gem discovery from a jar
15:55
<
enebo[m] >
it begs a question of who uses it
15:56
<
headius[m] >
indeed, and who would break if we shipped it
15:56
<
headius[m] >
it's just this one test file failing
15:58
<
headius[m] >
sigh I'll try to bisect RG
15:58
<
headius[m] >
it's too big for me to just throw arts
15:58
<
headius[m] >
or arts
15:59
<
headius[m] >
so it begins
16:01
<
enebo[m] >
yeah the epic arc of a JRuby bisect
16:03
<
headius[m] >
the most likely outcome is that it would require an RG patch to fix
16:04
<
headius[m] >
28c1f2247d420506c70acea8aeb54f6c83f159eb
16:04
<
headius[m] >
Speed up globbing relative to given directories
16:05
<
enebo[m] >
monkeypatch?
16:06
<
headius[m] >
so it's a change to how it tries to glob for gems in the paths given
16:07
<
headius[m] >
probably breaks because it's doing blind File.join(jar, file)
16:07
<
headius[m] >
the old one did Dir[jar] { } and searched for the files that way, which I guess was "slower"
16:07
<
headius[m] >
Dir[] works properly with jar contents, joining the file with the jar clearly would not
16:08
<
enebo[m] >
yeah this is multiple places
16:08
<
enebo[m] >
a fix would be to not join to that helper I guess
16:08
<
headius[m] >
perhaps use old logic if the path is not a dir
16:08
<
headius[m] >
that would fall back on smart Dir[] logic
16:08
<
enebo[m] >
yeah that would work too
16:10
<
enebo[m] >
the fact that join is baked into calling the helper makes what Isaid difficult. and not all callers use same number of pre-join args
16:19
<
headius[m] >
well it looks like skipping the 2.5 branch there makes it work again on rubygems master
16:19
<
headius[m] >
but strangely not in our copy
16:21
<
headius[m] >
ok nevermind it works
16:21
<
headius[m] >
I think I patched the wrong file
17:03
rusk has quit [Remote host closed the connection]
17:26
shellac has quit [Read error: Connection reset by peer]
19:00
sagax has quit [Ping timeout: 268 seconds]
19:13
subbu is now known as subbu|away
19:36
sagax has joined #jruby
19:36
<
headius[m] >
enebo: ok so this will require some work but I have a reduced case
19:37
<
headius[m] >
call me crazy but I'm thinking we ship with it and disable the test and fix it afterwards
19:37
<
headius[m] >
I think it only affects these specific cases where you're requiring a jar or setting GEM_PATH to a jar
19:38
<
headius[m] >
the first case returns [] so it doesn't find the gems in the jar
19:38
<
headius[m] >
that's the case that runs in the "if >= 2.5" section of rubygems/util.rb
20:01
davydotcom has joined #jruby
20:01
<
davydotcom >
has anyone seen an issue since upgrading from jruby 9.1.17 to 9.2.x when running in tomcat with embedded gems a weird invalid argument error
20:01
<
davydotcom >
2020-02-14_20:00:34.61712 Errno::EINVAL: Invalid argument - /opt/morpheus/lib/tomcat/webapps/ROOT/WEB-INF/classes/specifications/winrm-2.3.4.gemspec
20:02
<
davydotcom >
file does exist
20:02
<
davydotcom >
sysopen at org/jruby/RubyIO.java:1236
20:02
<
headius[m] >
Hmm that's new to me
20:02
<
davydotcom >
its driving me nuts lol
20:03
<
davydotcom >
works fine local in dev
20:03
<
davydotcom >
fails running in tomcat 8 java 8 ubuntu OS
20:04
<
davydotcom >
its something with SysOpen
20:07
<
davydotcom >
screenshot of stack trace if this helps
20:11
<
rwilliams[m] >
What is this? I get them every few weeks
20:12
<
davydotcom >
not sure what that is
20:15
<
headius[m] >
well it's chanserv from freenode IRC, must be getting confused by the matrix bridge
20:15
<
headius[m] >
I don't know why it would invite you
20:15
ur5us has joined #jruby
20:16
<
headius[m] >
davydotcom: I think you should file it as an issue and try to narrow it down to a specific 9.x that starts to fail
20:16
<
rwilliams[m] >
Yeah. I can't find a way to disable random invites
20:16
<
headius[m] >
without more info I can't really tell what it might be
20:17
<
headius[m] >
so there's the bug for the remaining failiures with RG update
20:17
<
davydotcom >
it started failing at 9.2.x
20:17
<
headius[m] >
I think we should disable the test and go ahead with RG 3.0.6 in 9.2.10
20:17
<
headius[m] >
davydotcom: that covers almost a year of releases
20:17
<
enebo[m] >
headius: yeah I think so to
20:17
<
headius[m] >
thousands of commits
20:18
<
headius[m] >
do you mean it fails in 9.2.0?
20:18
<
headius[m] >
enebo: ok, then there's nothing else to do on that branch
20:19
<
davydotcom >
ill do some more testing see if i can narrow it more
20:19
<
davydotcom >
standby
20:19
<
headius[m] >
the stack overflow is an issue in all MRI too, it's just an incompatiblity between the RG warn patch and that weird warn+ super test
20:19
<
headius[m] >
davydotcom: cool, thanks
20:19
<
headius[m] >
if you have a small app we can use to test it that would also be a huge help
20:19
<
headius[m] >
otherwise we kinda have to guess at it
20:19
<
davydotcom >
i had to bump due to a CVE on snakeyaml breaking 9.1.18
20:19
<
davydotcom >
i had to bump due to a CVE on snakeyaml breaking 9.1.17
20:20
<
headius[m] >
lovely
20:25
<
headius[m] >
ok I disabled the test...branch should go green now and I'll merge it
20:25
<
headius[m] >
I picked RG 3.0.6 because it's what CRuby 2.5.7 seems to ship with
20:25
<
headius[m] >
suppose I better confirm there's not some CVE
20:26
<
headius[m] >
huh ruby-lang.org is down
20:29
ur5us has quit [Quit: Leaving]
20:36
<
headius[m] >
enebo: we should start putting the version-specific bits from release notes in the tag commit
20:36
<
headius[m] >
then it will show up under github releases
20:37
<
headius[m] >
maybe it's just me but MRI suite definitely seems faster now
20:43
<
headius[m] >
enebo: another change to discuss is the thing the Azul folks found
20:47
<
enebo[m] >
headius: assuming their is no impact with it I don't care setting that on oneclass but I would not want to risk that if we have any doubt
20:47
<
headius[m] >
well in theory it should be totally fine when using OneShotClassLoader to load only one thing
20:47
<
enebo[m] >
headius: It certainly is really unimportant...so perhaps just try it for 9.3.0.0 and then get some time to notice
20:48
<
headius[m] >
I can throw it in a PR and mark for 9.3
20:48
<
headius[m] >
it's literally just calling registerAsParallelCapable in OneShotClassLoader.clinit
20:48
<
enebo[m] >
yeah it probably is worthwhile to observe any effects over a longer period of time
20:50
<
enebo[m] >
yeah I guess not knowing how important that setting is (which appears to add a synchronoize block)
20:51
<
headius[m] >
I read an article on it... seems like it basically reduces some heavy-weight locking in legacy ClassLoader if you don't need it
20:51
<
headius[m] >
so it's an opt-out of full synchronization
20:52
<
headius[m] >
fixing this on OSCL and JRCL might improve loading times a bit too
20:52
<
headius[m] >
JRCL does more magic though so I'm reluctant to just make the change blindly there
20:53
<
headius[m] >
hmm looks lke most risky stuff in JRCL is already synchronized
20:53
<
headius[m] >
perhaps I should throw parallel capable on that too for the PR
20:59
<
headius[m] >
enebo: down to 8 open issues after some punts
21:56
ur5us has joined #jruby
22:22
ur5us has quit [Ping timeout: 240 seconds]
22:50
<
davydotcom >
headius: confirmed my issue is also in jruby 9.2.1.0+
22:50
<
davydotcom >
loading spec classloader SysOpen Err::Invalid
22:53
<
headius[m] >
9.2.0 is ok?
22:53
<
davydotcom >
is this by chance related to ffi?
22:54
<
headius[m] >
It could be
22:54
<
headius[m] >
I am confused about which version is broken
22:54
<
headius[m] >
You said 9.2.1+
22:55
<
davydotcom >
that is what ive tested back to so far
22:55
<
davydotcom >
latest 9.1.17 worked fine
22:55
<
davydotcom >
im verifying 9.2.0.0 again just in case
22:55
<
davydotcom >
when i built this i package the gems into the war and the ffi version did change as well from before
23:02
subbu|away is now known as subbu
23:04
nirvdrum has quit [Ping timeout: 272 seconds]
23:32
nirvdrum has joined #jruby
23:43
lucasb has quit [Quit: Connection closed for inactivity]
23:46
nirvdrum has quit [Ping timeout: 240 seconds]
23:51
davydotcom has quit [Remote host closed the connection]