ruby-curses: Emits warning: "rb_safe_level will be removed in Ruby 3.0", affects at least irqtop

Bug #1907932 reported by Ferdinand Postema
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
iptables-netflow (Ubuntu)
New
Undecided
Unassigned
ruby-curses (Debian)
Fix Released
Unknown
ruby-curses (Ubuntu)
New
Undecided
Unassigned

Bug Description

irqtop emits the following warning:
    /usr/bin/irqtop:545: warning: rb_safe_level will be removed in Ruby 3.0
This warning clutters the whole screen and makes irqtop unusable.

My config:
Kernel: 5.4.0-58-lowlatency #64-Ubuntu SMP PREEMPT x86_64 GNU/Linux
irqtop: 2.4-2ubuntu0.2
ruby: 1:2.7+1
ruby-curses: 1.2.4-1build1
ethtool: 1:5.4-1

Revision history for this message
Axel Beckert (xtaran) wrote :

This is an issue in ruby-curses, not irqtop. See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=958973

Interestingly this no more happens on Debian Unstable/Testing. This seems to have fixed upstream a few months ago:

commit df3f52a6331f1a47af9933b77311a8650727d8d1
  Author: nagachika <email address hidden>
  Date: 2020-09-29 22:43:25 +0900

    merge revision(s) 996af2ce086249e904b2ce95ab2fcd1de7d757be: [Backport #16345] [Backport #17000]

            Disable deprecation warning by the default [Feature #16345]

            And `-w` option turns it on.

That commit likely made it into ruby 2.7.2, which hit Debian Unstable in mid-October 2020.

Nevertheless this obviously needs to be fixed in ruby-curses.

Revision history for this message
Axel Beckert (xtaran) wrote :

Note: The cited commit and "fix" was in the package ruby, but the problem in ruby-curses still exists as ruby only silenced the deprecation warnings by default.

summary: - irqtop emits a warning
+ ruby-curses: Emits warning: "rb_safe_level will be removed in Ruby 3.0",
+ affects at least irqtop
Changed in ruby-curses (Debian):
status: Unknown → Confirmed
Changed in ruby-curses (Debian):
status: Confirmed → Fix Released
Revision history for this message
Erik Meitner (eamuwmath) wrote :

Problem does not seem to be solved as now irqtop fails completely.

root@hongkong:~# irqtop
<internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:85:in `require': /usr/lib/x86_64-linux-gnu/ruby/vendor_ruby/3.0.0/curses.so: undefined symbol: rb_safe_level - /usr/lib/x86_64-linux-gnu/ruby/vendor_ruby/3.0.0/curses.so (LoadError)
 from <internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:85:in `require'
 from /usr/lib/ruby/vendor_ruby/curses.rb:18:in `rescue in <top (required)>'
 from /usr/lib/ruby/vendor_ruby/curses.rb:14:in `<top (required)>'
 from <internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:85:in `require'
 from <internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:85:in `require'
 from /usr/bin/irqtop:9:in `<main>'
<internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:85:in `require': cannot load such file -- 3.0/curses.so (LoadError)
 from <internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:85:in `require'
 from /usr/lib/ruby/vendor_ruby/curses.rb:16:in `<top (required)>'
 from <internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:85:in `require'
 from <internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:85:in `require'
 from /usr/bin/irqtop:9:in `<main>'

root@hongkong:~# dpkg -l irqtop ruby-curses
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============-=============-============-=============================================
ii irqtop 2.6-2ubuntu1 all Observe IRQ and SoftIRQ in a top-like fashion
ii ruby-curses 1.2.4-1build3 amd64 curses binding for Ruby

root@hongkong:~# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.1 LTS"

Revision history for this message
Farshid Tavakolizadeh (farshidtz) wrote :

This is reportedly fixed on the newer versions of ruby-curses. Here is the bug report for Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=958973

Ubuntu Jammy (22.04) is still on ruby-curses 1.2.4 which is makes irqtop nonfunctional. Newer versions of Ubuntu are not affected.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.