Bug 512054 - Plasma Crash in EnvCanadaIon::getWeatherData
Summary: Plasma Crash in EnvCanadaIon::getWeatherData
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Weather widget (other bugs)
Version First Reported In: 6.5.2
Platform: CachyOS Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: drkonqi
: 520851 526488 (view as bug list)
Depends on:
Blocks:
 
Reported: 2025-11-14 00:46 UTC by Darryl
Modified: 2026-10-02 20:21 UTC (History)
8 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 6.7.6
Sentry Crash Report: https://crash-reports.kde.org/organizations/kde/issues/400509


Attachments
New crash information added by DrKonqi (68.02 KB, text/plain)
2025-11-14 00:46 UTC, Darryl
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Darryl 2025-11-14 00:46:00 UTC
Application: plasmashell (6.5.2)

ApplicationNotResponding [ANR]: false
Qt Version: 6.10.0
Frameworks Version: 6.19.0
Operating System: Linux 6.17.7-4-cachyos x86_64
Windowing System: Wayland
Distribution: CachyOS
DrKonqi: 6.5.2 [CoredumpBackend]

-- Information about the crash:
I believe this crash is caused by Environment Canada weather 
It happened while I was using Vivaldi but I think that's unrelated.

The reporter is unsure if this crash is reproducible.

-- Backtrace (Reduced):
#4  std::__atomic_base<int>::fetch_add () at /usr/include/c++/15.2.1/bits/atomic_base.h:631
#5  QAtomicOps<int>::ref<int> () at /usr/include/qt6/QtCore/qatomic_cxx11.h:260
[...]
#9  QArrayDataPointer<char16_t>::QArrayDataPointer () at /usr/include/qt6/QtCore/qarraydatapointer.h:40
#10 QString::QString () at /usr/include/qt6/QtCore/qstring.h:1352
#11 operator+ () at /usr/include/qt6/QtCore/qstring.h:1518
#12 EnvCanadaIon::getWeatherData () at /usr/src/debug/kdeplasma-addons/kdeplasma-addons-6.5.2/applets/weather/ions/envcan/ion_envcan.cpp:628
#13 0x00007efdb37d716f in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
#14 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4255
[...]
#16 KJob::result () at /usr/src/debug/kcoreaddons/build/src/lib/KF6CoreAddons_autogen/include/moc_kjob.cpp:475
#17 0x00007efdb6014a65 in KJob::finishJob () at /usr/src/debug/kcoreaddons/kcoreaddons-6.19.0/src/lib/jobs/kjob.cpp:115
#18 KJob::emitResult () at /usr/src/debug/kcoreaddons/kcoreaddons-6.19.0/src/lib/jobs/kjob.cpp:357
#19 KJob::emitResult () at /usr/src/debug/kcoreaddons/kcoreaddons-6.19.0/src/lib/jobs/kjob.cpp:354
#20 0x00007efdb37d716f in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
#21 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4255
#22 0x00007efdb2994b43 in KIO::WorkerInterface::finished () at /usr/src/debug/kio/build/src/core/KF6KIOCore_autogen/include/moc_workerinterface_p.cpp:319
#23 KIO::WorkerInterface::dispatch () at /usr/src/debug/kio/kio-6.19.0/src/core/workerinterface.cpp:125


Reported using DrKonqi
Comment 1 Darryl 2025-11-14 00:46:02 UTC
Created attachment 186759 [details]
New crash information added by DrKonqi

DrKonqi auto-attaching complete backtrace.
Comment 2 David Edmundson 2025-11-14 10:12:20 UTC
Second trace is better: 


Thread 1 (Thread 0x7efd829ff6c0 (LWP 37289)):
[KCrash Handler]
#4  std::__atomic_base<int>::fetch_add () at /usr/include/c++/15.2.1/bits/atomic_base.h:631
#5  QAtomicOps<int>::ref<int> () at /usr/include/qt6/QtCore/qatomic_cxx11.h:260
#6  QBasicAtomicInteger<int>::ref () at /usr/include/qt6/QtCore/qbasicatomic.h:48
#7  QArrayData::ref () at /usr/include/qt6/QtCore/qarraydata.h:59
#8  QArrayDataPointer<char16_t>::ref () at /usr/include/qt6/QtCore/qarraydatapointer.h:451
#9  QArrayDataPointer<char16_t>::QArrayDataPointer () at /usr/include/qt6/QtCore/qarraydatapointer.h:40
#10 QString::QString () at /usr/include/qt6/QtCore/qstring.h:1352
#11 operator+ () at /usr/include/qt6/QtCore/qstring.h:1518
#12 EnvCanadaIon::getWeatherData () at /usr/src/debug/kdeplasma-addons/kdeplasma-addons-6.5.2/applets/weather/ions/envcan/ion_envcan.cpp:628
#13 0x00007efdb37d716f in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
#14 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4255
#15 0x00007efdb600df91 in QMetaObject::activate<void, KJob*, KJob::QPrivateSignal> () at /usr/include/qt6/QtCore/qobjectdefs.h:319
#16 KJob::result () at /usr/src/debug/kcoreaddons/build/src/lib/KF6CoreAddons_autogen/include/moc_kjob.cpp:475
#17 0x00007efdb6014a65 in KJob::finishJob () at /usr/src/debug/kcoreaddons/kcoreaddons-6.19.0/src/lib/jobs/kjob.cpp:115
#18 KJob::emitResult () at /usr/src/debug/kcoreaddons/kcoreaddons-6.19.0/src/lib/jobs/kjob.cpp:357
#19 KJob::emitResult () at /usr/src/debug/kcoreaddons/kcoreaddons-6.19.0/src/lib/jobs/kjob.cpp:354
Comment 3 David Edmundson 2025-11-14 10:13:21 UTC

