hyperion-project / hyperion.ng

The successor to Hyperion aka Hyperion Next Generation
https://hyperion-project.org/
MIT License
3.03k stars 377 forks source link

Segmentation fault on Hyperion 2.0.0-alpha.7 #903

Closed RaymondMouthaan closed 4 years ago

RaymondMouthaan commented 4 years ago

Bug report

Hyperion 2.0.0-alpha.7 crashes after setting up LED hardware with a segmentation fault

Steps to reproduce

  1. Flash HyperBian
  2. Open Hyperion UI from the browser
  3. Setup LED Hardware:
    • LED Controller
    • Controller Type: adalight
    • Output path: /dev/ttyUSB0
  4. Save Settings

What is expected?

Hyperion running

What is actually happening?

Hyperion crashes as soon as the Settings are saved. Because by default Hyperion runs as service, Hyperion restarts and crashes again, and again ...

Stopping the service and manual starting hyperiond shows these logs:

2020-07-25T11:13:20.076 hyperiond EFFECTENGINE : <ERROR> ###### PYTHON EXCEPTION ######
2020-07-25T11:13:20.077 hyperiond EFFECTENGINE : <ERROR> ## In effect 'Rainbow swirl fast'
2020-07-25T11:13:20.077 hyperiond EFFECTENGINE : <ERROR> ## ZipImportError: can't decompress data; zlib not available
2020-07-25T11:13:20.843 hyperiond EFFECTENGINE : <ERROR> ## Traceback (most recent call last):
2020-07-25T11:13:20.844 hyperiond EFFECTENGINE : <ERROR> ## File "<string>", line 1, in <module>
2020-07-25T11:13:20.845 hyperiond EFFECTENGINE : <ERROR> ## File "/usr/share/hyperion/bin/python35.zip/random.py", line 40, in <module>
    from types import MethodType as _MethodType, BuiltinMethodType as _BuiltinMethodType
2020-07-25T11:13:20.846 hyperiond EFFECTENGINE : <ERROR> ## File "/usr/share/hyperion/bin/python35.zip/types.py", line 166, in <module>
    import functools as _functools
2020-07-25T11:13:20.846 hyperiond EFFECTENGINE : <ERROR> ## File "/usr/share/hyperion/bin/python35.zip/functools.py", line 21, in <module>
    from collections import namedtuple
2020-07-25T11:13:20.847 hyperiond EFFECTENGINE : <ERROR> ## File "/usr/share/hyperion/bin/python35.zip/collections/__init__.py", line 32, in <module>
    from reprlib import recursive_repr as _recursive_repr
2020-07-25T11:13:20.848 hyperiond EFFECTENGINE : <ERROR> ## zipimport.ZipImportError: can't decompress data; zlib not available
2020-07-25T11:13:20.848 hyperiond EFFECTENGINE : <ERROR> ###### EXCEPTION END ######

Hyperion caught signal :SIGSEGV
2020-07-25T11:13:20.923 hyperiond CORE         : <ERROR>    /lib/arm-linux-gnueabihf/libc.so.6(__default_rt_sa_restorer+0) [0x7561e130]
2020-07-25T11:13:20.924 hyperiond CORE         : <ERROR>    /usr/share/hyperion/bin/../lib/libQt5Core.so.5(QRingBuffer::reserve(long long)+0x44) [0x75af1b74]
Segmentation fault

From above logs multiple errors occur, not sure if they are related. The zipimport.ZipImportError: can't decompress data; zlib not available error was reported earlier at #881

Removing hyperion.db make Hyperion start again.

System

Hyperion Server: 
- Build:       (HEAD detached at ffa2fd45) (Paulchen-Panther-69e9fa6d/ffa2fd45-1595517126)
- Build time:  Jul 24 2020 15:49:41
- Git Remote:  https://github.com/hyperion-project/hyperion.ng
- Version:     2.0.0-alpha.7
- UI Lang:     auto (BrowserLang: en-gb)
- UI Access:   expert
- Avail Capt:  dispmanx,v4l2,framebuffer,qt

Hyperion Server OS: 
- Distribution: HyperBian GNU/Linux 10 (buster)
- Arch:         arm
- Kernel:       linux (5.4.51-v7+ (WS: 32))
- Browser:      Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.2 Safari/605.1.15 
Paulchen-Panther commented 4 years ago

This error message can be traced back to this PR.

2020-07-25T11:13:20.848 hyperiond EFFECTENGINE : ## zipimport.ZipImportError: can't decompress data; zlib not available

Thanks for the feedback. We'll take a closer look at that.

RaymondMouthaan commented 4 years ago

@Paulchen-Panther, hope you fix it soon :-), btw is it the main cause of the crash? After the zip error the following errors shows up as well:

Hyperion caught signal :SIGSEGV
2020-07-25T11:13:20.923 hyperiond CORE         : <ERROR>    /lib/arm-linux-gnueabihf/libc.so.6(__default_rt_sa_restorer+0) [0x7561e130]
2020-07-25T11:13:20.924 hyperiond CORE         : <ERROR>    /usr/share/hyperion/bin/../lib/libQt5Core.so.5(QRingBuffer::reserve(long long)+0x44) [0x75af1b74]
Segmentation fault
Paulchen-Panther commented 4 years ago

You can try the following temporary fix. Unzip the python35.zip file in the "hyperion/bin" directory to "hyperion/lib/python". then delete the zip file and restart.

sudo systemctl stop hyperiond@pi.service sudo mkdir /usr/share/hyperion/lib/python/ sudo unzip /usr/share/hyperion/bin/python35.zip -d /usr/share/hyperion/lib/python sudo rm /usr/share/hyperion/bin/python35.zip sudo reboot

RaymondMouthaan commented 4 years ago

@Paulchen-Panther, I did the steps like you said and it looks as if the zip error is solved 👍, however Hyperion still crashes because of following error:

pi@HyperBian:~ $ hyperiond

Hyperion caught signal :SIGSEGV
2020-07-25T11:50:51.340 hyperiond CORE         : <ERROR>    /lib/arm-linux-gnueabihf/libc.so.6(__default_rt_sa_restorer+0) [0x75655130]
2020-07-25T11:50:51.341 hyperiond CORE         : <ERROR>    /usr/share/hyperion/bin/../lib/libQt5Core.so.5(QRingBuffer::reserve(long long)+0x44) [0x75b28b74]
Segmentation fault
Paulchen-Panther commented 4 years ago

Could you please start hyperion in debug mode (hyperiond -d) and post the output?

RaymondMouthaan commented 4 years ago

Sure... this is shown when running in debug.

hyperiond -d
2020-07-25T12:01:08.279 hyperiond MAIN         : <INFO> Set user data path to '/home/pi/.hyperion'
2020-07-25T12:01:08.341 hyperiond DAEMON       : <DEBUG> PythonInit.cpp:45:PythonInit() | Initializing Python interpreter
2020-07-25T12:01:08.442 hyperiond SETTINGSMGR  : <DEBUG> SettingsManager.cpp:108:SettingsManager() | Settings database initialized
2020-07-25T12:01:08.442 hyperiond DAEMON       : <INFO> CEC handler created
2020-07-25T12:01:08.464 hyperiond EFFECTFILES  : <INFO> 39 effects loaded from directory :/effects/
2020-07-25T12:01:08.473 hyperiond EFFECTFILES  : <INFO> 22 effect schemas loaded from directory :/effects/schema/
2020-07-25T12:01:08.473 hyperiond EFFECTFILES  : <INFO> 0 effects loaded from directory /home/pi/.hyperion/custom-effects
2020-07-25T12:01:08.511 hyperiond SETTINGSMGR  : <DEBUG> SettingsManager.cpp:108:SettingsManager() | Settings database initialized
2020-07-25T12:01:08.513 hyperiond BLACKBORDER  : <DEBUG> BlackBorderProcessor.cpp:65:handleSettingsUpdate() | Set mode to: default
2020-07-25T12:01:08.513 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | Blackborder detector: enabled
2020-07-25T12:01:08.560 hyperiond DAEMON       : <INFO> set screen capture device to 'dispmanx'
2020-07-25T12:01:08.560 hyperiond DISPMANXGRAB : <DEBUG> Grabber.cpp:31:setVideoMode() | Set videomode to 0
2020-07-25T12:01:08.562 hyperiond DISPMANXGRAB : <INFO> Display opened with resolution: 640x480
2020-07-25T12:01:08.562 hyperiond DISPMANXGRAB : <DEBUG> Grabber.cpp:91:setWidthHeight() | Set new width: 80, height: 45 for capture
2020-07-25T12:01:08.563 hyperiond DAEMON       : <INFO> DISPMANX frame grabber created
2020-07-25T12:01:08.564 hyperiond V4L2:AUTO    : <DEBUG> Grabber.cpp:31:setVideoMode() | Set videomode to 0
2020-07-25T12:01:08.565 hyperiond V4L2:AUTO    : <INFO> Signal threshold set to: {12, 12, 12}
2020-07-25T12:01:08.565 hyperiond V4L2:AUTO    : <INFO> CEC detection is now disabled
2020-07-25T12:01:08.565 hyperiond V4L2:AUTO    : <INFO> Signal detection is now disabled
2020-07-25T12:01:08.566 hyperiond V4L2:AUTO    : <INFO> Signal detection area set to: 0.250000,0.250000 x 0.750000,0.750000
2020-07-25T12:01:08.566 hyperiond DAEMON       : <DEBUG> hyperiond.cpp:527:handleSettingsUpdate() | V4L2 grabber created
2020-07-25T12:01:08.566 hyperiond JSONSERVER   : <DEBUG> JsonServer.cpp:27:JsonServer() | Created instance
2020-07-25T12:01:08.567 hyperiond JSONSERVER   : <INFO> Started on port 19444
2020-07-25T12:01:08.569 hyperiond FLATBUFSERVE : <INFO> Started on port 19400
2020-07-25T12:01:08.569 hyperiond PROTOSERVER  : <INFO> Started on port 19445
2020-07-25T12:01:08.570 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:32:initServer() | Initialize Webserver
2020-07-25T12:01:08.574 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | Smoothing: enabled
2020-07-25T12:01:08.577 hyperiond FLATBUFCONN  : <INFO> Connecting to Hyperion: 127.0.0.1:19401
2020-07-25T12:01:08.577 hyperiond LEDDEVICE    : <INFO> Start LedDevice 'adalight'.
2020-07-25T12:01:08.577 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:32:initServer() | Initialize Webserver
2020-07-25T12:01:08.578 hyperiond LEDDEVICE    : <DEBUG> LedDevice.cpp:133:init() | deviceConfig: [{"colorOrder":"rgb","currentLedCount":26,"delayAfterConnect":1500,"hardwareLedCount":1,"latchTime":30,"lightberry_apa102_mode":false,"output":"/dev/ttyUSB0","rate":1e+06,"rewriteTime":1000,"type":"adalight"}]
2020-07-25T12:01:08.578 hyperiond LEDDEVICE    : <DEBUG> LedDevice.cpp:153:init() | Refresh interval = 1000ms
2020-07-25T12:01:08.578 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:36:init() | DeviceType   : adalight
2020-07-25T12:01:08.578 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:37:init() | LedCount     : 26
2020-07-25T12:01:08.578 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:38:init() | ColorOrder   : rgb
2020-07-25T12:01:08.578 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:39:init() | RefreshTime  : 1000
2020-07-25T12:01:08.578 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:40:init() | LatchTime    : 30
2020-07-25T12:01:08.579 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:52:init() | deviceName   : ttyUSB0
2020-07-25T12:01:08.579 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:53:init() | AutoDevice   : 0
2020-07-25T12:01:08.579 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:54:init() | baudRate_Hz  : 1000000
2020-07-25T12:01:08.579 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:55:init() | delayAfCon ms: 1500
2020-07-25T12:01:08.579 hyperiond LEDDEVICE    : <DEBUG> LedDeviceAdalight.cpp:60:init() | Adalight header for 26 leds: Ada 0x00 0x19 0x4c
2020-07-25T12:01:08.579 hyperiond LEDDEVICE    : <INFO> Opening UART: ttyUSB0
2020-07-25T12:01:08.579 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:141:tryOpen() | _rs232Port.open(QIODevice::WriteOnly): ttyUSB0, Baud rate [1000000]bps
2020-07-25T12:01:08.581 hyperiond EFFECTENGINE : <INFO> Run effect "Rainbow swirl fast" on channel 0
2020-07-25T12:01:08.583 hyperiond EFFECTENGINE : <DEBUG> EffectEngine.cpp:187:runEffectScript() | Start the effect: name [Rainbow swirl fast], smoothCfg [2]
2020-07-25T12:01:08.583 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:158:registerInput() | Register new input 'System/EFFECT' with priority 0 as inactive
2020-07-25T12:01:08.584 hyperiond HYPERION     : <INFO> Initial foreground effect 'Rainbow swirl fast' started
2020-07-25T12:01:08.585 hyperiond EFFECTENGINE : <INFO> Run effect "Warm mood blobs" on channel 254
2020-07-25T12:01:08.586 hyperiond EFFECTENGINE : <DEBUG> EffectEngine.cpp:187:runEffectScript() | Start the effect: name [Warm mood blobs], smoothCfg [2]
2020-07-25T12:01:08.586 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:158:registerInput() | Register new input 'System/EFFECT' with priority 254 as inactive
2020-07-25T12:01:08.587 hyperiond HYPERION     : <INFO> Inital background effect 'Warm mood blobs' started
2020-07-25T12:01:08.588 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:158:registerInput() | Register new input 'System/GRABBER' with priority 250 as inactive
2020-07-25T12:01:08.589 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | Framegrabber: enabled
2020-07-25T12:01:08.590 hyperiond Dispmanx     : <DEBUG> GrabberWrapper.cpp:49:start() | Grabber start()
2020-07-25T12:01:08.591 hyperiond BOBLIGHT     : <DEBUG> BoblightServer.cpp:28:BoblightServer() | Instance created
2020-07-25T12:01:08.592 hyperiond HYPERION     : <INFO> Hyperion instance 'First LED Hardware instance' has been started
2020-07-25T12:01:08.607 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:90:handleSettingsUpdate() | Apply Webserver settings
2020-07-25T12:01:08.607 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:90:handleSettingsUpdate() | Apply Webserver settings
2020-07-25T12:01:08.607 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:108:handleSettingsUpdate() | Set document root to: :/webconfig
2020-07-25T12:01:08.607 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:108:handleSettingsUpdate() | Set document root to: :/webconfig
2020-07-25T12:01:08.608 hyperiond WEBSERVER    : <INFO> Started on port 8090 name 'Hyperion Webserver'
2020-07-25T12:01:08.636 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:146:tryOpen() | portName:          ttyUSB0
2020-07-25T12:01:08.637 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:147:tryOpen() | systemLocation:    /dev/ttyUSB0
2020-07-25T12:01:08.637 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:148:tryOpen() | description:       USB2.0-Serial
2020-07-25T12:01:08.637 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:149:tryOpen() | manufacturer:      1a86
2020-07-25T12:01:08.638 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:150:tryOpen() | productIdentifier: 0x7523
2020-07-25T12:01:08.638 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:151:tryOpen() | vendorIdentifier:  0x1a86
2020-07-25T12:01:08.638 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:152:tryOpen() | serialNumber:
2020-07-25T12:01:08.643 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:173:tryOpen() | delayAfterConnect for 1500 ms - start
2020-07-25T12:01:08.696 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:238:setInputImage() | Priority 250 is now active
2020-07-25T12:01:08.697 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:333:setCurrentTime() | Set visible priority to 0
2020-07-25T12:01:08.811 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:238:setInputImage() | Priority 0 is now active
2020-07-25T12:01:08.812 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:174:handleSettingsUpdate() | Setup SSL certificate
2020-07-25T12:01:08.813 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:190:handleSettingsUpdate() | Setup private SSL key
2020-07-25T12:01:08.814 hyperiond WEBSERVER    : <INFO> Started on port 8092 name 'Hyperion Webserver'
2020-07-25T12:01:08.828 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:198:setInput() | Priority 254 is now active
2020-07-25T12:01:10.145 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:180:tryOpen() | delayAfterConnect for 1500 ms - finished
2020-07-25T12:01:10.146 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | LED device: enabled

