Project

General

Profile

Actions

Bug #20743

open

ruby doesn't properly split RUBY_DEBUG_LOG_FILTER into items

Added by x-yuri (Yuri Kanivetsky) 3 months ago. Updated about 1 month ago.

Status:
Assigned
Target version:
-
ruby -v:
ruby 3.4.0dev (2024-09-15T01:06:11Z master 532af89e3b) +PRISM [x86_64-linux-musl]
[ruby-core:119201]
Tags:

Description

$ docker run --rm alpine:3.20.3 sh -euxc '
    apk add git build-base autoconf ruby yaml-dev zlib-dev openssl-dev libffi-dev
    git clone https://github.com/ruby/ruby
    cd ruby
    git checkout 532af89e3b5b78dd3a6fe29c6cc64ad1b073afe2
    ./autogen.sh
    ./configure cflags=-DUSE_RUBY_DEBUG_LOG --disable-install-doc
    make -j8 install
    ruby -v
    RUBY_DEBUG_LOG=stderr RUBY_DEBUG_LOG_FILTER=rb_thread_schedule_limits,rb_ractor_thread_switch ruby -e ""
'
...
+ RUBY_DEBUG_LOG=stderr RUBY_DEBUG_LOG_FILTER=rb_thread_schedule_limits,rb_ractor_thread_switch ruby -e     
RUBY_DEBUG_LOG=stderr [stderr]                                                                                                               
RUBY_DEBUG_LOG_FILTER[0]=rb_thread_schedule_limit (all)                                                                                      
RUBY_DEBUG_LOG_FILTER[1]=rb_ractor_thread_switch (all)
...

As you can see ruby reports that RUBY_DEBUG_LOG_FILTER[0] equals rb_thread_schedule_limit, not rb_thread_schedule_limits.

This happens because here:
https://github.com/ruby/ruby/blob/532af89e3b5b78dd3a6fe29c6cc64ad1b073afe2/debug.c#L353
1 should not be subtracted.

Also in the following lines str is increased, but len is not decreased. It makes sense to recheck if there are no further mistakes.

Actions #2

Updated by hsbt (Hiroshi SHIBATA) 2 months ago

  • Tags set to musl, alpine

Updated by ko1 (Koichi Sasada) about 2 months ago

  • Assignee set to ko1 (Koichi Sasada)
Actions #4

Updated by hsbt (Hiroshi SHIBATA) about 1 month ago

  • Status changed from Open to Assigned
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0