*** This bug has been marked as a duplicate of bug 508213 ***
Comment 4 David Edmundson 2025-11-14 10:14:24 UTC
edit, the fix in the other report was supposedly fixed in 6.5.2 which you are running. Reopening
Comment 5 Aritz Beobide-Cardinal 2026-02-18 04:25:42 UTC
May have a method to reproduce, I experienced this crash when using an Environment Canada weather source while public WiFi network with a captive portal. After logging into the WiFi network, the crashes stopped.

Noticed this console message during the crash loop

```
kill kf.kio.core: mimeType() not emitted when sending first data!; job URL = QUrl("https://dd.weather.gc.ca/today/citypage_weather/ON/") data size = 0
```

Operating System: NixOS 25.11
KDE Plasma Version: 6.5.5
KDE Frameworks Version: 6.20.0
Qt Version: 6.10.1
Kernel Version: 6.18.9 (64-bit)
Graphics Platform: Wayland
Processors: 24 × AMD Ryzen AI 9 HX 370 w/ Radeon 890M
Memory: 64 GiB of RAM (58.6 GiB usable)
Graphics Processor: AMD Radeon 890M Graphics
Manufacturer: Framework
Product Name: Laptop 16 (AMD Ryzen AI 300 Series)
System Version: A9
Comment 6 Akseli Lahtinen 2026-06-01 07:26:29 UTC
*** Bug 520851 has been marked as a duplicate of this bug. ***
Comment 7 TraceyC 2026-09-10 17:45:28 UTC
I wanted to check back in and see if this crash is still happening with Plasma 6.7.5. There were a couple of other crashes related to the Weather Widget that were fixed since this was opened, and this might also be fixed now.

If you can still reproduce this, please set the report to CONFIRMED. Thanks.
Comment 8 Bug Janitor Service 2026-09-25 03:48:41 UTC
🐛🧹 ⚠️ This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information, then set the bug status to REPORTED. If there is no change for at least 30 days, it will be automatically closed as RESOLVED WORKSFORME.

For more information about our bug triaging procedures, please read https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging.

Thank you for helping us make KDE software even better for everyone!
Comment 9 Nate Graham 2026-09-26 21:57:25 UTC
https://crash-reports.kde.org/organizations/kde/issues/400509 has reports for 6.7.5, so I think it's safe to say it's still happening there.

It's the #6 crash in Plasma right now as well.
Comment 10 Nate Graham 2026-09-26 21:58:19 UTC
That said, Sentry has zero reports from git master or the Plasma 6.8 beta, so it's also possible it was fixed for that release.

Bogdan, do you know if this might be the case?
Comment 11 Bug Janitor Service 2026-09-27 08:23:48 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kdeplasma-addons/-/merge_requests/1145
Comment 12 Bogdan Onofriuchuk 2026-09-29 16:28:54 UTC
Git commit c9383fb1231bf063a659c370d7ab81fb0af57ba9 by Bohdan Onofriichuk.
Committed on 29/09/2026 at 16:24.
Pushed by littlesweet into branch 'master'.

applets/weather: fix crash in EnvCan when forecast file is missing

The forecast lookup could access an hour directory past the end of
the available directories if no matching forecast file was found.

Stop the lookup when all available hour directories have been checked
and return an error when the forecast file cannot be found.

M  +6    -0    applets/weather/ions/envcan/ion_envcan.cpp

https://invent.kde.org/plasma/kdeplasma-addons/-/commit/c9383fb1231bf063a659c370d7ab81fb0af57ba9
Comment 13 Bogdan Onofriuchuk 2026-09-29 16:46:50 UTC
Git commit be886e76cd998d8cb6d58e4481846c317542ca32 by Bohdan Onofriichuk.
Committed on 29/09/2026 at 16:32.
Pushed by littlesweet into branch 'Plasma/6.8'.

applets/weather: fix crash in EnvCan when forecast file is missing

The forecast lookup could access an hour directory past the end of
the available directories if no matching forecast file was found.

Stop the lookup when all available hour directories have been checked
and return an error when the forecast file cannot be found.

M  +6    -0    applets/weather/ions/envcan/ion_envcan.cpp

https://invent.kde.org/plasma/kdeplasma-addons/-/commit/be886e76cd998d8cb6d58e4481846c317542ca32
Comment 14 Bogdan Onofriuchuk 2026-09-29 16:57:47 UTC
Git commit d5b5c038f397a0ab6862aa338bf5da86f3e92706 by Bohdan Onofriichuk.
Committed on 29/09/2026 at 16:48.
Pushed by littlesweet into branch 'Plasma/6.7'.

applets/weather: fix crash in EnvCan when forecast file is missing

The forecast lookup could access an hour directory past the end of
the available directories if no matching forecast file was found.

Stop the lookup when all available hour directories have been checked
and return an error when the forecast file cannot be found.

M  +6    -0    applets/weather/ions/envcan/ion_envcan.cpp

https://invent.kde.org/plasma/kdeplasma-addons/-/commit/d5b5c038f397a0ab6862aa338bf5da86f3e92706
Comment 15 Bogdan Onofriuchuk 2026-10-02 07:42:06 UTC
*** Bug 526488 has been marked as a duplicate of this bug. ***