Hyperion caught signal :SIGSEGV
2020-07-25T12:01:10.212 hyperiond CORE         : <ERROR>    libc.so.6(__default_rt_sa_restorer+0) [0x75618130]
2020-07-25T12:01:10.213 hyperiond CORE         : <ERROR>    /usr/share/hyperion/bin/../lib/libQt5Core.so.5(QRingBuffer::reserve(long long)+0x44) [0x75aebb74]
Segmentation fault
Paulchen-Panther commented 4 years ago

Is the start effect visible on the LEDs?

RaymondMouthaan commented 4 years ago

When running the command hyperiond -d the LEDs do nothing, they just stay off and then Hyperion crashes.

Paulchen-Panther commented 4 years ago

Can we narrow down the error and you start again with a clean config? hyperiond -d --deleteDatabase

Paulchen-Panther commented 4 years ago

I think it can be attributed to the adalight configuration. @Lord-Grey @m-seker

RaymondMouthaan commented 4 years ago

Step 1: hyperiond -d --deleteDatabase

pi@HyperBian:~ $ hyperiond -d --deleteDatabase
2020-07-25T12:18:32.788 hyperiond MAIN         : <INFO> Set user data path to '/home/pi/.hyperion'
2020-07-25T12:18:33.224 hyperiond DAEMON       : <DEBUG> PythonInit.cpp:45:PythonInit() | Initializing Python interpreter
2020-07-25T12:18:33.585 hyperiond SETTINGSMGR  : <DEBUG> SettingsManager.cpp:108:SettingsManager() | Settings database initialized
2020-07-25T12:18:33.585 hyperiond DAEMON       : <INFO> CEC handler created
2020-07-25T12:18:33.599 hyperiond EFFECTFILES  : <INFO> 39 effects loaded from directory :/effects/
2020-07-25T12:18:33.606 hyperiond EFFECTFILES  : <INFO> 22 effect schemas loaded from directory :/effects/schema/
2020-07-25T12:18:33.606 hyperiond EFFECTFILES  : <INFO> 0 effects loaded from directory /home/pi/.hyperion/custom-effects
2020-07-25T12:18:33.640 hyperiond SETTINGSMGR  : <DEBUG> SettingsManager.cpp:108:SettingsManager() | Settings database initialized
2020-07-25T12:18:33.641 hyperiond BLACKBORDER  : <DEBUG> BlackBorderProcessor.cpp:65:handleSettingsUpdate() | Set mode to: default
2020-07-25T12:18:33.642 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | Blackborder detector: enabled
2020-07-25T12:18:33.665 hyperiond DAEMON       : <INFO> set screen capture device to 'dispmanx'
2020-07-25T12:18:33.666 hyperiond DISPMANXGRAB : <DEBUG> Grabber.cpp:31:setVideoMode() | Set videomode to 0
2020-07-25T12:18:33.667 hyperiond DISPMANXGRAB : <INFO> Display opened with resolution: 640x480
2020-07-25T12:18:33.668 hyperiond DISPMANXGRAB : <DEBUG> Grabber.cpp:91:setWidthHeight() | Set new width: 80, height: 45 for capture
2020-07-25T12:18:33.668 hyperiond DAEMON       : <INFO> DISPMANX frame grabber created
2020-07-25T12:18:33.669 hyperiond V4L2:AUTO    : <DEBUG> Grabber.cpp:31:setVideoMode() | Set videomode to 0
2020-07-25T12:18:33.670 hyperiond V4L2:AUTO    : <INFO> Signal threshold set to: {12, 12, 12}
2020-07-25T12:18:33.671 hyperiond V4L2:AUTO    : <INFO> CEC detection is now disabled
2020-07-25T12:18:33.671 hyperiond V4L2:AUTO    : <INFO> Signal detection is now disabled
2020-07-25T12:18:33.671 hyperiond V4L2:AUTO    : <INFO> Signal detection area set to: 0.250000,0.250000 x 0.750000,0.750000
2020-07-25T12:18:33.671 hyperiond DAEMON       : <DEBUG> hyperiond.cpp:527:handleSettingsUpdate() | V4L2 grabber created
2020-07-25T12:18:33.672 hyperiond JSONSERVER   : <DEBUG> JsonServer.cpp:27:JsonServer() | Created instance
2020-07-25T12:18:33.672 hyperiond JSONSERVER   : <INFO> Started on port 19444
2020-07-25T12:18:33.674 hyperiond FLATBUFSERVE : <INFO> Started on port 19400
2020-07-25T12:18:33.674 hyperiond PROTOSERVER  : <INFO> Started on port 19445
2020-07-25T12:18:33.675 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:32:initServer() | Initialize Webserver
2020-07-25T12:18:33.676 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:32:initServer() | Initialize Webserver
2020-07-25T12:18:33.682 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | Smoothing: enabled
2020-07-25T12:18:33.684 hyperiond FLATBUFCONN  : <INFO> Connecting to Hyperion: 127.0.0.1:19401
2020-07-25T12:18:33.685 hyperiond EFFECTENGINE : <INFO> Run effect "Rainbow swirl fast" on channel 0
2020-07-25T12:18:33.686 hyperiond EFFECTENGINE : <DEBUG> EffectEngine.cpp:187:runEffectScript() | Start the effect: name [Rainbow swirl fast], smoothCfg [2]
2020-07-25T12:18:33.687 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:158:registerInput() | Register new input 'System/EFFECT' with priority 0 as inactive
2020-07-25T12:18:33.687 hyperiond HYPERION     : <INFO> Initial foreground effect 'Rainbow swirl fast' started
2020-07-25T12:18:33.687 hyperiond LEDDEVICE    : <INFO> Start LedDevice 'file'.
2020-07-25T12:18:33.688 hyperiond LEDDEVICE    : <DEBUG> LedDevice.cpp:133:init() | deviceConfig: [{"colorOrder":"rgb","currentLedCount":26,"hardwareLedCount":1,"latchTime":0,"output":"/dev/null","rewriteTime":0,"type":"file"}]
2020-07-25T12:18:33.688 hyperiond EFFECTENGINE : <INFO> Run effect "Warm mood blobs" on channel 254
2020-07-25T12:18:33.688 hyperiond LEDDEVICE    : <DEBUG> LedDeviceFile.cpp:55:open() | QIODevice::WriteOnly, /dev/null
2020-07-25T12:18:33.688 hyperiond EFFECTENGINE : <DEBUG> EffectEngine.cpp:187:runEffectScript() | Start the effect: name [Warm mood blobs], smoothCfg [2]
2020-07-25T12:18:33.688 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:158:registerInput() | Register new input 'System/EFFECT' with priority 254 as inactive
2020-07-25T12:18:33.689 hyperiond HYPERION     : <INFO> Inital background effect 'Warm mood blobs' started
2020-07-25T12:18:33.690 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:158:registerInput() | Register new input 'System/GRABBER' with priority 250 as inactive
2020-07-25T12:18:33.690 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | Framegrabber: enabled
2020-07-25T12:18:33.691 hyperiond BOBLIGHT     : <DEBUG> BoblightServer.cpp:28:BoblightServer() | Instance created
2020-07-25T12:18:33.691 hyperiond Dispmanx     : <DEBUG> GrabberWrapper.cpp:49:start() | Grabber start()
2020-07-25T12:18:33.691 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | LED device: enabled
2020-07-25T12:18:33.692 hyperiond HYPERION     : <INFO> Hyperion instance 'First LED Hardware instance' has been started
2020-07-25T12:18:33.718 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:90:handleSettingsUpdate() | Apply Webserver settings
2020-07-25T12:18:33.718 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:90:handleSettingsUpdate() | Apply Webserver settings2020-07-25T12:18:33.719 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:108:handleSettingsUpdate() | Set document root to: :/webconfig

2020-07-25T12:18:33.719 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:108:handleSettingsUpdate() | Set document root to: :/webconfig
2020-07-25T12:18:33.719 hyperiond WEBSERVER    : <INFO> Started on port 8090 name 'Hyperion Webserver'
2020-07-25T12:18:33.797 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:238:setInputImage() | Priority 250 is now active
2020-07-25T12:18:33.798 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:333:setCurrentTime() | Set visible priority to 0
2020-07-25T12:18:33.908 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:174:handleSettingsUpdate() | Setup SSL certificate
2020-07-25T12:18:33.909 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:190:handleSettingsUpdate() | Setup private SSL key
2020-07-25T12:18:33.909 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:238:setInputImage() | Priority 0 is now active
2020-07-25T12:18:33.910 hyperiond WEBSERVER    : <INFO> Started on port 8092 name 'Hyperion Webserver'
2020-07-25T12:18:33.921 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:198:setInput() | Priority 254 is now active
2020-07-25T12:18:36.828 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:298:setCurrentTime() | Timeout clear for priority 0
2020-07-25T12:18:37.077 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:333:setCurrentTime() | Set visible priority to 250

Step 2: Setup adalight

image

Step 3: Save settings:

2020-07-25T12:21:50.813 hyperiond LEDDEVICE    : <DEBUG> LedDeviceFile.cpp:81:close() | File: /dev/null
[hyperiond LedDeviceWrapper] <INFO> LedDevice 'file' closed
2020-07-25T12:21:50.815 hyperiond LEDDEVICE    : <INFO> Start LedDevice 'adalight'.
2020-07-25T12:21:50.815 hyperiond LEDDEVICE    : <DEBUG> LedDevice.cpp:133:init() | deviceConfig: [{"colorOrder":"rgb","currentLedCount":26,"delayAfterConnect":1500,"hardwareLedCount":1,"latchTime":30,"lightberry_apa102_mode":false,"output":"/dev/ttyUSB0","rate":1e+06,"rewriteTime":1000,"type":"adalight"}]
2020-07-25T12:21:50.815 hyperiond LEDDEVICE    : <DEBUG> LedDevice.cpp:153:init() | Refresh interval = 1000ms
2020-07-25T12:21:50.815 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:36:init() | DeviceType   : adalight
2020-07-25T12:21:50.815 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:37:init() | LedCount     : 26
2020-07-25T12:21:50.816 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:38:init() | ColorOrder   : rgb
2020-07-25T12:21:50.816 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:39:init() | RefreshTime  : 1000
2020-07-25T12:21:50.816 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:40:init() | LatchTime    : 30
2020-07-25T12:21:50.816 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:52:init() | deviceName   : ttyUSB0
2020-07-25T12:21:50.816 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:53:init() | AutoDevice   : 0
2020-07-25T12:21:50.816 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:54:init() | baudRate_Hz  : 1000000
2020-07-25T12:21:50.816 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:55:init() | delayAfCon ms: 1500
2020-07-25T12:21:50.816 hyperiond LEDDEVICE    : <DEBUG> LedDeviceAdalight.cpp:60:init() | Adalight header for 26 leds: Ada 0x00 0x19 0x4c
2020-07-25T12:21:50.817 hyperiond LEDDEVICE    : <INFO> Opening UART: ttyUSB0
2020-07-25T12:21:50.817 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:141:tryOpen() | _rs232Port.open(QIODevice::WriteOnly): ttyUSB0, Baud rate [1000000]bps
2020-07-25T12:21:50.820 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | LED device: disabled
2020-07-25T12:21:50.869 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:146:tryOpen() | portName:          ttyUSB0
2020-07-25T12:21:50.869 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:147:tryOpen() | systemLocation:    /dev/ttyUSB0
2020-07-25T12:21:50.869 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:148:tryOpen() | description:       USB2.0-Serial
2020-07-25T12:21:50.869 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:149:tryOpen() | manufacturer:      1a86
2020-07-25T12:21:50.869 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:150:tryOpen() | productIdentifier: 0x7523
2020-07-25T12:21:50.869 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:151:tryOpen() | vendorIdentifier:  0x1a86
2020-07-25T12:21:50.870 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:152:tryOpen() | serialNumber:
2020-07-25T12:21:50.874 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:173:tryOpen() | delayAfterConnect for 1500 ms - start
2020-07-25T12:21:52.375 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:180:tryOpen() | delayAfterConnect for 1500 ms - finished
2020-07-25T12:21:52.375 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | LED device: enabled

Hyperion caught signal :SIGSEGV
2020-07-25T12:21:52.400 hyperiond CORE         : <ERROR>    /lib/arm-linux-gnueabihf/libc.so.6(__default_rt_sa_restorer+0) [0x755d6130]
2020-07-25T12:21:52.400 hyperiond CORE         : <ERROR>    /usr/share/hyperion/bin/../lib/libQt5Core.so.5(QRingBuffer::reserve(long long)+0x44) [0x75aa9b74]
Segmentation fault
pi@HyperBian:~ $ ls -al /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 0 Jul 25 12:10 /dev/ttyUSB0

Note 1: this is the cpp used on the Arduino Nano hyperion_v9.cpp.zip between the ledstrip ws2813b and the Raspberry PI 3b.

