-
-
Notifications
You must be signed in to change notification settings - Fork 404
Open
Labels
Description
- I confirm that this is an issue rather than a question.
Bug report
When changing settings, Hyperion often crashes with a SIGSEGV
Steps to reproduce
Here's the config that I'm using:
HyperionBackup-2025-09-02_v2.1.2-beta.1+nightly20250826.json
To trigger the segfault, turn an LED instance on/off a few times in a row via web UI or the API.
What is expected?
Not crashing
What is actually happening?
Crashes - only when turning a LED instance OFF - never when turning it on.
Logs
hyperion-1 | .707 |I1| LEDDEVICE : <DEBUG> Set Brightness to : 50
hyperion-1 | 2025-09-02T19:30:46.707 |I1| LEDDEVICE : <DEBUG> Stream to one segment: No
hyperion-1 | 2025-09-02T19:30:46.707 |I1| LEDDEVICE : <DEBUG> Not enabled -> enable device
hyperion-1 | 2025-09-02T19:30:46.707 |I1| LEDDEVICE : <DEBUG> Enable device wled'
hyperion-1 | 2025-09-02T19:30:46.707 |I1| BOBLIGHT : <DEBUG> Instance created
hyperion-1 | 2025-09-02T19:30:46.708 |__| MEMORY : <DEBUG> Creating object of type 'BoblightServer' at 0x7f17f806d630 (current thread 'HyperionThread')
hyperion-1 | 2025-09-02T19:30:46.708 |__| HYPERION-INSTMGR : <INFO> Hyperion instance [1] - 'Ambilight' started.
hyperion-1 | 2025-09-02T19:30:46.710 |I1| MUXER : <DEBUG> Register new input 'System/V4L' (V4L2) with priority 240 as inactive
hyperion-1 | 2025-09-02T19:30:46.710 |I1| MUXER : <DEBUG> Set visible priority to 240
hyperion-1 | 2025-09-02T19:30:46.710 |I1| IMAGETOLED : <DEBUG> Total index number is: 8430 (memory: 8430). Reduced pixel set factor: 0, Accuracy level: 0, Image size: 240 x 135, LED areas: 209
hyperion-1 | 2025-09-02T19:30:46.710 |__| MEMORY : <DEBUG> Creating object of type 'hyperion::ImageToLedsMap' at 0x7f17f8022b80 (current thread 'HyperionThread')
hyperion-1 | 2025-09-02T19:30:46.710 |I1| HYPERION : <DEBUG> new source available -> LED-Device not enabled, cannot switch on LED-device
hyperion-1 | 2025-09-02T19:30:46.737 |I1| MUXER : <DEBUG> Set visible priority to 1
hyperion-1 | 2025-09-02T19:30:46.737 |I1| IMAGETOLED : <DEBUG> Total index number is: 2524 (memory: 2524). Reduced pixel set factor: 0, Accuracy level: 0, Image size: 64 x 128, LED areas: 209
hyperion-1 | 2025-09-02T19:30:46.737 |__| MEMORY : <DEBUG> Creating object of type 'hyperion::ImageToLedsMap' at 0x7f17f802bfd0 (current thread 'HyperionThread')
hyperion-1 | 2025-09-02T19:30:46.737 |__| MEMORY : <DEBUG> Deleting object of type 'hyperion::ImageToLedsMap' at 0x7f17f8022b80 - current thread: 'HyperionThread'
hyperion-1 | 2025-09-02T19:30:46.737 |__| MEMORY : <DEBUG> QObject<hyperion::ImageToLedsMap> deleted immediately (current thread: 'HyperionThread').
hyperion-1 | 2025-09-02T19:30:47.208 |I1| LEDDEVICE : <INFO> Resolved service [wled-00DB04._wled._tcp.local] to mDNS hostname [wled-00DB04.local.], service port [80]
hyperion-1 | 2025-09-02T19:30:47.209 |I1| LEDDEVICE : <DEBUG> Resolved mDNS hostname [wled-00DB04.local.] to address [192.168.1.201]
hyperion-1 | 2025-09-02T19:30:47.209 |I1| LEDDEVICE : <INFO> Resolved hostname (wled-00DB04._wled._tcp.local) to IP-address (192.168.1.201)
hyperion-1 | 2025-09-02T19:30:47.209 |I1| LEDDEVICE : <INFO> Stream UDP data to 192.168.1.201 port: 4048
hyperion-1 | 2025-09-02T19:30:47.210 |I1| LEDDEVICE : <INFO> Switching device wled ON
hyperion-1 | 2025-09-02T19:30:47.250 |I1| LEDDEVICE : <DEBUG> GET took 40ms, HTTP 200: [http://192.168.1.201:80/json/] []
hyperion-1 | 2025-09-02T19:30:47.251 |I1| LEDDEVICE : <DEBUG> Disable synchronisation with other WLED devices
hyperion-1 | 2025-09-02T19:30:47.265 |I1| LEDDEVICE : <DEBUG> PUT took 14ms, HTTP 200: [http://192.168.1.201:80/json/state] [{"bri":50,"live":true,"on":true,"udpn":{"recv":false,"send":false}}]
hyperion-1 | 2025-09-02T19:30:47.265 |I1| LEDDEVICE : <INFO> Device wled is ON
hyperion-1 | 2025-09-02T19:30:47.265 |I1| LEDDEVICE : <INFO> LedDevice 'wled' enabled
hyperion-1 | 2025-09-02T19:30:47.266 |I1| COMPONENTREG : <DEBUG> LED device: enabled
hyperion-1 | 2025-09-02T19:30:47.419 |I3| LEDDEVICE : <DEBUG> POST took 118ms, HTTP 200: [http://127.0.0.1:8123/api/services/light/turn_on] [{"brightness":10,"entity_id":["light.paprotka_light_rgb_philips_light"],"rgb_color":[6,8,3],"transition":2}]
hyperion-1 | 2025-09-02T19:30:47.443 |I2| LEDDEVICE : <DEBUG> POST took 141ms, HTTP 200: [http://127.0.0.1:8123/api/services/light/turn_on] [{"brightness":10,"entity_id":["light.lampka_pod_namiotem_light"],"rgb_color":[6,6,3],"transition":2}]
hyperion-1 | 2025-09-02T19:30:48.881 |I4| LEDDEVICE : <DEBUG> POST took 88ms, HTTP 200: [http://127.0.0.1:8123/api/services/light/turn_on] [{"brightness":10,"entity_id":["light.rgb_stojaca_philips_light"],"rgb_color":[13,12,14],"transition":2}]
hyperion-1 | 2025-09-02T19:30:49.422 |I1| HYPERION : <DEBUG> HyperionLedDevice::~LedDevice()...
hyperion-1 |
hyperion-1 | Hyperion Daemon caught signal: SIGSEGV
Backtrace
Here's the backtrace from the coredump - I didn't have all debug symbols, but it seems it segfaults at fdatasync
when trying to save the settings?
2025-09-02T20:16:09.462 |I3| LEDDEVICE : <DEBUG> Disable device homeassistant'
2025-09-02T20:16:09.463 |I3| LEDDEVICE : <INFO> Stopped LedDevice 'homeassistant'
2025-09-02T20:16:09.463 |I3| COMPONENTREG : <DEBUG> LED device: disabled
LedDevice::~LedDevice()...
2025-09-02T20:16:09.463 |I3| LEDDEVICE : <DEBUG> POST took 1ms, HTTP 0: [http://127.0.0.1:8123/api/services/light/turn_off] [{"entity_id":["light.paprotka_light_rgb_philips_light"]}]
2025-09-02T20:16:09.463 |I3| LEDDEVICE : <INFO> Device executeOperat is OFF
[Thread 0x7fbfe3fff700 (LWP 618) exited]
Thread 7 "LedDeviceThread" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fbffffff700 (LWP 612)]
0x00007fc012494b20 in QObjectPrivate::maybeSignalConnected(unsigned int) const () from /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
(gdb) bt
#0 0x00007fc012494b20 in QObjectPrivate::maybeSignalConnected(unsigned int) const () from /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#1 0x00007fc0124a0683 in ?? () from /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#2 0x0000564d8307841c in LedDevice::isOnChanged (this=0x7fc000004600, _t1=false)
at /downloads/hyperion/build/libsrc/leddevice/leddevice_autogen/UABDHZFWTV/moc_LedDevice.cpp:357
#3 0x0000564d8307d466 in LedDevice::switchOff (this=0x7fc000004600) at /downloads/hyperion/libsrc/leddevice/LedDevice.cpp:500
#4 0x0000564d83084e28 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, bool (LedDevice::*)()>::call(bool (LedDevice::*)(), LedDevice*, void**) (f=&virtual table offset 168, o=0x7fc000004600, arg=0x7fc0000565c8) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:135
#5 0x0000564d830849d7 in QtPrivate::FunctionPointer<bool (LedDevice::*)()>::call<QtPrivate::List<>, void>(bool (LedDevice::*)(), LedDevice*, void**) (
f=&virtual table offset 168, o=0x7fc000004600, arg=0x7fc0000565c8) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:172
#6 0x0000564d83084477 in QtPrivate::QSlotObject<bool (LedDevice::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (
which=1, this_=0x7fc00004c020, r=0x7fc000004600, a=0x7fc0000565c8, ret=0x0) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:383
#7 0x00007fc012498d68 in QObject::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#8 0x00007fc01244d3b5 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#9 0x00007fc012450aa5 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#10 0x00007fc01268fbb3 in ?? () from /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#11 0x00007fc011a12e0b in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#12 0x00007fc011a130b8 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#13 0x00007fc011a1316f in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#14 0x00007fc01268f599 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#15 0x00007fc01245922b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#16 0x0000564d830e4ff1 in ProviderRestApi::executeOperation (this=0x7fbff0009130, operation=QNetworkAccessManager::PostOperation, url=..., body=...)
at /downloads/hyperion/libsrc/leddevice/dev_net/ProviderRestApi.cpp:268
#17 0x0000564d830e4c25 in ProviderRestApi::post (this=0x7fbff0009130, url=..., body=...) at /downloads/hyperion/libsrc/leddevice/dev_net/ProviderRestApi.cpp:214
#18 0x0000564d830e4ad9 in ProviderRestApi::post (this=0x7fbff0009130, body=...) at /downloads/hyperion/libsrc/leddevice/dev_net/ProviderRestApi.cpp:204
#19 0x0000564d8309c107 in LedDeviceHomeAssistant::write (this=0x7fc000004600, ledValues=std::vector of length 1, capacity 1 = {...})
at /downloads/hyperion/libsrc/leddevice/dev_net/LedDeviceHomeAssistant.cpp:437
#20 0x0000564d8307cbe3 in LedDevice::writeLedUpdate (this=0x7fc000004600, ledValues=std::vector of length 1, capacity 1 = {...})
at /downloads/hyperion/libsrc/leddevice/LedDevice.cpp:354
#21 0x0000564d8307cab6 in LedDevice::processLedUpdate (this=0x7fc000004600) at /downloads/hyperion/libsrc/leddevice/LedDevice.cpp:336
#22 0x0000564d8307f656 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (LedDevice::*)()>::call(void (LedDevice::*)(), LedDevice*, void**) (f=(void (LedDevice::*)(LedDevice * const)) 0x564d8307ca4a <LedDevice::processLedUpdate()>, o=0x7fc000004600, arg=0x564d97d0fb78)
at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:135
#23 0x0000564d8307f50f in QtPrivate::FunctionPointer<void (LedDevice::*)()>::call<QtPrivate::List<>, void>(void (LedDevice::*)(), LedDevice*, void**) (
f=(void (LedDevice::*)(LedDevice * const)) 0x564d8307ca4a <LedDevice::processLedUpdate()>, o=0x7fc000004600, arg=0x564d97d0fb78)
at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:172
#24 0x0000564d8307f3fd in QtPrivate::QSlotObject<void (LedDevice::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (
which=1, this_=0x7fbff000f5b0, r=0x7fc000004600, a=0x564d97d0fb78, ret=0x0) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:383
#25 0x00007fc012498d68 in QObject::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#26 0x00007fc01244d3b5 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#27 0x00007fc012450aa5 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#28 0x00007fc01268fbb3 in ?? () from /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#29 0x00007fc011a12e0b in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007fc011a130b8 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007fc011a1316f in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007fc01268f599 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
--Type <RET> for more, q to quit, c to continue without paging--c
#33 0x00007fc01245922b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#34 0x00007fc012541f35 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#35 0x00007fc0125afdc5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt6Core.so.6
#36 0x00007fc011fdbea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
#37 0x00007fc011efbadf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
System
Hyperion Server:
- Build: GitHub-402faba/48b1dd4-1756143620
- Build time: Aug 26 2025 00:19:57
- Build type: Release
- Git Remote: https://github.com/hyperion-project/hyperion.ng
- Version: 2.1.2-beta.1+nightly20250826
- UI Lang: en (BrowserLang: en)
- UI Access: expert
- Avail Screen Cap.: framebuffer,x11,xcb,qt
- Avail Video Cap.: v4l2
- Avail Audio Cap.: audio
- Avail Services: boblight,cec,effectengine,forwarder,flatbuffer,protobuffer,mDNS,SSDP,borderdetection
- Config database: /root/.hyperion/db/hyperion.db
- Database: read/write
- Mode: Non-GUI
Hyperion Server OS:
- Distribution: Debian GNU/Linux 11 (bullseye)
- Architecture: x86_64
- CPU Model: 11th Gen Intel(R) Core(TM) i3-1115G4 @ 3.00GHz
- CPU Type: 140
- Kernel: linux (6.15.9-arch1-1 (WS: 64))
- Root/Admin: true
- Qt Version: 6.4.2
- Python Version: 3.9.2
- Browser: Mozilla/5.0 (X11; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Backlog