subbu has quit [Ping timeout: 246 seconds]
razetime has joined #jruby
subbu has joined #jruby
lucerne has quit [Read error: Connection reset by peer]
joast has joined #jruby
subbu has quit [Ping timeout: 268 seconds]
razetime has quit [Ping timeout: 268 seconds]
razetime has joined #jruby
razetime has quit [Ping timeout: 255 seconds]
razetime has joined #jruby
bastelfreak has quit [Read error: Software caused connection abort]
bastelfreak has joined #jruby
subbu has joined #jruby
subbu has quit [Quit: Leaving]
<byteit101[m]> There isn't an easy way to add an extra classloader "parent" to jruby's lookup at runtime is there?
<headius> Nothing comes to mind
razetime has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
<enebo[m]> First problem encountered
<enebo[m]> jirb_swing is used a menu item on windows
<enebo[m]> headius: probably reline change thing?
<headius> I didn't think I had removed our readline implementation
<headius> yeah the dep is still there
<headius> same as it was in 9.3
<headius> yeah it's probably due to reline
<headius> readline.rb just loads reline now because we don't have a clean fallback, so the jruby-readline classes are not loaded
<headius> actually no it doesn't
<headius> hmm
<headius> enebo: works adding `require 'readline'` before `require 'irb'`
<headius> new IRB probably prefers reline so it doesn't even try to load readline
<headius> heh
<enebo[m]> heh
<enebo[m]> now for good news
<enebo[m]> My KVM switch changing did that
<enebo[m]> Rails 7 runs on windows
<enebo[m]> Rails 6 always ran into the sassc thing
<enebo[m]> headius: can you commit that. I have a commit already for version change and I will just rebase over that
<headius> Wow rails 7 on windows
<headius> Yeah will do
<headius> pushed
<enebo[m]> I think we are ok as far as the typical sort of testing goes. I think it is a bonus we also run on an earlier version of Rails and not a bug we throw :)
<headius> very nice
<enebo[m]> I have no illusion we will have ample evidence of .1 coming by tomorrow but we can only test what we can test
<headius> yeah ship it
<enebo[m]> I think we do resist a .1 until after Rubyconf unless it is horrifically bad
<enebo[m]> ok I will respin and verify that works on windows
<enebo[m]> It is possible something else is wrong when run from there
<headius> of course there's a large class of bugs we won't see until people start trying it, so I think we're fine putting out what we have
<headius> it works on our verifications and we have continued to improve while working on new features
<enebo[m]> jirb_swing works on windows
<enebo[m]> I am going to push gem and release on maven
<headius> hot crackers
<enebo[m]> headius: did I dream this but I think you wrote up notes a couple of weeks ago?
<headius> I wrote up notes for 9.3.9 a couple of weeks ago
<headius> don't believe I have started anything for 9.4
<enebo[m]> yeah I do remember that so I think I probably just remembered that twice :)
<headius> we need to change around the version text and stuff... I will start putting together notes but I'm mostly going to just list the gem versions at release, have a bullet for compat upgrade to 3.1 with caveats (scheduler, ractor, etc), and then maybe scan issues and PRs for anything special work calling out
<headius> we have not that many issues because we have put most issues into 9.3 over the past year
<enebo[m]> I think this set of notes will just be about updating compatibility
<enebo[m]> actual things fixed maybe is not even worth doing specific issues
<enebo[m]> we have gazillions of development PRs which do not really help anyone
<headius> yeah
<headius> exactly
<enebo[m]> So what we broadly support what we decided not to and what we plan on
<enebo[m]> I decided to leave all punctuation of that sentence for the challenge
<headius> ok there's too many gems, I'm just going to link to the lib/pom.rb
<enebo[m]> yeah honestly I don't think even that level of detail is too importat as we mostly are trying to ship same gems as 3.1. Of course we know we have a lot of open issues there but I think from a consumption perspective they will use what we have
<headius> punted remaining Rails 7 bullets to a 9.4.1 issue
<headius> you still have that UndefinedValue issue open on 9.4
<headius> I moved it to 9.4.1
<enebo[m]> yeah ok
<enebo[m]> yep. I really wish we had found that but that is what I expect to see on Thanksgiving day
<headius> only 30 actual issues associated with 9.4
<headius> 201 PRs
<enebo[m]> yeah I don't think they have any value since I think mostly they just reflect reaching the compat level
<enebo[m]> I guess if I was on 9.3.9 or 9.2.21 I might wonder what was fixed but do any of those do that?
<headius> is this the first release with jruby.sh?
<headius> yeah it is
<enebo[m]> headius: I am going to close your mismatched tags PR
<headius> you were able to do a cleanup?
<enebo[m]> headius: I am sure I closed a large subset of those yesterday
<headius> ok that's fine
<enebo[m]> I did not close now passing stuff but that is an ongoing issue
<enebo[m]> this pr did too much
<headius> ok this was pretty easy
<headius> enebo: can you generate the issue list as a markdown link list?
<headius> formatting like [#1234]: https://github.com/jruby/jruby/issues/1234
<headius> I will just put the issue short links in these notes and if you can generate that list it will just work
<enebo[m]> I thought I had made that change but do you really want to generate that list of this release?
<headius> this is just for the issues links in release notes
<enebo[m]> I guess it will show some amount of effort but I don't think it is meaningful
<headius> so I'm not doing it manually
<headius> are you saying you don't want the issue/PR list at all?
<enebo[m]> yeah I don't think it provides any value
<headius> the list I need would not show up and just provides the links for my short refs
<enebo[m]> so I can make a complete one and perhaps then you just link what you want to highlight
<enebo[m]> I see
<headius> well providing the list has always been extraneous given that you can go to the milestone on Github
<headius> if you can format your generated list like the above line then it will make the notes easy
<enebo[m]> You have to love that somehow that script is not working
<headius> or show me where your script is and I'll generate what I need
<enebo[m]> ok this worked a month ago
<headius> initial notes, I'm working on the contrib list: https://gist.github.com/headius/a95d075b806d6ad9e7b3ff034ae8b5bf
<enebo[m]> Apparently the API will not see closed milestones
<enebo[m]> Or I am specifying open when I could be looking into something more general
<enebo[m]> headius: This format is what you need though right?
<enebo[m]> It has extra text after the number but it is in markdown format
<headius> [#1372 - STDIN.gets under jirb doesn't work](https://github.com/jruby/jruby/issues/1372)
<headius> oops
<headius> [#1372 - STDIN.gets under jirb doesn't work](https://github.com/jruby/jruby/issues/1372)
<headius> that format is just for direct links
<headius> I need the format for embedded links... I put [#1234] in the notes and then below there's a list like [#1234]: link here
<headius> look at the raw content of my notes to see some examples at the bottom
<enebo[m]> ok I will just strip the - more text part
<headius> and the parens
<headius> and add a colon
<headius> :-)
<enebo[m]> yeah yeah
<enebo[m]> I will probably just add an ENV to pick the output
<headius> sounds good, will make future notes easier
<enebo[m]> notes << %Q{- [#{issue[0]} - #{issue[1]}](#{issue[2]})\n}
<enebo[m]> It is not too complicated
<enebo[m]> Do you want the leading -?
<enebo[m]> I see nope
<enebo[m]> gist coming up
<headius> cool
<headius> looks like it works
<headius> almost done with contribs
<enebo[m]> headius: going to break for a short lunch
<enebo[m]> probably ~15-20 minutes
<headius> notes are done for now, let me know if you think we need anything else
<headius> we can collab on the general text about 9.4 but I assume it will be similar to 9.3 (intended to be compatible with 3.1, updates will continue to fix and improve, etc)
<headius> tweet is ready to go
<headius> let me know when you are back and we can finalize, I'm going to have some quick lunch too
<headius> I want to say something about being the first alternative Ruby with full support for Ruby 3.1 language features, not sure if that is for notes or tweets or a blog post
<enebo[m]> just making some coffee now
<enebo[m]> headius: back
<headius> Yo
<enebo[m]> headius: perhaps we should reference the execution order issue and say it is not done
<enebo[m]> it is quite uncommon for anyone to hit it but it is a language feature which is not completed
<headius> Call it out in a separate bullet?
<enebo[m]> maybe since we have an issue for it
<enebo[m]> Also you say mysql is not working did you try it?
<enebo[m]> we have .pre for it so I thought it was in some form of working
<enebo[m]> It is difficult to see what the state is when they delete the logs
<enebo[m]> but I am guessing mysql must have been mostly passing tests when I put 70.pre of it
<enebo[m]> I did not explicitly put out postgresql
<headius> Ah good point about mysql
<enebo[m]> I just don't remember any of this
<headius> Oh right, there's a 70.0 for it?
<headius> Pre
<enebo[m]> yeah for sqlitre3 and mysql but not postgresql
<headius> well mysql would be better for my talk at least
<enebo[m]> once this is done I am going to figure out if I can make our test runs a bit more green there
<enebo[m]> Try it out this afternoon. If something is wrong then it can also be tacked onto the priority list
<headius> yeah I am pulling mysql in docker now
<enebo[m]> Interesting that for 6.1 (last thing run) our only real failures is something with serializing Ruby objects using the db somehow
<enebo[m]> At some previous point those were totally green so that looks like it could be new tests
<enebo[m]> I half feel like doing a bump commit of something trivial just to see how 70 is
<headius> in CI?
<enebo[m]> I just merge 61-stable to master (70) which will update the sqlite3 commit which will do a CI run
<headius> nice
<headius> ok
<enebo[m]> they only keep CI logs so long
<enebo[m]> So let's see if mysql looks ok or horrible
<headius> Rails 7 just came out this fall, right?
<enebo[m]> I remember mysql and sqlite3 being ok but postgresql not working at all
<enebo[m]> ? I don't remember
<enebo[m]> but this pre was 7 months ago
<enebo[m]> So maybe last fall
<enebo[m]> or this spring
<enebo[m]> yikes something really bad with mysql but I think it may be configuration
<enebo[m]> ActiveRecord::AdapterNotSpecified: The default_env database is not configured for the default_env environment.
<headius> I am seeing alias_method_chain error again for some reason
<headius> trying to figure out if it is my env
<headius> you ran rails 7 just a bit ago right?
<enebo[m]> this is CI for arjdbc
<enebo[m]> It appears whatever was making the databases in mysql is not there perhaps
<headius> so I can say mysql is working in notes
<enebo[m]> I have not tried it so I don't know that but I cannot see how I could have released with it looking like this in CI
<enebo[m]> Seems like something changed
<headius> I can change the notes any time
<headius> trying to test it here myself
<enebo[m]> err I just realized I was not looking at real AR tests but the copied local ones
<headius> ugh what is up with my env, I am getting that jzlib Java 9 classfile thing on openjdk 8 now
<headius> which could never have gotten through CI
<enebo[m]> ok. so tons of errors with sqlite3 tests too :)
<enebo[m]> but we know the basics of it works so if you can get mysql right then perhaps it will also work
<headius> some of that might be small global changes to data types etc?
<headius> not that we shouldn't fix but they may be common small changes across all adapters
<enebo[m]> fwiw a large number is a kwargs thing but I think it is us calling a Ruby method from Java and it should use kwargs and not hash
<headius> oh I see
<enebo[m]> which is not a problem with JRuby but with ARjdbc
<headius> interesting
<enebo[m]> it appears to be the case in one trace but I could also see generic ruby issues where we do foo(something, options) and not something, **options as well
<headius> I am having trouble on Java 8, did you verify with 8?
<enebo[m]> We push forward and I will first hack on sqlite3 just to kill those simple kwargs errors then move to mysql
<headius> too late now but I don't understand what's happening here
<enebo[m]> I use 8 to build and test
<headius> we run 8 on many jobs
<headius> so this has to be my env
<headius> oh snap I know
<enebo[m]> openjdk version "1.8.0_242"
<enebo[m]> java -version
<enebo[m]> I wonder if something is pulling that independently somewhere
<headius> I was mucking around with modules and jzlib doesn't have a descriptor so I made a module version in a fork
<headius> compiled with 9
<headius> it is still in my repo
<headius> so that openj9 problem was also my fault... I can look into the CI failure now yay
<enebo[m]> so can you explain this? something with 9 got committed somewhere but is only loaded some times?
<headius> I guess I should rehome that on org.jruby if I'm going to fork it
<headius> I was trying to get modularity working, and jzlib has no module descriptor, so I made a fork of it that adds the descriptor and built a local copy for testing
<headius> using Java 9ish
<headius> so it is just a stale dev jar in my local m2 repo
<enebo[m]> so we were not also seeing this in the CI j9 job
<headius> right
<enebo[m]> ok. That was my confusion. I did not realize this was only your env
<headius> different issue showing in the CI job but I couldn't get to it because of this (I only tried openj9 Java 8
<enebo[m]> yeah
<headius> yeah deleted the crud and I'm fine, whew
<enebo[m]> so perhaps we generalize the stmt about arjdbc and say more work is coming
<enebo[m]> and just finish the release itself then spend afternoon on Rails stuff which also helps support the talk
<headius> oh duh
<headius> the alias_method_chain thing is due to old ARJDBC
<headius> I had forgotten
<enebo[m]> yeah
<headius> so that is fine too
<headius> I should be able to try mysql scaffold shortly
<enebo[m]> 50 got yanked but it now with --pre goes to 1.4.3 for some reason
<headius> I can say "SQLite and MySQL are mostly working, but work remains to update them and PostgreSQL for Rails 7."
<enebo[m]> sure assuming you get mysql to come up
<headius> assuming
<headius> wish you could generate with pre gems but then it would probably pull in rails 9 or something
<enebo[m]> but I just don't think I would have put it out broken (although 7 months ago it may have worked and head fixes may have broken it
<enebo[m]> 7 months ago kwargs was probably very unstrict
<enebo[m]> or possibly accepted regular hashes as kwargs here and there
<headius> yeah 2.6 style
<enebo[m]> but beyond that from a db perspective I doubt much would change
<headius> at least it tries all tasks in the rails 7 new app generation, so I can go back and re-run them
<enebo[m]> we would have to look at release of AR to see if something was released which broke things internally
<enebo[m]> yeah
<enebo[m]> I only have a very fuzzy recollection about this but I remember postgresql not working and thinking 2 of 3 is not bad
<enebo[m]> but I am 100% sure we were not 100% passing on either of those
<enebo[m]> kind of like horse shoes
<headius> this was all done just prior to railsconf talk
<headius> pretty sure I ran those numbers against mysql
<enebo[m]> oh hahah I even forgot why we did this
<enebo[m]> man what a time to be alive
<headius> ugh allowPublicKeyRetrieval=true
<headius> I have to relearn this shit every six months
<headius> undefined local variable or method `reload_type_map' for #<ActiveRecord::ConnectionAdapters::Mysql2Adapter:0x297bbd41>
<headius> well that's not good
<headius> trying to db:create
<headius> after adding that property above so it doesn't cough a gigantic Java stack trace at me
<enebo[m]> hmm
<enebo[m]> That looks bogus to me
<enebo[m]> When I saw that I thought, "hmm that looks like a postgresl thing"
<enebo[m]> if I look in activerecord it is only referenced in postgresql
<headius> hmm
<enebo[m]> ./lib/arjdbc/mysql/adapter.rb: # reload_type_map
<enebo[m]> Hmm must be called from within Java
<headius> it's possible I created mysql db by hand for railsconf but perhaps I only tested on sqlite3 and did benchmarking on rails 6
<enebo[m]> wtf
<enebo[m]> I do not see reload_type_map in AR outside of postgresql or in arjdbc
<headius> ```
<headius> oops
<headius> confusing
<headius> it does call it
<enebo[m]> # FIXME: This seems to have disappeared in Rails 7?
<enebo[m]> # reload_type_map
<headius> yes
<enebo[m]> HAHA so ok. I think .pre does not have that comment
<headius> I just saw that the only rails libs that have it are in 6.1 locally
<enebo[m]> ok just edit the gem and remove that
<headius> jackpot
<enebo[m]> a3a91e2948f5401ce2497a5c639221a14e720fdf
<enebo[m]> May 16
<headius> take me to your leader
<enebo[m]> weird it didn't make it to the .pre
<headius> crazy days
<enebo[m]> well I have a number of commits after the .pre
<headius> blog app works
<headius> ship it
<enebo[m]> ok good. So work to do but it confirms my notion that this worked somewhat
<enebo[m]> I will put what time I have this afternoon and improve on the situation and do 70.0 for those two
<headius> yeah so if we push some 70.0 gems from head it should work out of the box
<headius> cool
<enebo[m]> I think we can get a bit more working
<headius> I can run with pre gems for working on talk but others may try it over the weekend
<headius> it's not thanksgiving everywhere
<enebo[m]> yeah I mean they are screwed
<enebo[m]> whatever comes out this afternoon will still have smoe issues
<enebo[m]> I think not making much out of Rails support today is probably better but I do plan on a 70.0 this afternoon
<enebo[m]> although daylight is burning
<headius> * Initial support for Rails 7. SQLite and MySQL are largely functional, but work remains to update them and PostgreSQL. coming soon.
<enebo[m]> sure sounds good
<headius> minus the rogue coming soon
<enebo[m]> coming to a theatre near you
<headius> release notes are basically ready then
<enebo[m]> ok I will put them onto the site and push
<enebo[m]> once we see it up we will just do our normal stuff
<headius> good job everybody
<headius> ice creams all around
<headius> so when do we fork 9.4
<enebo[m]> not for a while
<headius> I'm planning to stick to maintenance until holidays but then I want to push some perf and compat edges
<enebo[m]> I just think we will have a lot of compat reports and anything we do which is beyond probably is just a topic branch for a while
<headius> I'd like to see if we can run mastodon with some work
<headius> fork will start to become necessary whenever we start to rework call protocol for kwargs
<headius> we need a new site design
<enebo[m]> yeah although that itself can just get merged back. If it is destined for a point then it will be but in any case we can make a support branch in a bit
<enebo[m]> anyone who contributes will get the wrong branch too so near term not branching will cause a little less confusion
<headius> I dunno, the kwargs support I envision may need to break some stuff
<headius> it may be possible to merge back but we need to greatly expand what we can pass on the call path
<headius> if we can pass in things like scopes, frames, callee method name, etc, we can start to eliminate threadcontext use
<enebo[m]> yeah I realize that but are you saying this is .next or still destined for a point release?
<headius> .next
<headius> JRuby Z
<enebo[m]> well I don't care a ton here but lets start with a topic and then we can just create maint at some point and then take over main
<enebo[m]> It is git so I don't see much issue here and if people are still using jruby-head I don't think they want to see broken runtime
<headius> this work will happen on a branch anyway so it's not pressing until we want to have it in mainline .next
<enebo[m]> so I think you want that design to be baked enough for when that happens to show how it needs to update
<enebo[m]> yeah
<enebo[m]> that is how I feel too
<enebo[m]> I pushed site...we can make sure it looks ok before going further
<headius> I still don't have a good sense for how to manage maintenance versus active dev on git branches
<enebo[m]> I checked links for downloads and they all work
<headius> live for me now
<enebo[m]> for me I think for CI people are using jruby-head for 9.4 and will be for a while. For PRs people always seem to open against our main branch too
<headius> looks pretty good to me, but maybe we should add some links to issue tracker, matrix, twitter/mastodon?
<enebo[m]> So until we get to a reasonably stable point it seems easier to leave it as main and move to maint once things slow down
<headius> we didn't in the past but I want people to easily know how to reach us
<enebo[m]> oh sure you can commit changes I guess
<enebo[m]> I paste the raw text for email off of the web site
<headius> ok give me a minute
<enebo[m]> for GH releases I do use the .md
<headius> pushed
<headius> live for me, how does that look to you
<enebo[m]> yeah looks good
<enebo[m]> I will push out emails and GH releas
<headius> sweet
<headius> it's live
<enebo[m]> and you can do what you have been doing?
<headius> I'll do my socials and installers
<enebo[m]> ok
<headius> I'll do socials after installers this time
<headius> so docker
<headius> do we drop 9.2?
<headius> we have been doing 9.3 as primary but still have 9.2 out there
<enebo[m]> I don't know. Someone may be using the image right?
<enebo[m]> Is this just something which fades away or should be be severed?
<headius> could be, not sure what happens when I drop it from this docker file
<headius> I'll leave it for now until we know for sure
<enebo[m]> oh hahah
<enebo[m]> I didn't realize it worked like that
<enebo[m]> I have no idea
<headius> we push separate docker files for each config, and then docker hub et al build images
<enebo[m]> so by pushing with some older entries it knows it already has those images
<headius> then we have a docker hub file that lists all versions on thedocker hub page
<headius> so it would be removing it there
<enebo[m]> but how you see those images or whether they age out is a question
<headius> yeah unsure
<headius> older versions must still exist somewhere
<enebo[m]> yeah I guess I wonder how other projects handle this
<headius> just would not be listed on main jruby hub page
<enebo[m]> yeah that is the big question
<enebo[m]> listed and existing are two things
<enebo[m]> it is possible those are linked but it would be helpful if they weren't
<enebo[m]> but if that is the case are images immortal?
<enebo[m]> Feels like there may be aging or yanking or some separate mechanism for that unless they are linked
<enebo[m]> I am just iterating all possibilities :)
<headius> images seem like they would have to be long-lived
<enebo[m]> GHA out and emails out
<headius> can't just pull a version of an image when new one comes out
<enebo[m]> you would think it would cause lots of reporting if images just nuke when someone changes the config
<enebo[m]> or removes an old entry
<enebo[m]> but hey it is software made by a human
<headius> ok that's all the install paths
<enebo[m]> yay
<headius> tweet time
<headius> I wish fb post links weren't such trash
<headius> like and subscribe
<enebo[m]> smash the like
<headius> everything's done
<headius> installer PRs will take a bit to propagate
<enebo[m]> On to ARJDBC!
<headius> yeah I'm gonna tweet about the pre gems in case anyone jumps on this immediately
<headius> I just got a ton of spam replying to your release announcement
<headius> spam replies
<enebo[m]> yeah ruby-talk is dead to me now
<enebo[m]> I got rejected as spam and saw we literally only for 40 page views on google groups
<headius> oh it's these qq.com emails from china, they seem to have a lot of auto-replies
<enebo[m]> 9.3.9.0 was not rejected but the last threads I read were toxic and no one seems to be on
<headius> vacation replies and stuff like "rest assured your email was received"
<headius> not really spam but noisy
<enebo[m]> hahah
<headius> gonna have to boot these accounts
<enebo[m]> I think ruby-talk is effectively dead
<headius> this is on our list
<headius> not on list but direct reply
<enebo[m]> oh are you sure?
<headius> yes
<enebo[m]> crazy.
<headius> I remember seeing these emails trying to subscribe
<enebo[m]> I send to both at same time
<enebo[m]> Tells you how dead ours is
<headius> did you not get these?
<enebo[m]> I think email lists are just not the way anymore
<enebo[m]> yeah but I thought they came from ruby-talk
<enebo[m]> Ah I see
<enebo[m]> gmail is not helpful unless you look at original message
<headius> I unsubed all the auto-repliers
<headius> no bug reports yet and it's been almost an hour
<headius> I missed this
<enebo[m]> ah well it there is a workaround and we will get other things
<headius> we probably should tweet something about it
<enebo[m]> yeah it won't hurt
<headius> bleh the mastodon/twitter integration doesn't do a great job with usernames, as you discovered
<headius> no way to tell that @ruby on Twitter is @jruby@ruby.social on Mastodon
<headius> 9.3 does not use cgi gem
<headius> so it ships sources that are affected and can't be updated
<enebo[m]> We could do a 9.3.9.1 today I suppose
<enebo[m]> I don't care that much about 9.4 since I don't think anyone will be using this in production
<enebo[m]> and as you say they can work around it
<headius> could you update master VERSION? I still have issues with poms generating different order attrs
<enebo[m]> doing that now
<enebo[m]> oh yeah I did not put it to snapshot
<headius> I can put together a PR for 9.4.9.1 based on whatever version of CGI it has now
<headius> 9.4.9.1
<headius> ugh
<headius> 9.3.9.1
<enebo[m]> yeah
<headius> apparently 9.3 is already dead to me
<enebo[m]> I am thinking these sqlite3 failures might show off a problem with kwargs . I need to see if they all go away with --dev
<headius> woah wait a sec
<headius> oh nevermind, wrong repo
<enebo[m]> pushed snapshot version
<headius> hmm I have no idea what version of CGI this is in 9.3
<enebo[m]> makes sense
<enebo[m]> No doubt it is fairly old
<headius> cgi updated on master
<headius> enebo: CRuby did not put out an update release for this
<headius> only the gem
<headius> I think we still need to fix 9.3 but probably not 9.4
<headius> I mean security release 9.3
<enebo[m]> definitely not 9.4
<enebo[m]> People should know it needs to be updated but they can update it and no one will be use .0.0 for anything real yet
<headius> I hope not
<enebo[m]> plus we will be putting out another version fairly soon
<enebo[m]> 9.3 on the other hand
<enebo[m]> I would like to get a fix this afternoon so it is not holding over us
<enebo[m]> xgiving + talk + travel next week
<enebo[m]> If I discover something big with kwargs today I might work on friday
<headius> oh wtf, cgi gem has no branches?
<headius> hopefully this is the right diff: https://github.com/jruby/jruby/pull/7475
<headius> I assumed what we had was along the 0.1.0 line since 2.6 had just barely started to gemify, so I grabbed the security fix 0.1.0.2
<headius> that tag exists in cgi repo but I cannot find any branch for it
<enebo[m]> The :: to . makes this noisy but it is what it is
<headius> yeah
<headius> I opened an issue on cgi to figure out where the heck these old versions are maintained
<headius> if this passes, though, it should be ok to go with
<headius> oh come on
<headius> the 0.1.0.2 tag in cgi repo has a VERSION of 0.1.0.1
<enebo[m]> I don't see where the fix is
<headius> I'm going to try copying from 0.1.0.2 gem
<headius> who knows where the hell they are keeping those sources
<enebo[m]> There seems to be a single line about user agent env which returns early but everything else seems to just be changing how it is written
<headius> I see the fix in the gem
<headius> it is incremental on 0.1.0.1
<enebo[m]> headius: is it in your PR yet?
<headius> on its way
<enebo[m]> oh ok. good
<enebo[m]> heh. I read all that code twice and it looks like deck chair swapping
<enebo[m]> some of it I do get why they changed it though
<headius> pushed an additional commit updating from 0.1.0.1 (apparently) to 0.1.0.2 gem contents
<headius> I do not know where those gem contents came from
<enebo[m]> well that fixes multiple security problems
<headius> yeah
<headius> why can't they get these repos together
<headius> cgi is fully gemified now and they have no branches for maintenance versions
<headius> how do they even cope
<enebo[m]> they fix it in MRI and remember to just commit it later in the gem
<enebo[m]> My theory
<enebo[m]> because they have never removed any tests for these libraries in MRI proper
<headius> so bad
<enebo[m]> yeah ergonomically having one repo is so easy
<enebo[m]> so this decision is making things less ergonomic (albeit for reasons)
<enebo[m]> it feels like the solution to one problem sort of created two problems
<enebo[m]> Makes you wonder why they never just made ext/cgi where that is in MRI but has a rakefile for making the gem
<enebo[m]> The source of that dir may or may not be in the release which I think is the answer but that is very very unlikely to be true since they commit to MRI first
<enebo[m]> Anyways I am willing to roll with this assuming we can do some kind of sanity on this
<enebo[m]> I am hoping this is actually used by stuff like Puma?
<headius> very frustrating
<headius> we'll see how CI goes
<headius> I do not know how exposed this is via e.g. puma
<enebo[m]> yeah if not then it probably really is not worth rushing this out
<enebo[m]> but that second commit does look reasonable
<headius> I would like to get an answer from cgi maintainer before we push this
<enebo[m]> no \n and some no special regexps for some values
<headius> btw in case we didn't discuss before, we can't really update 2.6 stdlib automatically anymore because it has continued to move on from CRuby 2.6 branch
<headius> this for example
<enebo[m]> 6:40am in Japan
<enebo[m]> yeah it is an issue with taking so long for 9.4
<enebo[m]> in other mildly bad but also not so bad news. There are some kwargs errors running sqlite rails ar tests
<enebo[m]> Thus far whenever I extract the code it does not happen but it is AR library code calling AR library code
<headius> ok I was wrong about the tag being wrong, I copied from 0.1.0.1 tag somehow
<headius> but I still don't see how 0.1.0.2 tag exists in this repo... master HEAD is at 0.3.5 and there's no other branches
<headius> it doesn't exist here either: https://github.com/ruby/cgi/tags
<headius> I think that only includes reachable tags, and if this isn't reachable it's pointing at a non-branch
<headius> that might keep it alive but there should be a branch!
<headius> enebo: I think we have the right sources and can go with it if it seems ok on our end
<enebo[m]> so can you verify cgi is used just doing a simple puma app with that in your trere?
<headius> cgi used during gem install
<headius> and rails app generation
<headius> and bundling
<headius> (dunno if any of these uses would be exposed)
<headius> cgi does appear to be loaded when running rails server
<headius> which is puma
<enebo[m]> put in a print or two :)
<enebo[m]> That won't prove it is working as designed but it will tell you it is being used
<enebo[m]> I have a pet peeve that repro scripts are not more quickly disclosed
<headius> I did put a print in the main CGI file
<headius> There might be a C Ruby test
<enebo[m]> yeah I just meant in the places which are checking crlf and \n
<enebo[m]> yeah I bet there is
<headius> Or spec
<enebo[m]> test_cgi_cookie exists
<enebo[m]> I do not have latest source but I can see it has that in our copy
<enebo[m]> no doubt with no security tests since we do not have the fix
<enebo[m]> not that we do what MRI does
<enebo[m]> test/cgi/test_cgi_cookie.rb | 82 ++
<enebo[m]> test/cgi/test_cgi_header.rb | 8 +
<enebo[m]> doing a pull on mri
<headius> Those should be in the 0.1.0.2 sources I copied, but I didn't pull in tests
<enebo[m]> yeah those tests are part of the reason I dug up the commits
<enebo[m]> they can be run without running rails/puma
<headius> I can try it see if this code is used in puma but I'm running out of time before Thanksgiving prep has to start
<enebo[m]> I think just running those tests from a command-line is enough
<headius> I don't understand then, do you want to put out a security release even if puma doesn't use this code?
<enebo[m]> we could put these out friday morning and take a part day too
<headius> I can certainly confirm that it's fixed quickly but it's hard to know if puma exposes this bug
<enebo[m]> yeah if puma does not use it then I don't think there is a big problem
<enebo[m]> if puma does use it I dno't think it has to go out today but it has to go out pretty soon
<enebo[m]> if we spent a couple of hours friday morning we could not feel like we are rushing and still have most the day off
<headius> Okay I follow
<enebo[m]> tbh I don't feel great about trying to push something out on our stable branch with 10 minutes and a strong desire to finish it
<headius> Agreed, but I have second Thanksgiving on Friday
<enebo[m]> ah I see
<headius> I can probably help with release tasks midday though
<enebo[m]> well maybe saturday morning
<enebo[m]> I think this is mostly just verifying it is working and is not breaking stuff
<enebo[m]> For release all I would really want is justwhat you normally do
<enebo[m]> but one of us needs to just make sure it is working so we don't have to do it again
<enebo[m]> I am feeling a bit frazzled this afternoon
<headius> me too
<headius> checking puma and then I'll run that test
<headius> well the root status page in dev mode does not hit that _no_crlf_whatever method
<enebo[m]> looking at puma source
<enebo[m]> so no reference to cgi in puma but it uses rack
<headius> ah
<headius> the domain test fails
<headius> the other one passes
<enebo[m]> ./lib/rack/mock_response.rb:require 'cgi/cookie'
<enebo[m]> ./test/spec_request.rb:require 'cgi'
postmodern[m] has joined #jruby
<headius> that seems like a kwarg error
<enebo[m]> on 9.3?
<headius> well look at the test
<headius> it is doing kwargs with string keys
<postmodern[m]> Hello, I'm trying to get some code passing specs under JRuby 9.4 (congrats on the release btw) but the code deps in net/ftp, which deps in time, which deps in date, which contains C extensions which obviously won't install under JRuby. How do I work around the stdlib gem deps for JRuby?
<headius> unclear what is up there
<enebo[m]> It should make a {} in 9.3 and then gets to be *value so [{}]
<headius> postmodern: some of those transitive deps just don't exist yet, and we know that's a problem... you see this because net-ftp is in Gemfile?
<headius> we may need to get someone maintaining the date gem to release a -java no-op version temporarily
<headius> test works on 9.4
<enebo[m]> There is really weird semantics with **r and getting passed to non-kwarg *r
<headius> this appears to be the first test that attempts to pass through a merged hash using **h
<headius> it may be a bug in kwarg hash merging in 9.3
<enebo[m]> maybe?
<enebo[m]> run that same code with 2.6 to be sure I guess
<headius> I can't install 2.6 still, no ossl 3 support and I have not had much luck working around it
<postmodern[m]> headius: correct. I had to add the `net-ftp` gem to the `Gemfile` but only `if RUBY_VERSION >= '3.1.0'` so my code can require `net/ftp`.
<enebo[m]> **r in 2.6 should literally just end up making a hash
<enebo[m]> and *value should slurp that in
<headius> postmodern: because that is the first version where it moved to a bundled gem?
<enebo[m]> I do not even think there is any kwarg magic for this in 2.6
<postmodern[m]> headius: correct, ruby 3.1.0 made some changes to which stdlib gems were part of stdlib. I believe they moved some of the `net-*` gems out.
<headius> postmodern: looks like time 0.1.0 does not require date
<postmodern[m]> headius: https://stdgems.org/3.1.0/ right they moved `net-ftp` from being a stdlib gem to being a "bundled gem".
<headius> best option at the moment is however you can avoid date being a dependency
<headius> net-ftp just appears to require time >= 0 so 0.1.0 would probably be fine
<headius> that is what we ship in stdlib
<postmodern[m]> but time deps in date.
<headius> 0.1.0 doesn't
<headius> I believe if you explicitly add time 0.1.0 to your gemfile it will be ok
<headius> enebo: maybe a higher priority to get date gem sorted one way or another
<headius> that's as far as I've gotten
<enebo[m]> headius: yeah definitely an issue
<enebo[m]> the noop gem would be a reasonable stop-gap
<headius> we are lucky rails deps do not pull it in so far
<enebo[m]> the other fun bit is we have native parts
<postmodern[m]> headius: That worked. Locked `time` to `0.1.0`. Specs run, but now there's a lot of interesting zlib and openssl failures.
<headius> enebo: so do they
<headius> so it either needs to be another native gem with jruby parts, or it stays a no-op, or we just include our Ruby bits in the gem and assume the rest stays in JRuby
<headius> enebo: back to cgi
<headius> I'm not sure what to do here... this test breaks on 9.3 but it is not related to the cve
<headius> the same code passes the test on 9.4
<headius> using cgi v0.1.0.2
<headius> do you have 2.6 installed?
<headius> git clone git@github.com:ruby/cgi.git
<headius> then go into it and bundle ; rake test
<enebo[m]> I have 3.6.7 I think
<headius> I will try to fix my 2.6 install some day
<enebo[m]> same error
<headius> on ruby 2.6?
<headius> ok great
<enebo[m]> mri26 -v
<enebo[m]> ruby 2.6.9p207 (2021-11-24 revision 67954) [x86_64-linux]
<enebo[m]> yeah so this is written around ruby 3+ kwargs
<headius> so they committed a fix to this library that includes a test that won't run on 2.6
<headius> and maybe not 2.7
<enebo[m]> yeah...2.6 is dead to them!
<enebo[m]> I think I do have a 2.7 installed but rvm hates me...let me hook it back up
<headius> 2.7 is not EOL and will need this CGI fix
<enebo[m]> lol
<headius> what a mess
<headius> ok I will open an issue
<enebo[m]> So in this case though the initialize DOES work on 2.7
<enebo[m]> So they do have something which works 2.7+ but not in 2.6
<enebo[m]> headius: ^ those other two errors is something else
<enebo[m]> having said that it is not unescaping '' which is probably a weird corner case but it does mean this library will change again
<enebo[m]> I do not think that is an env issue on my box
<enebo[m]> s/is/are
<headius> wait, I'm confused now
<headius> I thought your most recent error was 2.7
<headius> I see it is 2.6.9 now
<enebo[m]> I have two separate error gists
<enebo[m]> the last one is 2.7
<enebo[m]> but it shows different errors
<headius> ah ok
<enebo[m]> the previous one is 2.6.9 which is like our 2.6
<headius> so the test does work in 2.7
<headius> I probably won't get much traction fixing this test for 2.6 but I will file the issue
<enebo[m]> yeah that particular test works so it depends on transitional to 3 kwarg features
<enebo[m]> no I think we just track through where it is hung up and fix it to be pre newer kwargs behavior
<enebo[m]> but what uses cgi.rb anyways :)
<enebo[m]> webrick?
<enebo[m]> so the answer is erb
<headius> yeah not much
<enebo[m]> although a lot of projects may not make this reference explcit
<enebo[m]> and why would erb use it
<enebo[m]> unescape?
<headius> yeah probably
<headius> which is being moved into an ext special for erb now
<enebo[m]> so this CVE is for webrick more than anything I would bet
<enebo[m]> rack uses it but only for mocking out a network connection for testing
<enebo[m]> So I think we just maybe do this after your talk but before you go to next trip
<headius> this is new
<headius> Jeremy already pointed out that it will break on JRuby and k0kobun will work with us on that
<enebo[m]> ah I think I even have a tab open on that
<enebo[m]> damn there is too much to keep track of
<headius> ok so let's settle cgi
<headius> it isn't used by much
<headius> the fixes appear to work even though we can't pull in the test
<enebo[m]> but I am a bit worried about that test that fails
<headius> so security release friday or saturday then?
<enebo[m]> If that is 2.6 callable new example then any changes to initialize probably broke that part of the library
<enebo[m]> I believe we can wait a week on this and I/you can figure out the constructor. I don't think we can accept that signature without figuring out if that is a valid call to the constructor
<enebo[m]> I think waiting is not a big deal because I do not think it is commonly used
<enebo[m]> getting it fixed next week is not horrible considering it is a major us holiday
<headius> it's only done in the test though
<headius> it is just failing on the call side when it tries to negotiate those hashes
<enebo[m]> that call might be done in webrick using that rype of signature to new
<enebo[m]> I am just saying the test doesn't work but the call it uses in the test may be a form the library needs to accept
<headius> I see no recent changes to webrick
<headius> I disagree
<enebo[m]> Maybe we are talking past each other here.
<headius> I believe this is just nobu using nobu tricks to save typing out the hash every time
<headius> tricks that work on 2.7 but not 2.6
<enebo[m]> I don't care about the test per se. I am concerned the changes to initialize breaks 2.6 acceptable calling conventions due to how the method was change
<headius> what method?
<enebo[m]> initialize for Cookie
<enebo[m]> def initialize(name = "", *value)
<enebo[m]> Has it always been that or has the body always been the same
<headius> I see no changes to initialize
<headius> that signature has not changed since 2008
<enebo[m]> ok reading the docs the whole thing is an options hash as a regular argument but then also an extra **h
<headius> it just expects an options hash as a possible argument and uses it later in the method
<enebo[m]> which as you said earlier should merge
<headius> this test is just a nobuism
<enebo[m]> yeah I find this extremely confusing as a snippet
<headius> I patched the test and it passes
<enebo[m]> So in 2.7+ that snippet will end up somehow merging into a single kwarg
<enebo[m]> in 2.6 the first hash becomes name
<headius> I swear I'm going to rip the pgup pgdn keys off this keyboard
<headius> who thought it was a good idea to put them right next to the arrow keys
<enebo[m]> so I am on the same page of opinion that nobu wrote something which will just not work on 2.6 (which I suppose is fine) but it is an odd way to write the test
<enebo[m]> why did he bother to use ** at all
<enebo[m]> or why did he even use strings vs symbols fork eys?
<enebo[m]> ok so I got nobu'd
<headius> here's my patch
<headius> you got nobu'd
<headius> I like that
<headius> I will submit this as a PR but without branches they won't be able to apply it
<headius> sounds like hsbt is on board with pushing some branches though
<headius> I could just do it myself too
<enebo[m]> a more minimal character one would be {key => value, **h}
<headius> 💪
<enebo[m]> hah
<headius> ah yeah that is a bit more in the spirit
<headius> I will do that
<enebo[m]> another would be to just put it all into one fucking hash to begin with
<enebo[m]> but yeah he wants to save space
<headius> don't make nobu type more
<enebo[m]> I might have also put those common keys elsewhere so I think I am just tired
<enebo[m]> that calling convention is weird to me though. I think he makes it look stranger by using strings and not symbols too
<enebo[m]> for not liking typing 'name'=> is a lot more than name:
<enebo[m]> headius: Even if this is rock solid I do not have releasing this this afternoon in me. I can do it monday morning.
<headius> yeah that is fine
<headius> enebo: so you're ok with me merging the cgi fix in 9.3
<enebo[m]> yeah
<headius> once the tests are patched in cgi repo we can update ours
<headius> oh hell
<headius> specs failed
<enebo[m]> I guess 2 lessons: 1) 2.6 will increasingly be expensive 2) 3.1 means we have a lot of gem wrangling left
<enebo[m]> BAM!
<headius> ok we're done with this tonight... they made changes that included a bad test and which also break the related specs
<headius> I will file another issue
<enebo[m]> to your credit you realized this a while ago and opened a bunch of issues
<enebo[m]> ok
<enebo[m]> I may or may not look at kwargs thing in arjdbc on friday but probably only in the morning
<enebo[m]> I would like the state of HEAD to reflect much better results for ARJDBC along with hopefully having those in better shape as well
<enebo[m]> headius: enjoy gobble gobble
<headius> what a mess
<headius> ok, we'll let hsbt and friends sort this out and reconvene after the turkey
<postmodern[m]> Should I still be adding the jruby-openssl gem in the Gemfile for JRuby 9.4?
<headius> postmodern: it is always present in stdlib as a default gem so it is not strictly necessary, but without having it in Gemfile you won't get updates
<headius> postmodern: thank you for the issues!
<postmodern[m]> one last one
<headius> I have an open issue for updating zlib to match CRuby, which should fix most of these things once I figure out what to update
<headius> if you can add links there that would also be a great help
<postmodern[m]> really weird edge-case where I was sub-classes OpenSSL classes to extend them but using initialize_copy to convert objects to my class. Apparently JRuby's initialize_copy expects the same class type.
<headius> individual issues will make it easier to figure out what needs to be ported
<headius> oh weird
<headius> ok
<headius> that might be a JRuby proper issue or just need some love in some OpenSSL initialize_copy
<headius> open in JRuby for now and I can migrate it if necessary
<headius> ok postmodern I'm checking out for the holiday... will be back around this weekend to figure out 9.3.9.1 release
<postmodern[m]> headius: Cool, enjoy TGiving. I think that's all of the bugs I found from this libraries test suite. My goal is to try to release this giant new refactoring project by EoY. Hopefully I can get JRuby and TruffleRuby support checked off by then.
<postmodern[m]> s/libraries/library's/, s/to/and/, s/new//
<headius> yeah sounds great, this issue is marked for 9.4.1 so we'll try to get these zlib things patched up
<headius> and I'll mark your issues for 9.4.1 as well
<headius> ttfn
<postmodern[m]> newb questions, what do I need to add to the Gemfile for getting sqlite3 to work under JRuby with activerecord?