Note 2: with previous released Hyperion 2.0.0-alpha.6 the error didn't occur.

Paulchen-Panther commented 4 years ago

Let's take a look a little further into the course. starts hyperion with gdb gdb hyperiond

After loading hyperiond you start the debugger run -d

And if it crashes, show the backtrace. bt

And please post all of this here. thank you

RaymondMouthaan commented 4 years ago

No problem! Here you go ...

pi@HyperBian:~ $ gdb hyperiond
GNU gdb (Raspbian 8.2.1-2) 8.2.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "arm-linux-gnueabihf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from hyperiond...(no debugging symbols found)...done.
(gdb) run -d
Starting program: /usr/bin/hyperiond -d
/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
2020-07-25T12:37:15.881 hyperiond MAIN         : <INFO> Set user data path to '/home/pi/.hyperion'
[New Thread 0x72d6a350 (LWP 1630)]
2020-07-25T12:37:15.972 hyperiond DAEMON       : <DEBUG> PythonInit.cpp:45:PythonInit() | Initializing Python interpreter
2020-07-25T12:37:16.055 hyperiond SETTINGSMGR  : <DEBUG> SettingsManager.cpp:108:SettingsManager() | Settings database initialized
[New Thread 0x724a9350 (LWP 1631)]
2020-07-25T12:37:16.056 hyperiond DAEMON       : <INFO> CEC handler created
2020-07-25T12:37:16.070 hyperiond EFFECTFILES  : <INFO> 39 effects loaded from directory :/effects/
2020-07-25T12:37:16.076 hyperiond EFFECTFILES  : <INFO> 22 effect schemas loaded from directory :/effects/schema/
2020-07-25T12:37:16.077 hyperiond EFFECTFILES  : <INFO> 0 effects loaded from directory /home/pi/.hyperion/custom-effects
2020-07-25T12:37:16.110 hyperiond SETTINGSMGR  : <DEBUG> SettingsManager.cpp:108:SettingsManager() | Settings database initialized
2020-07-25T12:37:16.112 hyperiond BLACKBORDER  : <DEBUG> BlackBorderProcessor.cpp:65:handleSettingsUpdate() | Set mode to: default
2020-07-25T12:37:16.112 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | Blackborder detector: enabled
[New Thread 0x71aff350 (LWP 1632)]
2020-07-25T12:37:16.137 hyperiond DAEMON       : <INFO> set screen capture device to 'dispmanx'
2020-07-25T12:37:16.137 hyperiond DISPMANXGRAB : <DEBUG> Grabber.cpp:31:setVideoMode() | Set videomode to 0
[New Thread 0x710ff350 (LWP 1633)]
[New Thread 0x706ff350 (LWP 1634)]
[New Thread 0x6fefe350 (LWP 1635)]
[New Thread 0x6f6fd350 (LWP 1636)]
2020-07-25T12:37:16.141 hyperiond DISPMANXGRAB : <INFO> Display opened with resolution: 640x480
2020-07-25T12:37:16.142 hyperiond DISPMANXGRAB : <DEBUG> Grabber.cpp:91:setWidthHeight() | Set new width: 80, height: 45 for capture
2020-07-25T12:37:16.142 hyperiond DAEMON       : <INFO> DISPMANX frame grabber created
2020-07-25T12:37:16.143 hyperiond V4L2:AUTO    : <DEBUG> Grabber.cpp:31:setVideoMode() | Set videomode to 0
2020-07-25T12:37:16.144 hyperiond V4L2:AUTO    : <INFO> Signal threshold set to: {12, 12, 12}
2020-07-25T12:37:16.145 hyperiond V4L2:AUTO    : <INFO> CEC detection is now disabled
2020-07-25T12:37:16.145 hyperiond V4L2:AUTO    : <INFO> Signal detection is now disabled
2020-07-25T12:37:16.145 hyperiond V4L2:AUTO    : <INFO> Signal detection area set to: 0.250000,0.250000 x 0.750000,0.750000
2020-07-25T12:37:16.145 hyperiond DAEMON       : <DEBUG> hyperiond.cpp:527:handleSettingsUpdate() | V4L2 grabber created
2020-07-25T12:37:16.146 hyperiond JSONSERVER   : <DEBUG> JsonServer.cpp:27:JsonServer() | Created instance
2020-07-25T12:37:16.146 hyperiond JSONSERVER   : <INFO> Started on port 19444
[New Thread 0x6eefc350 (LWP 1637)]
2020-07-25T12:37:16.148 hyperiond FLATBUFSERVE : <INFO> Started on port 19400
[New Thread 0x6e4ff350 (LWP 1638)]
2020-07-25T12:37:16.150 hyperiond PROTOSERVER  : <INFO> Started on port 19445
[New Thread 0x6daff350 (LWP 1639)]
2020-07-25T12:37:16.152 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:32:initServer() | Initialize Webserver
[New Thread 0x6d0ff350 (LWP 1640)]
2020-07-25T12:37:16.154 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:32:initServer() | Initialize Webserver
[New Thread 0x6beff350 (LWP 1642)]
[New Thread 0x6c8fe350 (LWP 1641)]
2020-07-25T12:37:16.164 hyperiond LEDDEVICE    : <INFO> Start LedDevice 'adalight'.
2020-07-25T12:37:16.164 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | Smoothing: enabled
2020-07-25T12:37:16.164 hyperiond LEDDEVICE    : <DEBUG> LedDevice.cpp:133:init() | deviceConfig: [{"colorOrder":"rgb","currentLedCount":26,"delayAfterConnect":1500,"hardwareLedCount":1,"latchTime":30,"lightberry_apa102_mode":false,"output":"/dev/ttyUSB0","rate":1e+06,"rewriteTime":1000,"type":"adalight"}]
2020-07-25T12:37:16.165 hyperiond LEDDEVICE    : <DEBUG> LedDevice.cpp:153:init() | Refresh interval = 1000ms
2020-07-25T12:37:16.165 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:36:init() | DeviceType   : adalight
2020-07-25T12:37:16.165 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:37:init() | LedCount     : 26
2020-07-25T12:37:16.165 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:38:init() | ColorOrder   : rgb
2020-07-25T12:37:16.165 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:39:init() | RefreshTime  : 1000
2020-07-25T12:37:16.165 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:40:init() | LatchTime    : 30
2020-07-25T12:37:16.166 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:52:init() | deviceName   : ttyUSB0
2020-07-25T12:37:16.166 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:53:init() | AutoDevice   : 0
2020-07-25T12:37:16.166 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:54:init() | baudRate_Hz  : 1000000
2020-07-25T12:37:16.166 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:55:init() | delayAfCon ms: 1500
2020-07-25T12:37:16.166 hyperiond LEDDEVICE    : <DEBUG> LedDeviceAdalight.cpp:60:init() | Adalight header for 26 leds: Ada 0x00 0x19 0x4c
2020-07-25T12:37:16.166 hyperiond LEDDEVICE    : <INFO> Opening UART: ttyUSB0
2020-07-25T12:37:16.167 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:141:tryOpen() | _rs232Port.open(QIODevice::WriteOnly): ttyUSB0, Baud rate [1000000]bps
2020-07-25T12:37:16.168 hyperiond FLATBUFCONN  : <INFO> Connecting to Hyperion: 127.0.0.1:19401
2020-07-25T12:37:16.170 hyperiond EFFECTENGINE : <INFO> Run effect "Rainbow swirl fast" on channel 0
2020-07-25T12:37:16.171 hyperiond EFFECTENGINE : <DEBUG> EffectEngine.cpp:187:runEffectScript() | Start the effect: name [Rainbow swirl fast], smoothCfg [2]
2020-07-25T12:37:16.172 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:158:registerInput() | Register new input 'System/EFFECT' with priority 0 as inactive
2020-07-25T12:37:16.219 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:146:tryOpen() | portName:          ttyUSB0
2020-07-25T12:37:16.219 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:147:tryOpen() | systemLocation:    /dev/ttyUSB0
2020-07-25T12:37:16.220 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:148:tryOpen() | description:       USB2.0-Serial
2020-07-25T12:37:16.220 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:149:tryOpen() | manufacturer:      1a86
2020-07-25T12:37:16.220 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:150:tryOpen() | productIdentifier: 0x7523
2020-07-25T12:37:16.220 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:151:tryOpen() | vendorIdentifier:  0x1a86
2020-07-25T12:37:16.220 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:152:tryOpen() | serialNumber:
2020-07-25T12:37:16.225 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:173:tryOpen() | delayAfterConnect for 1500 ms - start
[New Thread 0x6b57b350 (LWP 1643)]
2020-07-25T12:37:16.368 hyperiond HYPERION     : <INFO> Initial foreground effect 'Rainbow swirl fast' started
2020-07-25T12:37:16.369 hyperiond EFFECTENGINE : <INFO> Run effect "Warm mood blobs" on channel 254
2020-07-25T12:37:16.369 hyperiond EFFECTENGINE : <DEBUG> EffectEngine.cpp:187:runEffectScript() | Start the effect: name [Warm mood blobs], smoothCfg [2]
2020-07-25T12:37:16.370 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:158:registerInput() | Register new input 'System/EFFECT' with priority 254 as inactive
[New Thread 0x6ad7a350 (LWP 1644)]
2020-07-25T12:37:16.371 hyperiond HYPERION     : <INFO> Inital background effect 'Warm mood blobs' started
2020-07-25T12:37:16.372 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:158:registerInput() | Register new input 'System/GRABBER' with priority 250 as inactive
2020-07-25T12:37:16.372 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | Framegrabber: enabled
2020-07-25T12:37:16.373 hyperiond Dispmanx     : <DEBUG> GrabberWrapper.cpp:49:start() | Grabber start()
2020-07-25T12:37:16.373 hyperiond BOBLIGHT     : <DEBUG> BoblightServer.cpp:28:BoblightServer() | Instance created
2020-07-25T12:37:16.374 hyperiond HYPERION     : <INFO> Hyperion instance 'First LED Hardware instance' has been started
[New Thread 0x6a579350 (LWP 1645)]
2020-07-25T12:37:16.469 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:238:setInputImage() | Priority 250 is now active
2020-07-25T12:37:16.470 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:333:setCurrentTime() | Set visible priority to 0
2020-07-25T12:37:16.506 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:90:handleSettingsUpdate() | Apply Webserver settings
2020-07-25T12:37:16.507 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:108:handleSettingsUpdate() | Set document root to: :/webconfig
2020-07-25T12:37:16.506 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:90:handleSettingsUpdate() | Apply Webserver settings
2020-07-25T12:37:16.508 hyperiond WEBSERVER    : <INFO> Started on port 8090 name 'Hyperion Webserver'
2020-07-25T12:37:16.508 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:108:handleSettingsUpdate() | Set document root to: :/webconfig
2020-07-25T12:37:16.678 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:238:setInputImage() | Priority 0 is now active
2020-07-25T12:37:16.688 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:198:setInput() | Priority 254 is now active
2020-07-25T12:37:16.723 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:174:handleSettingsUpdate() | Setup SSL certificate
2020-07-25T12:37:16.724 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:190:handleSettingsUpdate() | Setup private SSL key
2020-07-25T12:37:16.725 hyperiond WEBSERVER    : <INFO> Started on port 8092 name 'Hyperion Webserver'
2020-07-25T12:37:17.727 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:180:tryOpen() | delayAfterConnect for 1500 ms - finished
2020-07-25T12:37:17.728 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | LED device: enabled

Thread 14 "LedDeviceWrappe" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x6c8fe350 (LWP 1641)]
0x75b7db74 in QRingBuffer::reserve(long long) () from /usr/share/hyperion/bin/../lib/libQt5Core.so.5
(gdb) bt
#0  0x75b7db74 in QRingBuffer::reserve(long long) () from /usr/share/hyperion/bin/../lib/libQt5Core.so.5
#1  0x769fd500 in ?? () from /usr/share/hyperion/bin/../lib/libQt5SerialPort.so.5
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)
Paulchen-Panther commented 4 years ago

What does the dmesg console output say?

RaymondMouthaan commented 4 years ago

Not sure which part you need, but below the full dmesg output:

