Project

General

Profile

Actions

Misc #19240

closed

DevMeeting-2023-01-19

Added by mame (Yusuke Endoh) over 1 year ago. Updated over 1 year ago.

Status:
Closed
Assignee:
-
[ruby-core:111318]

Description

The next dev meeting

Date: 2023/01/19 13:00-17:00 (JST)
Log: https://github.com/ruby/dev-meeting-log/blob/master/2023/DevMeeting-2023-01-19.md

  • Dev meeting IS NOT a decision-making place. All decisions should be done at the bug tracker.
  • Dev meeting is a place we can ask Matz, nobu, nurse and other developers directly.
  • Matz is a very busy person. Take this opportunity to ask him. If you can not attend, other attendees can ask instead of you (if attendees can understand your issue).
  • We will write a record of the discussion in the file or to each ticket in English.
  • All activities are best-effort (keep in mind that most of us are volunteer developers).
  • The date, time and place of the meeting are scheduled according to when/where we can reserve Matz's time.
  • DO NOT discuss then on this ticket, please.

Call for agenda items

If you have a ticket that you want matz and committers to discuss, please post it into this ticket in the following format:

* [Ticket ref] Ticket title (your name)
  * Comment (A summary of the ticket, why you put this ticket here, what point should be discussed, etc.)

Example:

* [Feature #14609] `Kernel#p` without args shows the receiver (ko1)
  * I feel this feature is very useful and some people say :+1: so let discuss this feature.
  • It is recommended to add a comment by 2023/01/16. We hold a preparatory meeting to create an agenda a few days before the dev-meeting.
  • The format is strict. We'll use this script to automatically create an markdown-style agenda. We may ignore a comment that does not follow the format.
  • Your comment is mandatory. We cannot read all discussion of the ticket in a limited time. We appreciate it if you could write a short summary and update from a previous discussion.

Related issues 1 (1 open0 closed)

Related to Ruby master - Misc #14770: [META] DevelopersMeetingOpenActions
Actions #1

Updated by mame (Yusuke Endoh) over 1 year ago

  • Related to Misc #14770: [META] DevelopersMeeting added

Updated by duerst (Martin Dürst) over 1 year ago

  • [Feature #13890] Allow a regexp as an argument to 'count'
    • Recent interest, should be easy to implement

Updated by byroot (Jean Boussier) over 1 year ago

  • [Feature #19245] Array#pack should have a strict mode (byroot)
    • Currently it silently modulo the arguments if they are too big for the type.
    • This can can lead to silent data loss.
    • I believe pack need a "strict mode" that would instead raise an error, e.g. [4096].pack("C", strict: true) # => 4096 out of char range (RangeError) (like Integer.chr)
    • It may make sense to gradually make the strict mode the default in future versions.
  • [Feature #19236] Allow to create hashes with a specific capacity from Ruby (byroot)
    • This is significantly more efficient when you need to create large hashes of known size.
    • rb_hash_new_capa(long) was added as a C-API in 3.2
    • We're still missing a similar API in Ruby.
    • What about Hash.create(capacity: 4096) ?

Updated by kjtsanaktsidis (KJ Tsanaktsidis) over 1 year ago

  • [Feature #19179] Support parsing SCM_CRED(ENTIALS) messages from ancillary messages
    • Various UNIX-y OS's support getting the (e)uid, (e)gid, and pid from unix sockets - some with a socket option, some with an ancillary message
    • Ruby's socket module already has code to parse these, but it's only used for Socket::Options#inspect and Socket::AncillaryData#inspect
    • I propose enhancing Socket::Options and Socket::AncillaryData to conveniently support this functionality where it's available
  • [Feature #19144] Ruby should set AI_V4MAPPED | AI_ADDRCONFIG getaddrinfo flags by default
    • Many older and widely-deployed glibc versions have a bug which can cause a 5-second delay in DNS resolutions when IPv4/IPv6 are both enabled
    • When IPv6 is not in use, the AI_ADDRINFO flag to getaddrinfo works around this bug by not making AAAA requests if the host does not have a useable IPv6 address.
    • This bug often shows up in Ruby programs in particular, because Ruby accidentally overwrites one of the overlapping levels of glibc defaults, and causes AI_ADDRCONFIG to be unset where it would normally be set by default.

Updated by hsbt (Hiroshi SHIBATA) over 1 year ago

Updated by mame (Yusuke Endoh) over 1 year ago

Updated by hsbt (Hiroshi SHIBATA) over 1 year ago

  • [Misc #16671] BASERUBY version policy
    • How about my proposal?

Updated by shugo (Shugo Maeda) over 1 year ago

Updated by Eregon (Benoit Daloze) over 1 year ago

EDIT: I remove #19315 for this meeting's agenda, let's discuss it at a later meeting.

Updated by Eregon (Benoit Daloze) over 1 year ago

  • [Bug #18518] NoMemoryError + [FATAL] failed to allocate memory for twice 1 << large (eregon)
    • I would like a decision on this ticket
    • I propose to raise RangeError (shift width too big) if shift width is >= 2**31 (32-bit signed integer) for all platforms, like it already behaves on 32-bit platforms.
    • Current behavior is useless on 64-bit platforms, it's slow and then eventually NoMemoryError.
    • This will restore consistency for this between Ruby, JRuby and TruffleRuby.

Updated by peterzhu2118 (Peter Zhu) over 1 year ago

  • [Bug #19289] RbConfig::CONFIG["STRIP"] should keep rb_abi_version and rb_abi_version should always be part of Ruby
    • In dev meeting #18557 it was decided that we would keep rb_abi_version on both development and release (so there would be no difference in behavior between development and release).
    • In commit cd1a0b3 it was changed so that rb_abi_version would not be defined in release.
    • This has caused issues in gems such as gRPC and rb-sys (which compiles Rust based gems) because they expect rb_abi_version to be present.
    • This will continue to cause problems in the future due to this difference in behavior.

Updated by hsbt (Hiroshi SHIBATA) over 1 year ago

  • [Bug #18658] Need openssl 3 support for Ubuntu 22.04 (Ruby 2.7.x and 3.0.x)
    • Should we merge openssl-3.0.x into ruby_3_0 before moving security only maintenance phase?

Updated by ioquatix (Samuel Williams) over 1 year ago

  • [Feature #19333] Setting (Fiber Local|Thread Local|Fiber Storage) to nil should delete value in order to avoid memory leaks.

Updated by jeremyevans0 (Jeremy Evans) over 1 year ago

  • [Feature #19347] Add Dir.fchdir (jeremyevans0)
    • This method is useful when passing directory file descriptors through UNIX sockets or to child processes to avoid TOCTOU vulnerabilities.
    • We already have Dir#fileno, but nothing that can use the returned directory file descriptor.
    • Is it OK to add this method?
    • If so, is the implementation in the pull request acceptable?
  • [Bug #19237] Hash default_proc is not thread-safe to lazy-initialize value for a given key (jeremyevans0)
    • Similar to hash[key] ||= value in multiple concurrent threads.
    • One workaround is using a Mutex and mutex.synchronize{hash[key] = value unless hash.key?(key)} inside the default proc.
    • Another workaround is to avoid using a default proc to set values in a hash accessed by multiple concurrent threads.
    • Is this a bug? If not, should we update the documentation of Hash.new and/or Hash#default_proc= regarding use with concurrent threads?
  • [Bug #19286] What should kwargs' arity be? (jeremyevans0)
    • Do we want to change how arity is calculated for methods/procs accepting/requiring keywords?
    • I don't think it is worth breaking backwards compatibility here (#parameters can be used for keyword argument details).
  • [Bug #19293] The new Time.new(String) API is nice... but we still need a stricter version of this (jeremyevans0)
    • Do we want to add a keyword argument to Time.new for stricter parsing, or another Time method that is stricter?
Actions #15

Updated by mame (Yusuke Endoh) over 1 year ago

  • Description updated (diff)
  • Status changed from Open to Closed
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0