Bug 500808 - KAlarm hangs with 100% CPU usage if I manipulate (click or type into) a spinbox widget
Summary: KAlarm hangs with 100% CPU usage if I manipulate (click or type into) a spinb...
Status: RESOLVED UNMAINTAINED
Alias: None
Product: kalarm
Classification: Applications
Component: general (other bugs)
Version First Reported In: 3.6.4
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: David Jarvie
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-02-27 10:54 UTC by intmianol
Modified: 2025-03-09 10:33 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description intmianol 2025-02-27 10:54:27 UTC
SUMMARY


STEPS TO REPRODUCE
1. Open KAlarm.
2. Create a new Alarm or edit an existing one.
3. Manipulate (click or type into) a spinbox widget.

OBSERVED RESULT
Window freezes, 100% CPU usage from KAlarm on 1 thread. Spinbox doesn't respond, window doesn't render or only the frame.

EXPECTED RESULT
Spinbox works.

SOFTWARE/OS VERSIONS

KDE Plasma Version: I use LXDE but Plasma is installed, see below.
KDE Frameworks Version: 5.115.0
Qt Version: 5.15.13 (compiled with: 5.15.13)

kde-baseapps/noble,now 4:23.08.5+5.146ubuntu3 amd64
kde-full/noble 5:146ubuntu3 amd64
kde-plasma-desktop/noble,now 5:146ubuntu3 amd64 [installed]
kde-runtime-data/now 4:17.08.3-0ubuntu1 all [residual-config]
kde-runtime/now 4:17.08.3-0ubuntu1 amd64 [residual-config]

Linux: 
lsb_release -a
Distributor ID:	Ubuntu
Description:	Ubuntu 24.04.2 LTS
Codename:	noble


ADDITIONAL INFORMATION
I tried running
LANG=en_US.UTF-8 kalarm
and
env QT_IM_MODULE=none kalarm
same thing happened.
Comment 1 intmianol 2025-02-27 10:59:40 UTC
The console output is:
QPainter::begin: Paint device returned engine == 0, type: 2
QWidget::render: Cannot render with an inactive painter
QPainter::begin: Paint device returned engine == 0, type: 2
QWidget::render: Cannot render with an inactive painter
QPainter::begin: Paint device returned engine == 0, type: 2
QWidget::render: Cannot render with an inactive painter
QPainter::begin: Paint device returned engine == 0, type: 2
QWidget::render: Cannot render with an inactive painter

But it is printed well before the freeze (when opening the main window).
Comment 2 intmianol 2025-02-27 11:11:36 UTC
env QT_QPA_PLATFORMTHEME='' kalarm
Makes it work.
The Oxygen theme seems to be at fault.
Comment 3 David Jarvie 2025-03-03 22:28:53 UTC
Qt 5 is no longer supported for KAlarm. All releases are (since a year ago) based on Qt 6. Testing on an up to date Qt 6 based KDE Neon system (which is based on Ubuntu Jammy but with very recent Qt 6 development versions of all KDE software), I don't see the bug using Oxygen theme on X11.

For reference, could you please supply some more information:

Which are you using: X11 or Wayland?

Which types of spinbox produce the bug? There are 3 types in the New Alarm dialog: 
1) date 
2) time (with adjustment arrows on both sides of the spinbox)
3) simple number (with adjustment arrows only on the right side of the spinbox). For example select Reminder, and then select either minutes, days or weeks (i.e. not hours/minutes). These spinboxes are also used in the Recurrence tab.
Comment 4 intmianol 2025-03-09 07:22:38 UTC
> Which are you using: X11 or Wayland?
X11.

> Which types of spinbox produce the bug? There are 3 types in the New Alarm dialog: 
> 2) time (with adjustment arrows on both sides of the spinbox)
"Time" surely does it. I am not sure about the others.
Comment 5 intmianol 2025-03-09 07:40:38 UTC
So Ubuntu is on the wrong track by packaging my version of KAlarm for Qt5, right?
Comment 6 David Jarvie 2025-03-09 10:33:25 UTC
It seems that Ubuntu has not yet packaged any Qt6 based KDE software - even 'plucky' is still based on Qt5 and KDE Gear 23.08, which is over a year old. Debian testing now provides Qt6 stuff, so I'm sure Ubuntu will start releasing it sometime fairly soon.