pi@HyperBian:~ $ dmesg
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.4.51-v7+ (dom@buildbot) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611)) #1327 SMP Thu Jul 23 10:58:46 BST 2020
[    0.000000] CPU: ARMv7 Processor [410fd034] revision 4 (ARMv7), cr=10c5383d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: Raspberry Pi 3 Model B Rev 1.2
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] Reserved memory: created CMA memory pool at 0x37400000, size 64 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] On node 0 totalpages: 242688
[    0.000000]   Normal zone: 1896 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 242688 pages, LIFO batch:63
[    0.000000] percpu: Embedded 20 pages/cpu s49792 r8192 d23936 u81920
[    0.000000] pcpu-alloc: s49792 r8192 d23936 u81920 alloc=20*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 240792
[    0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=0 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 snd_bcm2835.enable_headphones=1 bcm2708_fb.fbwidth=640 bcm2708_fb.fbheight=480 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000  console=ttyS0,115200 console=tty1 root=PARTUUID=0d6939c8-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes, linear)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 882472K/970752K available (8192K kernel code, 681K rwdata, 2532K rodata, 1024K init, 824K bss, 22744K reserved, 65536K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] ftrace: allocating 27966 entries in 55 pages
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] random: get_random_bytes called from start_kernel+0x328/0x4e8 with crng_init=0
[    0.000000] arch_timer: cp15 timer(s) running at 19.20MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x46d987e47, max_idle_ns: 440795202767 ns
[    0.000007] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns
[    0.000022] Switching to timer-based delay loop, resolution 52ns
[    0.000291] Console: colour dummy device 80x30
[    0.000869] printk: console [tty1] enabled
[    0.000934] Calibrating delay loop (skipped), value calculated using timer frequency.. 38.40 BogoMIPS (lpj=192000)
[    0.000982] pid_max: default: 32768 minimum: 301
[    0.001328] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    0.001374] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    0.002568] CPU: Testing write buffer coherency: ok
[    0.003137] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.004100] Setting up static identity map for 0x100000 - 0x10003c
[    0.004322] rcu: Hierarchical SRCU implementation.
[    0.005020] smp: Bringing up secondary CPUs ...
[    0.006154] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.007411] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[    0.008561] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[    0.008713] smp: Brought up 1 node, 4 CPUs
[    0.008801] SMP: Total of 4 processors activated (153.60 BogoMIPS).
[    0.008829] CPU: All CPU(s) started in HYP mode.
[    0.008854] CPU: Virtualization extensions available.
[    0.009809] devtmpfs: initialized
[    0.026121] VFP support v0.3: implementor 41 architecture 3 part 40 variant 3 rev 4
[    0.026425] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.026482] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.029503] pinctrl core: initialized pinctrl subsystem
[    0.030741] NET: Registered protocol family 16
[    0.034919] DMA: preallocated 1024 KiB pool for atomic coherent allocations
[    0.041185] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.041227] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.041489] Serial: AMBA PL011 UART driver
[    0.043436] bcm2835-mbox 3f00b880.mailbox: mailbox enabled
[    0.060081] raspberrypi-firmware soc:firmware: Attached to firmware from 2020-07-17 11:04, variant start
[    0.070096] raspberrypi-firmware soc:firmware: Firmware hash is 21a15cb094f41c7506ad65d2cb9b29c550693057
[    0.121371] bcm2835-dma 3f007000.dma: DMA legacy API manager, dmachans=0x1
[    0.123580] SCSI subsystem initialized
[    0.123858] usbcore: registered new interface driver usbfs
[    0.123941] usbcore: registered new interface driver hub
[    0.124088] usbcore: registered new device driver usb
[    0.126058] clocksource: Switched to clocksource arch_sys_counter
[    1.283953] VFS: Disk quotas dquot_6.6.0
[    1.284110] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    1.284312] FS-Cache: Loaded
[    1.284552] CacheFiles: Loaded
[    1.294171] thermal_sys: Registered thermal governor 'step_wise'
[    1.294561] NET: Registered protocol family 2
[    1.295513] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
[    1.295582] TCP established hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    1.295723] TCP bind hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    1.295933] TCP: Hash tables configured (established 8192 bind 8192)
[    1.296157] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
[    1.296230] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
[    1.296541] NET: Registered protocol family 1
[    1.297422] RPC: Registered named UNIX socket transport module.
[    1.297453] RPC: Registered udp transport module.
[    1.297480] RPC: Registered tcp transport module.
[    1.297506] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.299232] hw perfevents: enabled with armv7_cortex_a7 PMU driver, 7 counters available
[    1.302513] Initialise system trusted keyrings
[    1.302776] workingset: timestamp_bits=30 max_order=18 bucket_order=0
[    1.313226] FS-Cache: Netfs 'nfs' registered for caching
[    1.313981] NFS: Registering the id_resolver key type
[    1.314073] Key type id_resolver registered
[    1.314100] Key type id_legacy registered
[    1.314137] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    1.315440] Key type asymmetric registered
[    1.315470] Asymmetric key parser 'x509' registered
[    1.315548] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[    1.315585] io scheduler mq-deadline registered
[    1.315612] io scheduler kyber registered
[    1.320683] bcm2708_fb soc:fb: FB found 1 display(s)
[    1.333273] Console: switching to colour frame buffer device 80x30
[    1.341229] bcm2708_fb soc:fb: Registered framebuffer for display 0, size 640x480
[    1.351938] bcm2835-rng 3f104000.rng: hwrng registered
[    1.355279] vc-mem: phys_addr:0x00000000 mem_base=0x3ec00000 mem_size:0x40000000(1024 MiB)
[    1.361819] vc-sm: Videocore shared memory driver
[    1.365339] gpiomem-bcm2835 3f200000.gpiomem: Initialised: Registers at 0x3f200000
[    1.383179] brd: module loaded
[    1.398050] loop: module loaded
[    1.402360] Loading iSCSI transport class v2.0-870.
[    1.406322] libphy: Fixed MDIO Bus: probed
[    1.409341] usbcore: registered new interface driver lan78xx
[    1.412358] usbcore: registered new interface driver smsc95xx
[    1.415269] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
[    2.146513] Core Release: 2.80a
[    2.149411] Setting default values for core params
[    2.152315] Finished setting default values for core params
[    2.355591] Using Buffer DMA mode
[    2.358454] Periodic Transfer Interrupt Enhancement - disabled
[    2.361311] Multiprocessor Interrupt Enhancement - disabled
[    2.364176] OTG VER PARAM: 0, OTG VER FLAG: 0
[    2.367087] Dedicated Tx FIFOs mode
[    2.370522] WARN::dwc_otg_hcd_init:1074: FIQ DMA bounce buffers: virt = b7504000 dma = 0xf7504000 len=9024
[    2.376393] FIQ FSM acceleration enabled for :
               Non-periodic Split Transactions
               Periodic Split Transactions
               High-Speed Isochronous Endpoints
               Interrupt/Control Split Transaction hack enabled
