[Bug 1907932] Re: drop rb_safe_level() from ruby-curses to fix irqtop from missing symbols and deprecation warnings
Performing verification for Focal. I started a fresh focal VM, and installed irqtop 2.4-2ubuntu0.5 and ruby-curses 1.2.4-1build1 from -updates. I then started irqtop: $ sudo irqtop /usr/bin/irqtop:598: warning: rb_safe_level will be removed in Ruby 3.0 /usr/bin/irqtop:613: warning: rb_safe_level will be removed in Ruby 3.0 69 /usr/bin/irqtop:598: warning: rb_safe_level will be removed in Ruby 3.0 /usr/bin/irqtop:613: warning: rb_safe_level will be removed in Ruby 3.0 /usr/bin/irqtop:598: warning: rb_safe_level will be removed in Ruby 3.0 1 /usr/bin/irqtop:613: warning: rb_safe_level will be removed in Ruby 3.00 My screen is filled with nonsense, mostly of the warning of "/usr/bin/irqtop:598: warning: rb_safe_level will be removed in Ruby 3.0" between every new character in the irqtop output. I can't read anything, and irqtop is quite useless. I then enabled -proposed, and installed ruby-curses 1.2.4-1ubuntu0.20.04.1. Now when I run irqtop: $ sudo irqtop focal-test - irqtop - 2024-06-16 07:14:58 + CPU0 CPU1 CPU2 CPU3 cpuUtil: 0.00.20.00.0 total CPU utilization % %irq: 0.00.00.00.0 hardware IRQ CPU util% %sirq: 0.00.00.00.0 software IRQ CPU util% irqTotal: 6 4 3 2 total hardware IRQs i 42: . . . 0PCI-MSI 2097156-edge virtio2-req.3 i 44: . . . 0PCI-MSI 524289-edge virtio0-input.0 i 45: . . 0 .PCI-MSI 524290-edge virtio0-output.0 i LOC: 4 3 1 1Local timer interrupts i RES: 1 0 1 0Rescheduling interrupts s TIMER: 1 3 1 1 s NET_RX: 0 0 0 0 s TASKLET: 0 0 0 0 s SCHED: 3 3 0 1 s RCU: 0 1 1 0 That looks much better. The output is readable, and irqtop is now usable. The package in -proposed fixes the issue. Happy to mark verified for Focal. ** Tags removed: verification-needed verification-needed-focal ** Tags added: verification-done-focal -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1907932 Title: drop rb_safe_level() from ruby-curses to fix irqtop from missing symbols and deprecation warnings To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/ruby-curses/+bug/1907932/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1907932] Re: drop rb_safe_level() from ruby-curses to fix irqtop from missing symbols and deprecation warnings
Performing verification for Jammy. I started a fresh jammy VM, and installed irqtop 2.6-2ubuntu3 with ruby- curses 1.2.4-1build3, from -updates. I then ran: $ sudo irqtop :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 :85:in `require' from /usr/lib/ruby/vendor_ruby/curses.rb:18:in `rescue in ' from /usr/lib/ruby/vendor_ruby/curses.rb:14:in `' from :85:in `require' from :85:in `require' from /usr/bin/irqtop:9:in `' :85:in `require': cannot load such file -- 3.0/curses.so (LoadError) from :85:in `require' from /usr/lib/ruby/vendor_ruby/curses.rb:16:in `' from :85:in `require' from :85:in `require' from /usr/bin/irqtop:9:in `' irqtop fails to start with "undefined symbol: rb_safe_level - /usr/lib/x86_64-linux-gnu/ruby/vendor_ruby/3.0.0/curses.so (LoadError)". I then enabled -proposed, and installed ruby-curses 1.2.4-1ubuntu0.22.04.1 and tried: jammy-test - irqtop - 2024-06-16 07:06:25 + CPU0 CPU1 CPU2 CPU3 cpuUtil: 0.00.00.00.0 total CPU utilization % %irq: 0.00.00.00.0 hardware IRQ CPU util% %sirq: 0.00.00.00.0 software IRQ CPU util% irqTotal: 4 5 2 6 total hardware IRQs i 34: . . . 0PCI-MSI 524289-edge virtio0-input.0 i 36: . 0 . .PCI-MSI 524290-edge virtio0-output.0 i 37: 0 . . .PCI-MSI 2097153-edge virtio2-req.0 i 38: . 0 . .PCI-MSI 2097154-edge virtio2-req.1 i 39: . . 0 .PCI-MSI 2097155-edge virtio2-req.2 i LOC: 3 4 1 5Local timer interrupts i RES: 0 0 0 0Rescheduling interrupts i CAL: 1 1 0 0Function call interrupts s TIMER: 2 1 1 4 s NET_RX: 0 0 0 0 s TASKLET: 0 0 0 0 s SCHED: 2 2 1 4 s RCU: 0 0 0 1 Everything now works correctly. I poked around and tried various features of irqtop, and display refresh works correctly, as well as various command line parameters. The package in -proposed fixes the issue. Happy to mark verified for Jammy. ** Tags removed: verification-needed-jammy ** Tags added: verification-done-jammy -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1907932 Title: drop rb_safe_level() from ruby-curses to fix irqtop from missing symbols and deprecation warnings To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/ruby-curses/+bug/1907932/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1907932] Re: drop rb_safe_level() from ruby-curses to fix irqtop from missing symbols and deprecation warnings
Hello Ferdinand, or anyone else affected, Accepted ruby-curses into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/ruby- curses/1.2.4-1ubuntu0.20.04.1 in a few hours, and then in the -proposed repository. Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users. If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed- focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification- failed-focal. In either case, without details of your testing we will not be able to proceed. Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping! N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days. ** Changed in: ruby-curses (Ubuntu Focal) Status: In Progress => Fix Committed ** Tags added: verification-needed verification-needed-focal ** Changed in: ruby-curses (Ubuntu Jammy) Status: In Progress => Fix Committed ** Tags added: verification-needed-jammy -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1907932 Title: drop rb_safe_level() from ruby-curses to fix irqtop from missing symbols and deprecation warnings To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/ruby-curses/+bug/1907932/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1907932] Re: drop rb_safe_level() from ruby-curses to fix irqtop from missing symbols and deprecation warnings
Thanks for the debdiffs, Matthew! Changes and basic testing look good, thank you for the backport notes. Sponsored for F/J. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1907932 Title: drop rb_safe_level() from ruby-curses to fix irqtop from missing symbols and deprecation warnings To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/ruby-curses/+bug/1907932/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1907932] Re: drop rb_safe_level() from ruby-curses to fix irqtop from missing symbols and deprecation warnings
Attached is a debdiff which solves this issue for focal. ** Patch added: "Attached is a debdiff for ruby-curses on focal" https://bugs.launchpad.net/ubuntu/+source/ruby-curses/+bug/1907932/+attachment/5779433/+files/lp1907932_focal.debdiff -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1907932 Title: drop rb_safe_level() from ruby-curses to fix irqtop from missing symbols and deprecation warnings To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/ruby-curses/+bug/1907932/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1907932] Re: drop rb_safe_level() from ruby-curses to fix irqtop from missing symbols and deprecation warnings
Attached is a debdiff for jammy which solves this issue. ** Summary changed: - ruby-curses: Emits warning: "rb_safe_level will be removed in Ruby 3.0", affects at least irqtop + drop rb_safe_level() from ruby-curses to fix irqtop from missing symbols and deprecation warnings ** Description changed: - 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. + [Impact] - 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 + rb_safe_level() had been marked for deprecation for some time, and was + finally removed in Ruby 3.0. + + ruby-curses uses rb_safe_level(), and it causes issues with its + rdepends, most notably irqtop. + + irqtop is unusuable on Jammy, with it failing to start due to not + finding the rb_safe_level symbol. + + $ sudo irqtop + :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 :85:in `require' + from /usr/lib/ruby/vendor_ruby/curses.rb:18:in `rescue in ' + from /usr/lib/ruby/vendor_ruby/curses.rb:14:in `' + from :85:in `require' + from :85:in `require' + from /usr/bin/irqtop:9:in `' + + On Focal, irqtop fills the screen with deprecation warnings making the + tool unusable. + + /usr/bin/irqtop:545: warning: rb_safe_level will be removed in Ruby 3.0 + + [Testcase] + + $ sudo apt install irqtop + $ sudo irqtop + + On Jammy: + Check to see if the tool launches, and you no longer get the "undefined symbol: rb_safe_level - /usr/lib/x86_64-linux-gnu/ruby/vendor_ruby/3.0.0/curses.so (LoadError)" error. + + on Focal: + Launch the tool, press enter several times to refresh the results. There should be no mention of "/usr/bin/irqtop:545: warning: rb_safe_level will be removed in Ruby 3.0", and the tool should be readable. + + Test packages are available in the following ppa: + + https://launchpad.net/~mruffell/+archive/ubuntu/sf385554-test + + If you install the test packages, irqtop will function normally. + + [Where Problems Could Occur] + + We are removing a long deprecated string safety check, which I assure + you, does not change the security of the tools using the ruby-curses + library, due to most levels being disabled already in ruby itself. + + As for the effect on the programs that depend on ruby-curses, ruby- + curses only has 2 redepends, one of which is irqtop: + + $ apt rdepends ruby-curses + ruby-curses + Reverse Depends: + Depends: irqtop + Depends: ruby-blade + + If a regression were to occur, it would only impact irqtop and ruby- + blade users. Users could downgrade ruby-curses while a fix is developed. + + [Other Info] + + This was fixed in the below commit, in version 1.3.2: + + commit a9b9db9b5d5a4b52e3d0e0eaf0fbb2be839a3c29 + From: Eric Wong + Date: Sat, 30 Nov 2019 01:45:21 + + Subject: drop rb_safe_level check + Link: https://github.com/ruby/curses/commit/a9b9db9b5d5a4b52e3d0e0eaf0fbb2be839a3c29 + + Both Focal and Jammy required a backport. Only window and mouse events + are implemented in 1.2.4, so I removed the hunks that targeted events + that were implemented later. ** Patch added: "Debdiff for ruby-curses on jammy" https://bugs.launchpad.net/ubuntu/+source/ruby-curses/+bug/1907932/+attachment/5779432/+files/lp1907932_jammy.debdiff -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1907932 Title: drop rb_safe_level() from ruby-curses to fix irqtop from missing symbols and deprecation warnings To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/ruby-curses/+bug/1907932/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs