Bug 455587 - NetBeans craches Plasma desktop
Summary: NetBeans craches Plasma desktop
Status: RESOLVED UPSTREAM
Alias: None
Product: plasmashell
Classification: Plasma
Component: general (show other bugs)
Version: 5.24.5
Platform: Manjaro Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL: https://bugreports.qt.io/browse/QTBUG...
Keywords:
Depends on:
Blocks:
 
Reported: 2022-06-19 07:02 UTC by medin
Modified: 2023-02-22 08:14 UTC (History)
3 users (show)

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


Attachments
New crash information added by DrKonqi (5.79 KB, text/plain)
2023-02-22 08:14 UTC, Gregory Williams
Details

Note You need to log in before you can comment on or make changes to this bug.
Description medin 2022-06-19 07:02:14 UTC
When I take a screenshot for a splashscreen of an app launched inside NetBeans, the whole desktop crashes, and enters a loop of continuous crashes while NetBeans is kept opened, and is stopped if NetBeans is closed. Even after rebooting if I just launch NetBeans without taking any screenshot the desktop crashes.

Core was generated by `/usr/bin/plasmashell'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44
44            return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
[Current thread is 1 (Thread 0x7fa44fc58340 (LWP 5349))]
(gdb) bt
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x00007fa453e8e3d3 in __pthread_kill_internal (signo=11, threadid=<optimized out>) at pthread_kill.c:78
#2  0x00007fa453e3e838 in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
#3  0x00007fa456849384 in KCrash::defaultCrashHandler(int) () at /usr/lib/libKF5Crash.so.5
#4  0x00007fa453e3e8e0 in <signal handler called> () at /usr/lib/libc.so.6
#5  jas_stream_putc_func (stream=0x0, c=0) at /usr/src/debug/jasper-version-3.0.4/src/libjasper/base/jas_stream.c:629
#6  0x00007fa439589989 in jp2_putuint32 (out=out@entry=0x0, val=val@entry=12) at /usr/src/debug/jasper-version-3.0.4/src/libjasper/jp2/jp2_cod.c:762
#7  0x00007fa43958b2e8 in jp2_box_put (box=box@entry=0x56548ce6a8b0, out=out@entry=0x0) at /usr/src/debug/jasper-version-3.0.4/src/libjasper/jp2/jp2_cod.c:565
#8  0x00007fa43958d54e in jp2_encode (image=0x56548dbfeea0, out=0x0, optstr=0x56548cdb5290 "") at /usr/src/debug/jasper-version-3.0.4/src/libjasper/jp2/jp2_enc.c:146
#9  0x00007fa44401cc82 in Jpeg2000JasperReader::write(QImage const&, int) (quality=<optimized out>, image=<optimized out>, this=0x7ffed0397850)
    at /usr/src/debug/qtimageformats/src/plugins/imageformats/jp2/qjp2handler.cpp:864
#10 QJp2Handler::write(QImage const&) (this=<optimized out>, image=<optimized out>) at /usr/src/debug/qtimageformats/src/plugins/imageformats/jp2/qjp2handler.cpp:257
#11 0x00007fa454db3728 in QImageWriter::write(QImage const&) () at /usr/lib/libQt5Gui.so.5
#12 0x00007fa454d97ad8 in QImage::save(QIODevice*, char const*, int) const () at /usr/lib/libQt5Gui.so.5
#13 0x00007fa454d60717 in QInternalMimeData::renderDataHelper(QString const&, QMimeData const*) () at /usr/lib/libQt5Gui.so.5
#14 0x00007fa44f716914 in  () at /usr/lib/libQt5XcbQpa.so.5
#15 0x00007fa44f70a5a4 in QXcbConnection::handleXcbEvent(xcb_generic_event_t*) () at /usr/lib/libQt5XcbQpa.so.5
#16 0x00007fa44f70d910 in QXcbConnection::processXcbEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5XcbQpa.so.5
#17 0x00007fa44f730dd8 in  () at /usr/lib/libQt5XcbQpa.so.5
#18 0x00007fa452f18c6b in  () at /usr/lib/libglib-2.0.so.0
#19 0x00007ffed0397d40 in  ()
#20 0x0000000000000000 in  ()
Comment 1 Nate Graham 2022-06-21 17:40:50 UTC
This is a Qt bug that's already been fixed: https://bugreports.qt.io/browse/QTBUG-104398
Comment 2 medin 2022-06-22 10:11:23 UTC
(In reply to Nate Graham from comment #1)
> This is a Qt bug that's already been fixed:
> https://bugreports.qt.io/browse/QTBUG-104398

It's fixed only for Qt 6.2 and higher while Plasma desktop is still using Qt 5.15.
Comment 3 Gregory Williams 2023-02-22 08:14:56 UTC
Created attachment 156589 [details]
New crash information added by DrKonqi

plasmashell (5.27.0) using Qt 5.15.8

Resumed Netbeans from a minimised state. Plasmashell disappeared from screen (crashed) and then restarted automatically. This has previously happened, but the backtrace hasn't been deemed useful in those cases. Since then my NetBeans snap has moved from Netbeans 16 to 17, potentially explaining the usefulness of the backtrace?

In the linked QTBUG-104398 there's a comment about the use of deprecated functionality in Jasper and that the memory requested is far too large. I've also been seeing this issue. For example (noted from another time, not this particular incident):

file:///usr/share/plasma/plasmoids/org.kde.plasma.battery/contents/ui/CompactRepresentation.qml:58:17: Unable to assign [undefined] to int
Could not find the Plasmoid for Plasma::FrameSvgItem(0x55c0a14d1100) QQmlContext(0x55c0a0230a50) QUrl("file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/global/Globals.qml")
Could not find the Plasmoid for Plasma::FrameSvgItem(0x55c0a14d1100) QQmlContext(0x55c0a0230a50) QUrl("file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/global/Globals.qml")
file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/NotificationItem.qml:222:21: QML SelectableLabel: Binding loop detected for property "implicitWidth"
file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/NotificationItem.qml:222:21: QML SelectableLabel: Binding loop detected for property "implicitWidth"
file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/NotificationItem.qml:222:21: QML SelectableLabel: Binding loop detected for property "implicitHeight"
file:///usr/lib64/qt5/qml/org/kde/plasma/components.3/ScrollView.qml:45:27: QML ScrollBar: Binding loop detected for property "visible"
file:///usr/lib64/qt5/qml/org/kde/plasma/components.3/ScrollView.qml:45:27: QML ScrollBar: Binding loop detected for property "visible"
file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/SelectableLabel.qml:37:5: QML TextArea: Binding loop detected for property "implicitHeight"
file:///usr/lib64/qt5/qml/org/kde/plasma/extras/PlaceholderMessage.qml:238:5: QML Heading: Binding loop detected for property "verticalAlignment"
WARNING: YOUR CODE IS RELYING ON DEPRECATED FUNCTIONALITY IN THE JASPER
LIBRARY.  THIS FUNCTIONALITY WILL BE REMOVED IN THE NEAR FUTURE. PLEASE
FIX THIS PROBLEM BEFORE YOUR CODE STOPS WORKING.
deprecation warning: use of jas_init is deprecated
warning: The application program did not set the memory limit for the JasPer library.
warning: The JasPer memory limit is being defaulted to a value that may be inappropriate for the system.  If the default is too small, some reasonable encoding/decoding operations will fail.  If the default is too large, security vulnerabilities will result (e.g., decoding a malicious image could exhaust all memory and crash the system.
warning: setting JasPer memory limit to 33661204480 bytes
requested memory size is too large (18446744073709551615)

-- Backtrace (Reduced):
#4  jas_stream_putc_func (stream=0x0, c=0) at /usr/src/debug/jasper-3.0.6-1.fc37.x86_64/src/libjasper/base/jas_stream.c:629
#5  0x00007f44c5cd9be8 in jp2_putuint32 (out=out@entry=0x0, val=val@entry=12) at /usr/src/debug/jasper-3.0.6-1.fc37.x86_64/src/libjasper/jp2/jp2_cod.c:762
#6  0x00007f44c5cdb4c8 in jp2_box_put (box=box@entry=0x559cde446c20, out=out@entry=0x0) at /usr/src/debug/jasper-3.0.6-1.fc37.x86_64/src/libjasper/jp2/jp2_cod.c:565
#7  0x00007f44c5cdd68e in jp2_encode (image=0x559ce20cb350, out=0x0, optstr=0x559cdfd5b8d0 "") at /usr/src/debug/jasper-3.0.6-1.fc37.x86_64/src/libjasper/jp2/jp2_enc.c:146
#8  0x00007f44c5d4a61d in QJp2Handler::write(QImage const&) () at /usr/lib64/qt5/plugins/imageformats/libqjp2.so