[    2.390040] dwc_otg: Microframe scheduler enabled
[    2.390105] WARN::hcd_init_fiq:457: FIQ on core 1
[    2.392724] WARN::hcd_init_fiq:458: FIQ ASM at 806bdcbc length 36
[    2.395277] WARN::hcd_init_fiq:497: MPHI regs_base at bb810000
[    2.397866] dwc_otg 3f980000.usb: DWC OTG Controller
[    2.400490] dwc_otg 3f980000.usb: new USB bus registered, assigned bus number 1
[    2.405729] dwc_otg 3f980000.usb: irq 56, io mem 0x00000000
[    2.408504] Init: Port Power? op_state=1
[    2.411239] Init: Power Port (0)
[    2.414263] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04
[    2.419770] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.425446] usb usb1: Product: DWC OTG Controller
[    2.428354] usb usb1: Manufacturer: Linux 5.4.51-v7+ dwc_otg_hcd
[    2.431254] usb usb1: SerialNumber: 3f980000.usb
[    2.434811] hub 1-0:1.0: USB hub found
[    2.437758] hub 1-0:1.0: 1 port detected
[    2.441349] dwc_otg: FIQ enabled
[    2.441359] dwc_otg: NAK holdoff enabled
[    2.441369] dwc_otg: FIQ split-transaction FSM enabled
[    2.441384] Module dwc_common_port init
[    2.441722] usbcore: registered new interface driver usb-storage
[    2.444718] mousedev: PS/2 mouse device common for all mice
[    2.448895] bcm2835-wdt bcm2835-wdt: Broadcom BCM2835 watchdog timer
[    2.453862] sdhci: Secure Digital Host Controller Interface driver
[    2.456786] sdhci: Copyright(c) Pierre Ossman
[    2.460291] mmc-bcm2835 3f300000.mmcnr: could not get clk, deferring probe
[    2.463853] sdhost-bcm2835 3f202000.mmc: could not get clk, deferring probe
[    2.467099] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.471936] ledtrig-cpu: registered to indicate activity on CPUs
[    2.475422] hidraw: raw HID events driver (C) Jiri Kosina
[    2.478727] usbcore: registered new interface driver usbhid
[    2.481811] usbhid: USB HID core driver
[    2.485830] vchiq: vchiq_init_state: slot_zero = (ptrval)
[    2.490595] [vc_sm_connected_init]: start
[    2.499524] [vc_sm_connected_init]: end - returning 0
[    2.504560] Initializing XFRM netlink socket
[    2.507628] NET: Registered protocol family 17
[    2.510593] Key type dns_resolver registered
[    2.514020] Registering SWP/SWPB emulation handler
[    2.517149] registered taskstats version 1
[    2.519839] Loading compiled-in X.509 certificates
[    2.522996] Key type ._fscrypt registered
[    2.525668] Key type .fscrypt registered
[    2.538654] uart-pl011 3f201000.serial: cts_event_workaround enabled
[    2.541543] 3f201000.serial: ttyAMA0 at MMIO 0x3f201000 (irq = 81, base_baud = 0) is a PL011 rev2
[    2.549099] bcm2835-power bcm2835-power: Broadcom BCM2835 power domains driver
[    2.556274] mmc-bcm2835 3f300000.mmcnr: mmc_debug:0 mmc_debug2:0
[    2.559211] mmc-bcm2835 3f300000.mmcnr: DMA channel allocated
[    2.589626] sdhost: log_buf @ (ptrval) (f7507000)
[    2.629447] mmc1: queuing unknown CIS tuple 0x80 (2 bytes)
[    2.633883] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[    2.638237] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[    2.641692] mmc0: sdhost-bcm2835 loaded - DMA enabled (>1)
[    2.646809] of_cfs_init
[    2.649577] of_cfs_init: OK
[    2.665117] Waiting for root device PARTUUID=0d6939c8-02...
[    2.666535] mmc1: queuing unknown CIS tuple 0x80 (7 bytes)
[    2.667879] Indeed it is in host mode hprt0 = 00021501
[    2.716285] random: fast init done
[    2.736937] mmc0: host does not support reading read-only switch, assuming write-enable
[    2.746470] mmc0: new high speed SDHC card at address e624
[    2.750473] mmcblk0: mmc0:e624 SC32G 29.7 GiB
[    2.759186]  mmcblk0: p1 p2
[    2.784933] mmc1: new high speed SDIO card at address 0001
[    2.791473] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    2.797268] VFS: Mounted root (ext4 filesystem) readonly on device 179:2.
[    2.810115] devtmpfs: mounted
[    2.819763] Freeing unused kernel memory: 1024K
[    2.826480] Run /sbin/init as init process
[    2.876135] usb 1-1: new high-speed USB device number 2 using dwc_otg
[    2.879085] Indeed it is in host mode hprt0 = 00001101
[    3.116495] usb 1-1: New USB device found, idVendor=0424, idProduct=9514, bcdDevice= 2.00
[    3.122205] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    3.126155] hub 1-1:1.0: USB hub found
[    3.129362] hub 1-1:1.0: 5 ports detected
[    3.437870] systemd[1]: System time before build time, advancing clock.
[    3.446121] usb 1-1.1: new high-speed USB device number 3 using dwc_otg
[    3.586362] usb 1-1.1: New USB device found, idVendor=0424, idProduct=ec00, bcdDevice= 2.00
[    3.592783] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    3.607257] NET: Registered protocol family 10
[    3.612219] Segment Routing with IPv6
[    3.615644] smsc95xx v1.0.6
[    3.654457] systemd[1]: systemd 241 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid)
[    3.668911] systemd[1]: Detected architecture arm.
[    3.721891] smsc95xx 1-1.1:1.0 eth0: register 'smsc95xx' at usb-3f980000.usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb:1e:58:30
[    3.740814] systemd[1]: Set hostname to <HyperBian>.
[    3.846195] usb 1-1.3: new full-speed USB device number 4 using dwc_otg
[    3.980069] usb 1-1.3: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.54
[    3.987574] usb 1-1.3: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[    3.987588] usb 1-1.3: Product: USB2.0-Serial
[    4.557039] random: systemd: uninitialized urandom read (16 bytes read)
[    4.575439] random: systemd: uninitialized urandom read (16 bytes read)
[    4.581857] systemd[1]: Created slice system-systemd\x2dfsck.slice.
[    4.589441] random: systemd: uninitialized urandom read (16 bytes read)
[    4.593057] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[    4.604790] systemd[1]: Listening on Journal Socket.
[    4.613075] systemd[1]: Condition check resulted in Huge Pages File System being skipped.
[    4.624766] systemd[1]: Mounting Kernel Debug File System...
[    4.634275] systemd[1]: Created slice User and Session Slice.
[    4.643221] systemd[1]: Listening on udev Control Socket.
[    5.443666] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[    5.546326] systemd-journald[121]: Received request to flush runtime journal from PID 1
[    6.154883] vc_sm_cma: module is from the staging directory, the quality is unknown, you have been warned.
[    6.157770] bcm2835_vc_sm_cma_probe: Videocore shared memory driver
[    6.157804] [vc_sm_connected_init]: start
[    6.164948] [vc_sm_connected_init]: installed successfully
[    6.167905] mc: Linux media interface: v0.10
[    6.237760] videodev: Linux video capture interface: v2.00
[    6.286508] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[    6.301571] bcm2835_v4l2: module is from the staging directory, the quality is unknown, you have been warned.
[    6.307804] bcm2835_codec: module is from the staging directory, the quality is unknown, you have been warned.
[    6.360927] bcm2835-codec bcm2835-codec: Device registered as /dev/video10
[    6.360988] bcm2835-codec bcm2835-codec: Loaded V4L2 decode
[    6.366546] bcm2835-codec bcm2835-codec: Device registered as /dev/video11
[    6.366597] bcm2835-codec bcm2835-codec: Loaded V4L2 encode
[    6.374735] bcm2835_isp: module is from the staging directory, the quality is unknown, you have been warned.
[    6.379234] bcm2835-codec bcm2835-codec: Device registered as /dev/video12
[    6.379286] bcm2835-codec bcm2835-codec: Loaded V4L2 isp
[    6.399250] bcm2835-isp bcm2835-isp: Device node output[0] registered as /dev/video13
[    6.399808] bcm2835-isp bcm2835-isp: Device node capture[0] registered as /dev/video14
[    6.400233] bcm2835-isp bcm2835-isp: Device node capture[1] registered as /dev/video15
[    6.400575] bcm2835-isp bcm2835-isp: Device node stats[2] registered as /dev/video16
[    6.400603] bcm2835-isp bcm2835-isp: Register output node 0 with media controller
[    6.400624] bcm2835-isp bcm2835-isp: Register capture node 1 with media controller
[    6.400642] bcm2835-isp bcm2835-isp: Register capture node 2 with media controller
[    6.400659] bcm2835-isp bcm2835-isp: Register capture node 3 with media controller
[    6.400849] bcm2835-isp bcm2835-isp: Loaded V4L2 bcm2835-isp
[    6.459204] snd_bcm2835: module is from the staging directory, the quality is unknown, you have been warned.
[    6.569635] bcm2835_audio bcm2835_audio: card created with 4 channels
[    6.591305] bcm2835_audio bcm2835_audio: card created with 4 channels
[    6.834422] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    6.973157] usbcore: registered new interface driver usbserial_generic
[    6.973234] usbserial: USB Serial support registered for generic
[    6.981227] usbcore: registered new interface driver ch341
[    6.981344] usbserial: USB Serial support registered for ch341-uart
[    6.981470] ch341 1-1.3:1.0: ch341-uart converter detected
[    6.989059] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    6.996312] usb 1-1.3: ch341-uart converter now attached to ttyUSB0
[    7.173786] brcmfmac: F1 signature read @0x18000000=0x1541a9a6
[    7.186469] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/1
[    7.186797] usbcore: registered new interface driver brcmfmac
[    7.264555] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt failed with error -2
[    7.501028] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/1
[    7.501136] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available
[    7.502110] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43430/1 wl0: Oct 22 2019 01:59:28 version 7.45.98.94 (r723000 CY) FWID 01-3b33decd
[    8.817739] random: crng init done
[    8.817762] random: 7 urandom warning(s) missed due to ratelimiting
[    8.944138] uart-pl011 3f201000.serial: no DMA platform data
[    9.101632] 8021q: 802.1Q VLAN Support v1.8
[    9.336093] Adding 102396k swap on /var/swap.  Priority:-2 extents:1 across:102396k SSFS
[    9.707653] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup
[   11.215476] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
[   13.343071] Bluetooth: Core ver 2.22
[   13.343184] NET: Registered protocol family 31
[   13.343195] Bluetooth: HCI device and connection manager initialized
[   13.346641] Bluetooth: HCI socket layer initialized
[   13.346663] Bluetooth: L2CAP socket layer initialized
[   13.346704] Bluetooth: SCO socket layer initialized
[   13.359307] Bluetooth: HCI UART driver ver 2.3
[   13.359327] Bluetooth: HCI UART protocol H4 registered
[   13.359417] Bluetooth: HCI UART protocol Three-wire (H5) registered
[   13.359699] Bluetooth: HCI UART protocol Broadcom registered
[   13.618886] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   13.618899] Bluetooth: BNEP filters: protocol multicast
[   13.618936] Bluetooth: BNEP socket layer initialized
[  132.507845] ICMPv6: process `dhcpcd' is using deprecated sysctl (syscall) net.ipv6.neigh.eth0.retrans_time - use net.ipv6.neigh.eth0.retrans_time_ms instead
[ 1499.412594] usb 1-1.3: USB disconnect, device number 4
[ 1499.413589] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0
[ 1499.413725] ch341 1-1.3:1.0: device disconnected
[ 1503.544394] usb 1-1.3: new full-speed USB device number 5 using dwc_otg
[ 1503.677691] usb 1-1.3: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.54
[ 1503.677709] usb 1-1.3: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[ 1503.677723] usb 1-1.3: Product: USB2.0-Serial
[ 1503.678784] ch341 1-1.3:1.0: ch341-uart converter detected
[ 1503.681329] usb 1-1.3: ch341-uart converter now attached to ttyUSB0
Lord-Grey commented 4 years ago

Unfortunately,I cannot reproduce the error, but I found a similar issue on QRingBuffer::reserve in a past issue. https://github.com/hyperion-project/hyperion.ng/issues/133 The error requires further investigations.

RaymondMouthaan commented 4 years ago

If further assistence is required, don't hesitate to contact me here or on discord Hyperion Dynamic Lighting

xZToxicZx commented 4 years ago

Having the exact same issue here just thought I would mention.

RaymondMouthaan commented 4 years ago

Any news regarding this issue?

Paulchen-Panther commented 4 years ago

Do you get the same errors when you start hyperion with root rights? (sudo)

RaymondMouthaan commented 4 years ago

I reverted back to alpha.6 so I can't test right now, but I'll prepare another sd for alpha.7 and try it with sudo and report back.

RaymondMouthaan commented 4 years ago

Unfortunately, running as sudo did not fix the problem. Find below all steps to reproduce the error including HyperionNG logs.

2020-08-02T10:46:55.840 hyperiond MAIN         : <INFO> Set user data path to '/root/.hyperion'
2020-08-02T10:46:56.043 hyperiond DAEMON       : <DEBUG> PythonInit.cpp:45:PythonInit() | Initializing Python interpreter
2020-08-02T10:46:56.366 hyperiond SETTINGSMGR  : <DEBUG> SettingsManager.cpp:108:SettingsManager() | Settings database initialized
2020-08-02T10:46:56.367 hyperiond DAEMON       : <INFO> CEC handler created
2020-08-02T10:46:56.381 hyperiond EFFECTFILES  : <INFO> 39 effects loaded from directory :/effects/
2020-08-02T10:46:56.388 hyperiond EFFECTFILES  : <INFO> 22 effect schemas loaded from directory :/effects/schema/
2020-08-02T10:46:56.388 hyperiond EFFECTFILES  : <INFO> New Effect path "/root/.hyperion/custom-effects" created successfull
2020-08-02T10:46:56.422 hyperiond SETTINGSMGR  : <DEBUG> SettingsManager.cpp:108:SettingsManager() | Settings database initialized
2020-08-02T10:46:56.424 hyperiond BLACKBORDER  : <DEBUG> BlackBorderProcessor.cpp:65:handleSettingsUpdate() | Set mode to: default
2020-08-02T10:46:56.424 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | Blackborder detector: enabled
2020-08-02T10:46:56.448 hyperiond DAEMON       : <INFO> set screen capture device to 'dispmanx'
2020-08-02T10:46:56.449 hyperiond DISPMANXGRAB : <DEBUG> Grabber.cpp:31:setVideoMode() | Set videomode to 0
2020-08-02T10:46:56.451 hyperiond DISPMANXGRAB : <INFO> Display opened with resolution: 640x480
2020-08-02T10:46:56.451 hyperiond DISPMANXGRAB : <DEBUG> Grabber.cpp:91:setWidthHeight() | Set new width: 80, height: 45 for capture
2020-08-02T10:46:56.451 hyperiond DAEMON       : <INFO> DISPMANX frame grabber created
2020-08-02T10:46:56.452 hyperiond V4L2:AUTO    : <DEBUG> Grabber.cpp:31:setVideoMode() | Set videomode to 0
2020-08-02T10:46:56.465 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | Smoothing: enabled
2020-08-02T10:46:56.466 hyperiond LEDDEVICE    : <INFO> Start LedDevice 'file'.
2020-08-02T10:46:56.466 hyperiond LEDDEVICE    : <DEBUG> LedDevice.cpp:133:init() | deviceConfig: [{"colorOrder":"rgb","currentLedCount":26,"hardwareLedCount":1,"latchTime":0,"output":"/dev/null","rewriteTime":0,"type":"file"}]
2020-08-02T10:46:56.466 hyperiond LEDDEVICE    : <DEBUG> LedDeviceFile.cpp:55:open() | QIODevice::WriteOnly, /dev/null
2020-08-02T10:46:56.467 hyperiond FLATBUFCONN  : <INFO> Connecting to Hyperion: 127.0.0.1:19401
2020-08-02T10:46:56.468 hyperiond EFFECTENGINE : <INFO> Run effect "Rainbow swirl fast" on channel 0
2020-08-02T10:46:56.470 hyperiond EFFECTENGINE : <DEBUG> EffectEngine.cpp:187:runEffectScript() | Start the effect: name [Rainbow swirl fast], smoothCfg [2]
2020-08-02T10:46:56.470 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:158:registerInput() | Register new input 'System/EFFECT' with priority 0 as inactive
2020-08-02T10:46:56.470 hyperiond HYPERION     : <INFO> Initial foreground effect 'Rainbow swirl fast' started
2020-08-02T10:46:56.471 hyperiond EFFECTENGINE : <INFO> Run effect "Warm mood blobs" on channel 254
2020-08-02T10:46:56.471 hyperiond EFFECTENGINE : <DEBUG> EffectEngine.cpp:187:runEffectScript() | Start the effect: name [Warm mood blobs], smoothCfg [2]
2020-08-02T10:46:56.471 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:158:registerInput() | Register new input 'System/EFFECT' with priority 254 as inactive
2020-08-02T10:46:56.472 hyperiond HYPERION     : <INFO> Inital background effect 'Warm mood blobs' started
2020-08-02T10:46:56.472 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:158:registerInput() | Register new input 'System/GRABBER' with priority 250 as inactive
2020-08-02T10:46:56.473 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | Framegrabber: enabled
2020-08-02T10:46:56.473 hyperiond BOBLIGHT     : <DEBUG> BoblightServer.cpp:28:BoblightServer() | Instance created
2020-08-02T10:46:56.474 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | LED device: enabled
2020-08-02T10:46:56.539 hyperiond V4L2:AUTO    : <INFO> Signal threshold set to: {12, 12, 12}
2020-08-02T10:46:56.540 hyperiond V4L2:AUTO    : <INFO> CEC detection is now disabled
2020-08-02T10:46:56.540 hyperiond V4L2:AUTO    : <INFO> Signal detection is now disabled
2020-08-02T10:46:56.540 hyperiond V4L2:AUTO    : <INFO> Signal detection area set to: 0.250000,0.250000 x 0.750000,0.750000
2020-08-02T10:46:56.540 hyperiond DAEMON       : <DEBUG> hyperiond.cpp:527:handleSettingsUpdate() | V4L2 grabber created
2020-08-02T10:46:56.541 hyperiond JSONSERVER   : <DEBUG> JsonServer.cpp:27:JsonServer() | Created instance
2020-08-02T10:46:56.542 hyperiond JSONSERVER   : <INFO> Started on port 19444
2020-08-02T10:46:56.543 hyperiond FLATBUFSERVE : <INFO> Started on port 19400
2020-08-02T10:46:56.544 hyperiond PROTOSERVER  : <INFO> Started on port 19445
2020-08-02T10:46:56.545 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:32:initServer() | Initialize Webserver
2020-08-02T10:46:56.546 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:32:initServer() | Initialize Webserver
2020-08-02T10:46:56.548 hyperiond Dispmanx     : <DEBUG> GrabberWrapper.cpp:49:start() | Grabber start()
2020-08-02T10:46:56.549 hyperiond HYPERION     : <INFO> Hyperion instance 'First LED Hardware instance' has been started
2020-08-02T10:46:56.645 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:238:setInputImage() | Priority 250 is now active
2020-08-02T10:46:56.645 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:333:setCurrentTime() | Set visible priority to 0
2020-08-02T10:46:56.663 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:90:handleSettingsUpdate() | Apply Webserver settings
2020-08-02T10:46:56.663 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:108:handleSettingsUpdate() | Set document root to: :/webconfig
2020-08-02T10:46:56.669 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:90:handleSettingsUpdate() | Apply Webserver settings
2020-08-02T10:46:56.669 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:108:handleSettingsUpdate() | Set document root to: :/webconfig
2020-08-02T10:46:56.670 hyperiond WEBSERVER    : <INFO> Started on port 8090 name 'Hyperion Webserver'
2020-08-02T10:46:56.691 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:198:setInput() | Priority 254 is now active
2020-08-02T10:46:56.725 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:238:setInputImage() | Priority 0 is now active
2020-08-02T10:46:56.852 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:174:handleSettingsUpdate() | Setup SSL certificate
2020-08-02T10:46:56.853 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:190:handleSettingsUpdate() | Setup private SSL key
2020-08-02T10:46:56.853 hyperiond WEBSERVER    : <INFO> Started on port 8092 name 'Hyperion Webserver'
2020-08-02T10:46:59.550 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:298:setCurrentTime() | Timeout clear for priority 0
2020-08-02T10:46:59.799 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:333:setCurrentTime() | Set visible priority to 250
2020-08-02T10:47:04.217 hyperiond WEBSOCKET    : <DEBUG> WebSocketClient.cpp:30:WebSocketClient() | New connection from ::ffff:10.0.10.40
2020-08-02T10:47:04.218 hyperiond WEBSOCKET    : <DEBUG> JsonAPI.cpp:107:handleInstanceSwitch() | Client '::ffff:10.0.10.40' switch to Hyperion instance 0
2020-08-02T10:49:55.196 hyperiond LEDDEVICE    : <DEBUG> LedDeviceFile.cpp:81:close() | File: /dev/null
[hyperiond LedDeviceWrapper] <INFO> LedDevice 'file' closed
2020-08-02T10:49:55.198 hyperiond LEDDEVICE    : <INFO> Start LedDevice 'adalight'.
2020-08-02T10:49:55.198 hyperiond LEDDEVICE    : <DEBUG> LedDevice.cpp:133:init() | deviceConfig: [{"colorOrder":"rgb","currentLedCount":26,"delayAfterConnect":1500,"hardwareLedCount":1,"latchTime":30,"lightberry_apa102_mode":false,"output":"ttyACM0","rate":1e+06,"rewriteTime":1000,"type":"adalight"}]
2020-08-02T10:49:55.198 hyperiond LEDDEVICE    : <DEBUG> LedDevice.cpp:153:init() | Refresh interval = 1000ms
2020-08-02T10:49:55.199 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:36:init() | DeviceType   : adalight
2020-08-02T10:49:55.199 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:37:init() | LedCount     : 26
2020-08-02T10:49:55.199 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:38:init() | ColorOrder   : rgb
2020-08-02T10:49:55.199 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:39:init() | RefreshTime  : 1000
2020-08-02T10:49:55.199 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:40:init() | LatchTime    : 30
2020-08-02T10:49:55.199 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:52:init() | deviceName   : ttyACM0
2020-08-02T10:49:55.199 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:53:init() | AutoDevice   : 0
2020-08-02T10:49:55.199 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:54:init() | baudRate_Hz  : 1000000
2020-08-02T10:49:55.199 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:55:init() | delayAfCon ms: 1500
2020-08-02T10:49:55.200 hyperiond LEDDEVICE    : <DEBUG> LedDeviceAdalight.cpp:60:init() | Adalight header for 26 leds: Ada 0x00 0x19 0x4c
2020-08-02T10:49:55.200 hyperiond LEDDEVICE    : <INFO> Opening UART: ttyACM0
2020-08-02T10:49:55.200 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:141:tryOpen() | _rs232Port.open(QIODevice::WriteOnly): ttyACM0, Baud rate [1000000]bps
2020-08-02T10:49:55.204 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | LED device: disabled
2020-08-02T10:49:55.252 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:146:tryOpen() | portName:
2020-08-02T10:49:55.252 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:147:tryOpen() | systemLocation:
2020-08-02T10:49:55.252 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:148:tryOpen() | description:
2020-08-02T10:49:55.252 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:149:tryOpen() | manufacturer:
2020-08-02T10:49:55.252 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:150:tryOpen() | productIdentifier: 0x0
2020-08-02T10:49:55.253 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:151:tryOpen() | vendorIdentifier:  0x0
2020-08-02T10:49:55.253 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:152:tryOpen() | serialNumber:
2020-08-02T10:49:55.253 hyperiond LEDDEVICE    : <ERROR> Device disabled, device 'adalight' signals error: 'Invalid serial device name: [ttyACM0]!'
[hyperiond LedDeviceWrapper] <INFO> LedDevice 'adalight' closed

-------

2020-08-02T10:50:11.116 hyperiond LEDDEVICE    : <INFO> Start LedDevice 'adalight'.
2020-08-02T10:50:11.117 hyperiond LEDDEVICE    : <DEBUG> LedDevice.cpp:133:init() | deviceConfig: [{"colorOrder":"rgb","currentLedCount":26,"delayAfterConnect":1500,"hardwareLedCount":1,"latchTime":30,"lightberry_apa102_mode":false,"output":"/dev/ttyUSB0","rate":1e+06,"rewriteTime":1000,"type":"adalight"}]
2020-08-02T10:50:11.117 hyperiond LEDDEVICE    : <DEBUG> LedDevice.cpp:153:init() | Refresh interval = 1000ms
2020-08-02T10:50:11.117 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:36:init() | DeviceType   : adalight
2020-08-02T10:50:11.117 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:37:init() | LedCount     : 26
2020-08-02T10:50:11.118 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:38:init() | ColorOrder   : rgb
2020-08-02T10:50:11.118 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:39:init() | RefreshTime  : 1000
2020-08-02T10:50:11.118 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:40:init() | LatchTime    : 30
2020-08-02T10:50:11.118 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:52:init() | deviceName   : ttyUSB0
2020-08-02T10:50:11.119 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:53:init() | AutoDevice   : 0
2020-08-02T10:50:11.119 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:54:init() | baudRate_Hz  : 1000000
2020-08-02T10:50:11.119 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:55:init() | delayAfCon ms: 1500
2020-08-02T10:50:11.119 hyperiond LEDDEVICE    : <DEBUG> LedDeviceAdalight.cpp:60:init() | Adalight header for 26 leds: Ada 0x00 0x19 0x4c
2020-08-02T10:50:11.119 hyperiond LEDDEVICE    : <INFO> Opening UART: ttyUSB0
2020-08-02T10:50:11.120 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:141:tryOpen() | _rs232Port.open(QIODevice::WriteOnly): ttyUSB0, Baud rate [1000000]bps
2020-08-02T10:50:11.194 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:146:tryOpen() | portName:          ttyUSB0
2020-08-02T10:50:11.194 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:147:tryOpen() | systemLocation:    /dev/ttyUSB0
2020-08-02T10:50:11.194 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:148:tryOpen() | description:       USB2.0-Serial
2020-08-02T10:50:11.194 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:149:tryOpen() | manufacturer:      1a86
2020-08-02T10:50:11.194 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:150:tryOpen() | productIdentifier: 0x7523
2020-08-02T10:50:11.195 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:151:tryOpen() | vendorIdentifier:  0x1a86
2020-08-02T10:50:11.195 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:152:tryOpen() | serialNumber:
2020-08-02T10:50:11.198 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:173:tryOpen() | delayAfterConnect for 1500 ms - start
2020-08-02T10:50:12.699 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:180:tryOpen() | delayAfterConnect for 1500 ms - finished
2020-08-02T10:50:12.700 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | LED device: enabled

Hyperion caught signal :SIGSEGV
2020-08-02T10:50:13.652 hyperiond CORE         : <ERROR>    /lib/arm-linux-gnueabihf/libc.so.6(__default_rt_sa_restorer+0) [0x7565d130]
2020-08-02T10:50:13.653 hyperiond CORE         : <ERROR>    /usr/share/hyperion/bin/../lib/libQt5Core.so.5(QRingBuffer::reserve(long long)+0x44) [0x75b30b74]
Segmentation fault
RaymondMouthaan commented 4 years ago

Not sure if it related but below is the cpp I am using on an Arduino Nano, connected to the PI, to control the WS2813 ledstrip.

#include <Arduino.h>
#include "FastLED.h"

#define ANALOG_MODE_AVERAGE  0
#define ANALOG_MODE_LAST_LED 1

/**************************************
   S E T U P
   set following values to your needs
 **************************************/

#define INITIAL_LED_TEST_ENABLED true
#define INITIAL_LED_TEST_BRIGHTNESS 32  // 0..255
#define INITIAL_LED_TEST_TIME_MS 500  // 10..

// Number of leds in your strip. set to "1" and ANALOG_OUTPUT_ENABLED to "true" to activate analog only
// As of 26/1/2017:
// 582 leaves ZERO bytes free and this
// 410 is ok
// tested with 500 leds and is fine (despite the warning)
#define MAX_LEDS 266 // 265 + 1

// type of your led controller, possible values, see below
#define LED_TYPE WS2812B

// 3 wire (pwm): NEOPIXEL BTM1829 TM1812 TM1809 TM1804 TM1803 UCS1903 UCS1903B UCS1904 UCS2903 WS2812 WS2852
//               S2812B SK6812 SK6822 APA106 PL9823 WS2811 WS2813 APA104 WS2811_40 GW6205 GW6205_40 LPD1886 LPD1886_8BIT
// 4 wire (spi): LPD8806 WS2801 WS2803 SM16716 P9813 APA102 SK9822 DOTSTAR

// For 3 wire led stripes line Neopixel/Ws2812, which have a data line, ground, and power, you just need to define DATA_PIN.
// For led chipsets that are SPI based (four wires - data, clock, ground, and power), both defines DATA_PIN and CLOCK_PIN are needed

// DATA_PIN, or DATA_PIN, CLOCK_PIN
#define LED_PINS 5        // 3 wire leds
//#define LED_PINS 6, 13  // 4 wire leds

#define COLOR_ORDER GRB      // colororder of the stripe, set RGB in hyperion

#define OFF_TIMEOUT 15000    // ms to switch off after no data was received, set 0 to deactivate

// analog rgb uni color led stripe - using of hyperion smoothing is recommended
// ATTENTION  this pin config is default for atmega328 based arduinos, others might work to
//            if you have flickering analog leds this might be caused by unsynced pwm signals
//            try other pins is more or less the only thing that helps
#define ANALOG_OUTPUT_ENABLED false
#define ANALOG_MODE           ANALOG_MODE_LAST_LED  // use ANALOG_MODE_AVERAGE or ANALOG_MODE_LAST_LED
#define ANALOG_GROUND_PIN     8                     // additional ground pin to make wiring a bit easier
#define ANALOG_RED_PIN        9
#define ANALOG_GREEN_PIN      10
#define ANALOG_BLUE_PIN       11

// overall color adjustments
#define ANALOG_BRIGHTNESS_RED   255              // maximum brightness for analog 0-255
#define ANALOG_BRIGHTNESS_GREEN 255              // maximum brightness for analog 0-255
#define ANALOG_BRIGHTNESS_BLUE  255              // maximum brightness for analog 0-255

#define BRIGHTNESS 255                      // maximum brightness 0-255
#define DITHER_MODE BINARY_DITHER           // BINARY_DITHER or DISABLE_DITHER
#define COLOR_TEMPERATURE CRGB(255,255,255) // RGB value describing the color temperature
#define COLOR_CORRECTION  TypicalLEDStrip   // predefined fastled color correction
//#define COLOR_CORRECTION  CRGB(255,255,255) // or RGB value describing the color correction

// Baudrate, higher rate allows faster refresh rate and more LEDs
//#define serialRate 460800      // use 115200 for ftdi based boards
//#define serialRate 115200      // use 115200 for ftdi based boards
//#define serialRate 500000         // use 115200 for ftdi based boards
#define serialRate 1000000         // use 115200 for ftdi based boards

/**************************************
   A D A L I G H T   C O D E
   no user changes needed
 **************************************/

// Adalight sends a "Magic Word" (defined in /etc/boblight.conf) before sending the pixel data
uint8_t prefix[] = {'A', 'd', 'a'}, hi, lo, chk, i;

unsigned long endTime;

// Define the array of leds
CRGB leds[MAX_LEDS];

// set rgb to analog led stripe
void showAnalogRGB(const CRGB& led) {
  if (ANALOG_OUTPUT_ENABLED) {
    byte r = map(led.r, 0, 255, 0, ANALOG_BRIGHTNESS_RED);
    byte g = map(led.g, 0, 255, 0, ANALOG_BRIGHTNESS_GREEN);
    byte b = map(led.b, 0, 255, 0, ANALOG_BRIGHTNESS_BLUE);
    analogWrite(ANALOG_RED_PIN, r);
    analogWrite(ANALOG_GREEN_PIN, g);
    analogWrite(ANALOG_BLUE_PIN , b);
  }
}

// set color to all leds
void showColor(const CRGB& led) {
#if MAX_LEDS > 1 || ANALOG_OUTPUT_ENABLED == false
  LEDS.showColor(led);
#endif
  showAnalogRGB(led);
}

// switch of digital and analog leds
void switchOff() {
#if MAX_LEDS > 1 || ANALOG_OUTPUT_ENABLED == false
  memset(leds, 0, MAX_LEDS * sizeof(struct CRGB));
  FastLED.show();
#endif
  showAnalogRGB(leds[0]);
}

// function to check if serial data is available
// if timeout occured leds switch of, if configured
bool checkIncommingData() {
  boolean dataAvailable = true;
  while (!Serial.available()) {
    if ( OFF_TIMEOUT > 0 && endTime < millis()) {
      switchOff();
      dataAvailable = false;
      endTime = millis() + OFF_TIMEOUT;
    }
  }

  return dataAvailable;
}

// main function that setups and runs the code
void setup() {
  Serial.begin(serialRate);

  // analog output
  if (ANALOG_OUTPUT_ENABLED) {
    // additional ground pin to make wiring a bit easier
    pinMode(ANALOG_GROUND_PIN, OUTPUT);
    digitalWrite(ANALOG_GROUND_PIN, LOW);
    pinMode(ANALOG_BLUE_PIN , OUTPUT);
    pinMode(ANALOG_RED_PIN  , OUTPUT);
    pinMode(ANALOG_GREEN_PIN, OUTPUT);
  }

  int ledCount = MAX_LEDS;
  if (ANALOG_MODE == ANALOG_MODE_LAST_LED) {
    ledCount--;
  }

#if MAX_LEDS > 1 || ANALOG_OUTPUT_ENABLED == false
  FastLED.addLeds<LED_TYPE, LED_PINS, COLOR_ORDER>(leds, ledCount);
#endif

  // color adjustments
  FastLED.setBrightness ( BRIGHTNESS );
  FastLED.setTemperature( COLOR_TEMPERATURE );
  FastLED.setCorrection ( COLOR_CORRECTION );
  FastLED.setDither     ( DITHER_MODE );

  // initial RGB flash
#if INITIAL_LED_TEST_ENABLED == true
  for (int v = 0; v < INITIAL_LED_TEST_BRIGHTNESS; v++)
  {
    showColor(CRGB(v, v, v));
    delay(INITIAL_LED_TEST_TIME_MS / 2 / INITIAL_LED_TEST_BRIGHTNESS);
  }

  for (int v = 0; v < INITIAL_LED_TEST_BRIGHTNESS; v++)
  {
    showColor(CRGB(v, v, v));
    delay(INITIAL_LED_TEST_TIME_MS / 2 / INITIAL_LED_TEST_BRIGHTNESS);
  }
#endif
  showColor(CRGB(0, 0, 0));

  Serial.print("Ada\n"); // Send "Magic Word" string to host

  boolean transmissionSuccess;
  unsigned long sum_r, sum_g, sum_b;

  // loop() is avoided as even that small bit of function overhead
  // has a measurable impact on this code's overall throughput.
  for (;;) {
    // wait for first byte of Magic Word
    for (i = 0; i < sizeof prefix; ++i) {
      // If next byte is not in Magic Word, the start over
      if (!checkIncommingData() || prefix[i] != Serial.read()) {
        i = 0;
      }
    }

    // Hi, Lo, Checksum
    if (!checkIncommingData()) continue;
    hi = Serial.read();
    if (!checkIncommingData()) continue;
    lo = Serial.read();
    if (!checkIncommingData()) continue;
    chk = Serial.read();

    // if checksum does not match go back to wait
    if (chk != (hi ^ lo ^ 0x55)) continue;

    memset(leds, 0, MAX_LEDS * sizeof(struct CRGB));
    transmissionSuccess = true;
    sum_r = 0;
    sum_g = 0;
    sum_b = 0;

    int num_leds = min ( MAX_LEDS, (hi << 8) + lo + 1 );

    // read the transmission data and set LED values
    for (int idx = 0; idx < num_leds; idx++) {
      byte r, g, b;
      if (!checkIncommingData()) {
        transmissionSuccess = false;
        break;
      }
      r = Serial.read();
      if (!checkIncommingData()) {
        transmissionSuccess = false;
        break;
      }
      g = Serial.read();
      if (!checkIncommingData()) {
        transmissionSuccess = false;
        break;
      }
      b = Serial.read();
      leds[idx].r = r;
      leds[idx].g = g;
      leds[idx].b = b;
#if ANALOG_OUTPUT_ENABLED == true && ANALOG_MODE == ANALOG_MODE_AVERAGE
      sum_r += r;
      sum_g += g;
      sum_b += b;
#endif
    }

    // shows new values
    if (transmissionSuccess) {
      endTime = millis() + OFF_TIMEOUT;
#if MAX_LEDS > 1 || ANALOG_OUTPUT_ENABLED == false
      FastLED.show();
#endif

#if ANALOG_OUTPUT_ENABLED == true
#if ANALOG_MODE == ANALOG_MODE_LAST_LED
      showAnalogRGB(leds[MAX_LEDS - 1]);
#else
      showAnalogRGB(CRGB(sum_r / MAX_LEDS, sum_g / MAX_LEDS, sum_b / MAX_LEDS));
#endif
#endif
    }
  }
} // end of setup

void loop() {
  // Not used. See note in setup() function.
}
xZToxicZx commented 4 years ago

Just wanna say it seems my issue was fixed with the new commits on the master branch as I downloaded and compiled it. Everything seems fine atm

RaymondMouthaan commented 4 years ago

@xZToxicZx, I compiled a new .deb based on the master branch, installed it with sudo apt install ./Hyperion-2.0.0-alpha.7-Linux-armv7l.deb and installed libcec-dev with sudo apt install libcec-dev. After configuring the LED Controller errors as above occur. What did you do to make it work ?

xZToxicZx commented 4 years ago

@RaymondMouthaan I also changed the baudrate to 115200 and it fixed my issue

RaymondMouthaan commented 4 years ago

@xZToxicZx unfortunately setting both Arduino Nano and HyperionNG to 115200 didn't work for me. Hopefully one of the developers investigates this issue and solves it soon... For now I am stuck to alpha.6

m-seker commented 4 years ago

@RaymondMouthaan I can reproduce the issue with alpha7 on HyperBian but building from master seems to fix the issue. Can you try the following steps ?

Thanks.

RaymondMouthaan commented 4 years ago

@m-seker,thanks for your reply! I'll try like you wrote and report back with the results 💪🏼

RaymondMouthaan commented 4 years ago

@RaymondMouthaan I can reproduce the issue with alpha7 on HyperBian but building from master seems to fix the issue. Can you try the following steps ?

  • Stop hyperion service, remove hyperion package from system
  • Build master from source, don't install, just execute built binary from build directory (bin/hyperiond). Does it still crash ?
  • If it doesn't crash, install it with sudo make install. Now run /usr/local/bin/hyperion, does it work OK ?
  • If it still crashes, configure the build with cmake -DCMAKE_BUILD_TYPE=Debug, build it with make -j $(nproc).
  • Start the built binary from bin directory (bin/hyperiond). Does it work OK ?
  • If it doesn't work OK, start gdb and follow the steps mentioned by Paulchen above.
  • If it works, let me know please.

Thanks.

@m-seker,

Following the instructions in CompileHowto.md I face the following error while trying to compile, probably I miss something here?

$ cmake -DCMAKE_BUILD_TYPE=Release ..
-- CMake Version: 3.13.4
CMake Deprecation Warning at CMakeLists.txt:18 (CMAKE_POLICY):
  The OLD behavior for policy CMP0026 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.

-- PLATFORM is not defined, evaluated platform: rpi
-- PLATFORM: rpi
-- ENABLE_AMLOGIC = OFF
-- ENABLE_DISPMANX = ON
-- ENABLE_FB = ON
-- ENABLE_OSX = OFF
-- ENABLE_SPIDEV   = ON
-- ENABLE_TINKERFORGE = ON
-- ENABLE_V4L2 = ON
-- ENABLE_WS281XPWM = ON
-- ENABLE_AVAHI = ON
-- ENABLE_USB_HID = ON
-- ENABLE_CEC = ON
-- ENABLE_X11 = OFF
-- ENABLE_XCB = OFF
-- ENABLE_QT = ON
-- ENABLE_TESTS = OFF
-- ENABLE_PROFILER = OFF
-- ENABLE_EXPERIMENTAL = OFF
-- validate json files
   checked files: 81 success: 81 errors: 0
-- validate json effect files
   checked effect files: 39 success: 39 errors: 0
-- validate json file
-- Current Version: 2.0.0-alpha.7
--  - Build: master (GitHub-bdf00206/a18ccb8b-1596885757)
-- Linker: GNU gold
-- Found Qt Version: 5.11.3
-- Found libusb-1.0:
--  - Includes: /usr/include/libusb-1.0
--  - Libraries: /usr/lib/arm-linux-gnueabihf/libusb-1.0.so
-- Using Turbo JPEG library: /usr/lib/arm-linux-gnueabihf/libturbojpeg.so
CMake Error at dependencies/CMakeLists.txt:31 (add_subdirectory):
  The source directory

    /home/pi/hyperion-ng/hyperion.ng/dependencies/external/flatbuffers

  does not contain a CMakeLists.txt file.

CMake Error at dependencies/CMakeLists.txt:39 (export):
  export given target "flatc" which is not built by this project.

CMake Error at dependencies/CMakeLists.txt:48 (get_property):
  get_property could not find TARGET flatc.  Perhaps it has not yet been
  created.

-- Using flatbuffers compiler:
CMake Error at dependencies/CMakeLists.txt:99 (add_subdirectory):
  The source directory

    /home/pi/hyperion-ng/hyperion.ng/dependencies/external/protobuf

  does not contain a CMakeLists.txt file.

CMake Error at dependencies/CMakeLists.txt:107 (export):
  export given target "protoc_compiler" which is not built by this project.

CMake Error at dependencies/CMakeLists.txt:115 (get_property):
  get_property could not find TARGET protoc_compiler.  Perhaps it has not yet
  been created.

-- Using protobuf compiler:
-- Using static mbedtls libraries (build version "2.23.0")
-- CPACK: Found DEB builder
-- Configuring incomplete, errors occurred!
See also "/home/pi/hyperion-ng/hyperion.ng/CMakeFiles/CMakeOutput.log".
See also "/home/pi/hyperion-ng/hyperion.ng/CMakeFiles/CMakeError.log".
m-seker commented 4 years ago

@RaymondMouthaan try this inside repo:

git submodule update --init --force

RaymondMouthaan commented 4 years ago

@RaymondMouthaan try this inside repo:

git submodule update --init --force

That worked! make -j in progress ...

RaymondMouthaan commented 4 years ago

@m-seker,

Build master from source, don't install, just execute built binary from build directory (bin/hyperiond). Does it still crash ?

  • yes, it's still crashing on the segmentation fault

If it still crashes, configure the build with cmake -DCMAKE_BUILD_TYPE=Debug, build it with make -j $(nproc). Start the built binary from bin directory (bin/hyperiond). Does it work OK ?

  • No, unfortunately it still crashes

If it doesn't work OK, start gdb and follow the steps mentioned by Paulchen above.

  • starting gdb hyperiond
  • and then from (gdb) I execute run -d
  • opening the ui it gives a 404 -> 404 - Requested file: index.html

note: running the commands from hyperion.ng/bin

m-seker commented 4 years ago

is there a binary in hyperion.ng/bin ?

it should be hyperion.ng/build/bin/

I guess you built inside hyperion.ng ?

RaymondMouthaan commented 4 years ago

not sure what went wrong, but indeed the hyperiond is located in hyperion.ng/bin and not in build

Just to summaries

cmake -DCMAKE_BUILD_TYPE=Debug ..
-- CMake Version: 3.13.4
CMake Deprecation Warning at CMakeLists.txt:18 (CMAKE_POLICY):
  The OLD behavior for policy CMP0026 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.

-- PLATFORM is not defined, evaluated platform: rpi
-- PLATFORM: rpi
-- ENABLE_AMLOGIC = OFF
-- ENABLE_DISPMANX = ON
-- ENABLE_FB = ON
-- ENABLE_OSX = OFF
-- ENABLE_SPIDEV   = ON
-- ENABLE_TINKERFORGE = ON
-- ENABLE_V4L2 = ON
-- ENABLE_WS281XPWM = ON
-- ENABLE_AVAHI = ON
-- ENABLE_USB_HID = ON
-- ENABLE_CEC = ON
-- ENABLE_X11 = OFF
-- ENABLE_XCB = OFF
-- ENABLE_QT = ON
-- ENABLE_TESTS = OFF
-- ENABLE_PROFILER = OFF
-- ENABLE_EXPERIMENTAL = OFF
-- validate json files
   checked files: 81 success: 81 errors: 0
-- validate json effect files
   checked effect files: 39 success: 39 errors: 0
-- validate json file
-- Current Version: 2.0.0-alpha.7
--  - Build: master (GitHub-bdf00206/a18ccb8b-1596885757)
-- Linker: GNU gold
-- Found Qt Version: 5.11.3
-- Found libusb-1.0:
--  - Includes: /usr/include/libusb-1.0
--  - Libraries: /usr/lib/arm-linux-gnueabihf/libusb-1.0.so
-- Using Turbo JPEG library: /usr/lib/arm-linux-gnueabihf/libturbojpeg.so
Proceeding with version: 1.12.0.103
-- Using flatbuffers compiler: /home/pi/hyperion-ng/hyperion.ng/bin/flatc
CMake Deprecation Warning at dependencies/external/protobuf/src/CMakeLists.txt:329 (cmake_policy):
  The OLD behavior for policy CMP0026 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.

-- Using protobuf compiler: /home/pi/hyperion-ng/hyperion.ng/bin/protoc
-- Using static mbedtls libraries (build version "2.23.0")
-- Collecting Dependencies for target file: /home/pi/hyperion-ng/hyperion.ng/bin/hyperiond
-- CPACK: Found DEB builder
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pi/hyperion-ng/hyperion.ng
m-seker commented 4 years ago

Building "in source" is never a good idea. Right now I don't know if the error you observe is related to building in source(probably yes) or something else but we need to find why it creates Makefile in source directory instead of build directory. We should not simply build inside source dir. There can be some references with relative paths. (if the qrc file is referenced like this, webui will simply not load)

To recap, this is what you followed in total ?

git clone [HYPERION URL]
cd hyperion.ng
git submodule update --init --force
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..
make -j $(nproc)

Maybe it is a good idea to start from scratch by removing the repository completely ? I know it takes some time to build in Pi but I can't think of anythin else now.

EDIT : Why is this ? : -- Build files have been written to: /home/pi/hyperion-ng/hyperion.ng I think you did something wrong, just follow the steps above from scratch please :)

RaymondMouthaan commented 4 years ago

@m-seker

Really no idea what went wrong earlier, but starting from scratch following your exact instructions puts build files into the build dir.

git clone [HYPERION URL]
cd hyperion.ng
git submodule update --init --force
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..
make -j $(nproc)

Now building has been successful, the following occurs when trying to configure the adalight device as /dev/ttyUSB0.

Please consider the full log below:

pi@raspberrypi:~/hyperion.ng/build $ sudo gdb hyperiond
GNU gdb (Raspbian 8.2.1-2) 8.2.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "arm-linux-gnueabihf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from hyperiond...(no debugging symbols found)...done.
(gdb) run -d
Starting program: /usr/bin/hyperiond -d
/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
2020-08-08T19:48:17.424 hyperiond MAIN         : <INFO> Set user data path to '/root/.hyperion'
[New Thread 0x72fe7350 (LWP 23098)]
2020-08-08T19:48:17.512 hyperiond DAEMON       : <DEBUG> PythonInit.cpp:45:PythonInit() | Initializing Python interpreter
2020-08-08T19:48:17.593 hyperiond SETTINGSMGR  : <DEBUG> SettingsManager.cpp:107:SettingsManager() | Settings database initialized
[New Thread 0x72726350 (LWP 23099)]
2020-08-08T19:48:17.594 hyperiond DAEMON       : <INFO> CEC handler created
2020-08-08T19:48:17.608 hyperiond EFFECTFILES  : <INFO> 39 effects loaded from directory :/effects/
2020-08-08T19:48:17.614 hyperiond EFFECTFILES  : <INFO> 22 effect schemas loaded from directory :/effects/schema/
2020-08-08T19:48:17.614 hyperiond EFFECTFILES  : <INFO> 0 effects loaded from directory /root/.hyperion/custom-effects
2020-08-08T19:48:17.648 hyperiond SETTINGSMGR  : <DEBUG> SettingsManager.cpp:107:SettingsManager() | Settings database initialized
2020-08-08T19:48:17.650 hyperiond BLACKBORDER  : <DEBUG> BlackBorderProcessor.cpp:65:handleSettingsUpdate() | Set mode to: default
2020-08-08T19:48:17.650 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | Blackborder detector: enabled
[New Thread 0x71dff350 (LWP 23100)]
2020-08-08T19:48:17.674 hyperiond DAEMON       : <INFO> set screen capture device to 'dispmanx'
2020-08-08T19:48:17.674 hyperiond DISPMANXGRAB : <DEBUG> Grabber.cpp:31:setVideoMode() | Set videomode to 0
[New Thread 0x713ff350 (LWP 23101)]
[New Thread 0x709ff350 (LWP 23102)]
[New Thread 0x701fe350 (LWP 23103)]
[New Thread 0x6f9fd350 (LWP 23104)]
2020-08-08T19:48:17.678 hyperiond DISPMANXGRAB : <INFO> Display opened with resolution: 720x480
2020-08-08T19:48:17.678 hyperiond DISPMANXGRAB : <DEBUG> Grabber.cpp:91:setWidthHeight() | Set new width: 80, height: 45 for capture
2020-08-08T19:48:17.678 hyperiond DAEMON       : <INFO> DISPMANX frame grabber created
2020-08-08T19:48:17.679 hyperiond V4L2:AUTO    : <DEBUG> Grabber.cpp:31:setVideoMode() | Set videomode to 0
[New Thread 0x6f1fc350 (LWP 23105)]
2020-08-08T19:48:17.692 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | Smoothing: enabled
2020-08-08T19:48:17.692 hyperiond LEDDEVICE    : <INFO> Start LedDevice 'file'.
2020-08-08T19:48:17.692 hyperiond LEDDEVICE    : <DEBUG> LedDevice.cpp:133:init() | deviceConfig: [{"colorOrder":"rgb","currentLedCount":26,"hardwareLedCount":1,"latchTime":0,"output":"/dev/null","rewriteTime":0,"type":"file"}]
2020-08-08T19:48:17.693 hyperiond LEDDEVICE    : <DEBUG> LedDeviceFile.cpp:55:open() | QIODevice::WriteOnly, /dev/null
2020-08-08T19:48:17.693 hyperiond FLATBUFCONN  : <INFO> Connecting to Hyperion: 127.0.0.1:19401
2020-08-08T19:48:17.695 hyperiond EFFECTENGINE : <INFO> Run effect "Rainbow swirl fast" on channel 0
2020-08-08T19:48:17.696 hyperiond EFFECTENGINE : <DEBUG> EffectEngine.cpp:187:runEffectScript() | Start the effect: name [Rainbow swirl fast], smoothCfg [2]
2020-08-08T19:48:17.696 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:158:registerInput() | Register new input 'System/EFFECT' with priority 0 as inactive
[New Thread 0x6e7ff350 (LWP 23106)]
2020-08-08T19:48:17.697 hyperiond HYPERION     : <INFO> Initial foreground effect 'Rainbow swirl fast' started
2020-08-08T19:48:17.698 hyperiond EFFECTENGINE : <INFO> Run effect "Warm mood blobs" on channel 254
2020-08-08T19:48:17.698 hyperiond EFFECTENGINE : <DEBUG> EffectEngine.cpp:187:runEffectScript() | Start the effect: name [Warm mood blobs], smoothCfg [2]
2020-08-08T19:48:17.699 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:158:registerInput() | Register new input 'System/EFFECT' with priority 254 as inactive
[New Thread 0x6ddff350 (LWP 23107)]
2020-08-08T19:48:17.700 hyperiond HYPERION     : <INFO> Inital background effect 'Warm mood blobs' started
2020-08-08T19:48:17.700 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:158:registerInput() | Register new input 'System/GRABBER' with priority 250 as inactive
2020-08-08T19:48:17.701 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | Framegrabber: enabled
2020-08-08T19:48:17.701 hyperiond BOBLIGHT     : <DEBUG> BoblightServer.cpp:28:BoblightServer() | Instance created
2020-08-08T19:48:17.702 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | LED device: enabled
2020-08-08T19:48:17.769 hyperiond V4L2:AUTO    : <INFO> Signal threshold set to: {12, 12, 12}
2020-08-08T19:48:17.770 hyperiond V4L2:AUTO    : <INFO> CEC detection is now disabled
2020-08-08T19:48:17.770 hyperiond V4L2:AUTO    : <INFO> Signal detection is now disabled
2020-08-08T19:48:17.771 hyperiond V4L2:AUTO    : <INFO> Signal detection area set to: 0.250000,0.250000 x 0.750000,0.750000
2020-08-08T19:48:17.771 hyperiond DAEMON       : <DEBUG> hyperiond.cpp:544:handleSettingsUpdate() | V4L2 grabber created
2020-08-08T19:48:17.772 hyperiond JSONSERVER   : <DEBUG> JsonServer.cpp:27:JsonServer() | Created instance
2020-08-08T19:48:17.773 hyperiond JSONSERVER   : <INFO> Started on port 19444
[New Thread 0x6d3ff350 (LWP 23108)]
[New Thread 0x6cbfe350 (LWP 23109)]
[New Thread 0x6c1ff350 (LWP 23110)]
2020-08-08T19:48:17.776 hyperiond FLATBUFSERVE : <INFO> Started on port 19400
2020-08-08T19:48:17.778 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:32:initServer() | Initialize Webserver
2020-08-08T19:48:17.777 hyperiond PROTOSERVER  : <INFO> Started on port 19445
[New Thread 0x6b9fe350 (LWP 23111)]
2020-08-08T19:48:17.781 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:32:initServer() | Initialize Webserver
[New Thread 0x6b1fd350 (LWP 23112)]
2020-08-08T19:48:17.788 hyperiond Dispmanx     : <DEBUG> GrabberWrapper.cpp:49:start() | Grabber start()
2020-08-08T19:48:17.789 hyperiond HYPERION     : <INFO> Hyperion instance 'First LED Hardware instance' has been started
2020-08-08T19:48:17.890 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:238:setInputImage() | Priority 250 is now active
2020-08-08T19:48:17.890 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:333:setCurrentTime() | Set visible priority to 0
2020-08-08T19:48:17.909 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:238:setInputImage() | Priority 0 is now active
2020-08-08T19:48:17.918 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:198:setInput() | Priority 254 is now active
[New Thread 0x6a8c3350 (LWP 23113)]
2020-08-08T19:48:18.118 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:90:handleSettingsUpdate() | Apply Webserver settings2020-08-08T19:48:18.118 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:90:handleSettingsUpdate() | Apply Webserver settings

2020-08-08T19:48:18.118 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:108:handleSettingsUpdate() | Set document root to: :/webconfig
2020-08-08T19:48:18.118 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:108:handleSettingsUpdate() | Set document root to: :/webconfig
2020-08-08T19:48:18.125 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:174:handleSettingsUpdate() | Setup SSL certificate
2020-08-08T19:48:18.126 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:190:handleSettingsUpdate() | Setup private SSL key
2020-08-08T19:48:18.127 hyperiond WEBSERVER    : <INFO> Started on port 8092 name 'Hyperion Webserver'
2020-08-08T19:48:18.159 hyperiond WEBSERVER    : <INFO> Started on port 8090 name 'Hyperion Webserver'
2020-08-08T19:48:20.889 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:298:setCurrentTime() | Timeout clear for priority 0
2020-08-08T19:48:21.139 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:333:setCurrentTime() | Set visible priority to 250
2020-08-08T19:48:40.607 hyperiond WEBSOCKET    : <DEBUG> WebSocketClient.cpp:30:WebSocketClient() | New connection from ::ffff:10.0.10.40
2020-08-08T19:48:40.608 hyperiond WEBSOCKET    : <DEBUG> JsonAPI.cpp:107:handleInstanceSwitch() | Client '::ffff:10.0.10.40' switch to Hyperion instance 0
2020-08-08T19:48:47.865 hyperiond WEBSOCKET    : <DEBUG> WebSocketClient.cpp:30:WebSocketClient() | New connection from ::ffff:10.0.10.40
2020-08-08T19:48:47.865 hyperiond WEBSOCKET    : <DEBUG> JsonAPI.cpp:107:handleInstanceSwitch() | Client '::ffff:10.0.10.40' switch to Hyperion instance 0
2020-08-08T19:49:06.174 hyperiond LEDDEVICE    : <DEBUG> LedDeviceFile.cpp:81:close() | File: /dev/null
[hyperiond LedDeviceWrapper] <INFO> LedDevice 'file' closed
[Thread 0x6f1fc350 (LWP 23105) exited]
[New Thread 0x6f1fc350 (LWP 23114)]
2020-08-08T19:49:06.182 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | LED device: disabled
2020-08-08T19:49:06.183 hyperiond LEDDEVICE    : <INFO> Start LedDevice 'adalight'.
2020-08-08T19:49:06.183 hyperiond LEDDEVICE    : <DEBUG> LedDevice.cpp:133:init() | deviceConfig: [{"colorOrder":"rgb","currentLedCount":26,"delayAfterConnect":1500,"hardwareLedCount":1,"latchTime":30,"lightberry_apa102_mode":false,"output":"/dev/ttyUSB0","rate":1e+06,"rewriteTime":1000,"type":"adalight"}]
2020-08-08T19:49:06.184 hyperiond LEDDEVICE    : <DEBUG> LedDevice.cpp:153:init() | Refresh interval = 1000ms
2020-08-08T19:49:06.184 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:35:init() | DeviceType   : adalight
2020-08-08T19:49:06.184 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:36:init() | LedCount     : 26
2020-08-08T19:49:06.184 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:37:init() | ColorOrder   : rgb
2020-08-08T19:49:06.184 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:38:init() | RefreshTime  : 1000
2020-08-08T19:49:06.185 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:39:init() | LatchTime    : 30
2020-08-08T19:49:06.185 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:51:init() | deviceName   : ttyUSB0
2020-08-08T19:49:06.185 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:52:init() | AutoDevice   : 0
2020-08-08T19:49:06.185 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:53:init() | baudRate_Hz  : 1000000
2020-08-08T19:49:06.185 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:54:init() | delayAfCon ms: 1500
2020-08-08T19:49:06.186 hyperiond LEDDEVICE    : <DEBUG> LedDeviceAdalight.cpp:62:init() | Adalight header for 26 leds: Ada 0x00 0x19 0x4c
2020-08-08T19:49:06.186 hyperiond LEDDEVICE    : <INFO> Opening UART: ttyUSB0
2020-08-08T19:49:06.186 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:140:tryOpen() | _rs232Port.open(QIODevice::WriteOnly): ttyUSB0, Baud rate [1000000]bps
2020-08-08T19:49:06.261 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:145:tryOpen() | portName:          ttyUSB0
2020-08-08T19:49:06.262 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:146:tryOpen() | systemLocation:    /dev/ttyUSB0
2020-08-08T19:49:06.262 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:147:tryOpen() | description:       USB2.0-Serial
2020-08-08T19:49:06.262 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:148:tryOpen() | manufacturer:      1a86
2020-08-08T19:49:06.262 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:149:tryOpen() | productIdentifier: 0x7523
2020-08-08T19:49:06.263 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:150:tryOpen() | vendorIdentifier:  0x1a86
2020-08-08T19:49:06.263 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:151:tryOpen() | serialNumber:
2020-08-08T19:49:06.267 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:172:tryOpen() | delayAfterConnect for 1500 ms - start
2020-08-08T19:49:07.769 hyperiond LEDDEVICE    : <DEBUG> ProviderRs232.cpp:179:tryOpen() | delayAfterConnect for 1500 ms - finished
2020-08-08T19:49:07.769 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | LED device: enabled

Thread 18 "LedDeviceThread" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x6f1fc350 (LWP 23114)]
0x75c64b74 in QRingBuffer::reserve(long long) () from /usr/share/hyperion/bin/../lib/libQt5Core.so.5
m-seker commented 4 years ago

@RaymondMouthaan I think you still have an installed hyperion package in your system and you are running that one : pi@raspberrypi:~/hyperion.ng/build $ sudo gdb hyperiond

You are not using the one in build/bin/hyperiond

GDB output tells you that the binary you are trying to debug has not debug symbols :

Reading symbols from hyperiond...(no debugging symbols found)...done.

And please do bt in GDB when it crashes.

Paulchen-Panther commented 4 years ago

gdb ./hyperiond

RaymondMouthaan commented 4 years ago

@m-seker You are so right! Apologies for my stupidity! I just started hyperiond from ~/hyperion.ng/build/bin and it started fine. Even configuring the adalight device as /dev/ttyUSB0 seems to work now without the segmentation error!

This basically means the error has been solved within the master + submodule 💯.

Unfortunately, saving the LED layout for the first time made hyperiond crash again, but after restarting it, the layout seems to saved and runs fine ... but I guess this is another topic.

Whats the best way to move forward to install it permanently on the pi and have it started using systemctl ?

m-seker commented 4 years ago

The last crash you see is a known error. For you it will probably happen only once after the creation of a new config, so it should not bother.

Now we need to go back and see if it works OK in the release build. You built it for release before but you probably executed the wrong binary again. So, please build it with cmake -DCMAKE_BUILD_TYPE=Release .. and try running again.

RaymondMouthaan commented 4 years ago

The last crash you see is a known error. For you it will probably happen only once after the creation of a new config, so it should not bother.

  • yeah, thought I saw the issue passing by ...

Now we need to go back and see if it works OK in the release build. You built it for release before but you probably executed the wrong binary again. So, please build it with cmake -DCMAKE_BUILD_TYPE=Release .. and try running again.

m-seker commented 4 years ago

If I remmber correctly from @Paulchen-Panther , now it should fail in release mode :)

RaymondMouthaan commented 4 years ago

@m-seker, building using cmake -DCMAKE_BUILD_TYPE=Release and running hyperiond seems to work 💯

m-seker commented 4 years ago

And what about sudo make install and running it from usr/local/bin/hyperiond ?

RaymondMouthaan commented 4 years ago

And what about sudo make install and running it from usr/local/bin/hyperiond ?

m-seker commented 4 years ago

Can you help further to diagnose the issue ? Please checkout alpha7 tag in the repository and try building/running again. If it runs correctly, then it means we didn't fix it :) There may be a dependency issue.

m-seker commented 4 years ago

After then you can checkout master again and build in release mode again. Then run make package. This should create a package for you. Backup that file.

Run sudo make uninstall in bthe build directory to get rid of currently installed files. Now you can remove the hyperion.ng directory completely. Just use your backed up package file to install Hyperion.

RaymondMouthaan commented 4 years ago

Can you help further to diagnose the issue ? Please checkout alpha7 tag in the repository and try building/running again. If it runs correctly, then it means we didn't fix it :) There may be a dependency issue.

Happy do help any further!

Just to be sure ...

I removed hyperion.ng folder to start from scratch, then used following commands to checkout alpha.7

$ git clone https://github.com/hyperion-project/hyperion.ng.git
$ cd hyperion.ng
$ git checkout tags/2.0.0-alpha.7
$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Release ..

This causes the following error:

cmake -DCMAKE_BUILD_TYPE=Release ..
-- CMake Version: 3.13.4
-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Deprecation Warning at CMakeLists.txt:18 (CMAKE_POLICY):
  The OLD behavior for policy CMP0026 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.

-- Found Python3: /usr/bin/python3.7 (found version "3.7.3") found components:  Interpreter Development
-- PLATFORM is not defined, evaluated platform: rpi
-- PLATFORM: rpi
-- ENABLE_AMLOGIC = OFF
-- ENABLE_DISPMANX = ON
-- ENABLE_FB = ON
-- ENABLE_OSX = OFF
-- ENABLE_SPIDEV   = ON
-- ENABLE_TINKERFORGE = ON
-- ENABLE_V4L2 = ON
-- ENABLE_WS281XPWM = ON
-- ENABLE_AVAHI = ON
-- ENABLE_USB_HID = ON
-- ENABLE_CEC = ON
-- ENABLE_X11 = OFF
-- ENABLE_QT = ON
-- ENABLE_TESTS = OFF
-- ENABLE_PROFILER = OFF
-- validate json file
-- Current Version: 2.0.0-alpha.7
--  - Build: (HEAD detached at 2.0.0-alpha.7) (Paulchen-Panther-69e9fa6d/ffa2fd45-1595517126)
-- Performing Test COMPILER_SUPPORTS_CXX11
-- Performing Test COMPILER_SUPPORTS_CXX11 - Success
-- Performing Test COMPILER_SUPPORTS_CXX0X
-- Performing Test COMPILER_SUPPORTS_CXX0X - Success
-- Linker: GNU gold
-- Found Qt Version: 5.11.3
-- Found libusb-1.0:
--  - Includes: /usr/include/libusb-1.0
--  - Libraries: /usr/lib/arm-linux-gnueabihf/libusb-1.0.so
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Performing Test TURBOJPEG_WORKS
-- Performing Test TURBOJPEG_WORKS - Success
-- Found TurboJpeg: /usr/lib/arm-linux-gnueabihf/libturbojpeg.so
-- Using Turbo JPEG library: /usr/lib/arm-linux-gnueabihf/libturbojpeg.so
CMake Error at dependencies/CMakeLists.txt:31 (add_subdirectory):
  The source directory

    /home/pi/hyperion.ng/dependencies/external/flatbuffers

  does not contain a CMakeLists.txt file.

CMake Error at dependencies/CMakeLists.txt:39 (export):
  export given target "flatc" which is not built by this project.

CMake Error at dependencies/CMakeLists.txt:48 (get_property):
  get_property could not find TARGET flatc.  Perhaps it has not yet been
  created.

-- Using flatbuffers compiler:
CMake Error at dependencies/CMakeLists.txt:99 (add_subdirectory):
  The source directory

    /home/pi/hyperion.ng/dependencies/external/protobuf

  does not contain a CMakeLists.txt file.

CMake Error at dependencies/CMakeLists.txt:107 (export):
  export given target "protoc_compiler" which is not built by this project.

CMake Error at dependencies/CMakeLists.txt:115 (get_property):
  get_property could not find TARGET protoc_compiler.  Perhaps it has not yet
  been created.

-- Using protobuf compiler:
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.7.3", minimum required is "3")
-- Using static mbedtls libraries (build version "2.23.0")
-- Found CEC: /usr/include
-- CPACK: Found DEB builder
-- Configuring incomplete, errors occurred!
See also "/home/pi/hyperion.ng/build/CMakeFiles/CMakeOutput.log".
See also "/home/pi/hyperion.ng/build/CMakeFiles/CMakeError.log".

I guess git submodule update --init --force must be executed again ?

make -j $(nproc) is in progress ...

UPDATE: the newly build hyperiond runs fine from within build/bin

m-seker commented 4 years ago

@RaymondMouthaan Thanks for the further test. That proves we didn't fix it and there should be a dependency issue. You can install the latest mater to your system as I mentioned above.