Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Hyperion-2.0.0-alpha.7 - Windows] Set many LEDs on the horizontal bottom of the layout causes Hyperion to crash forever #909

Closed
1 task done
tihoangyeudau opened this issue Jul 26, 2020 · 18 comments · Fixed by #1047
Labels

Comments

@tihoangyeudau
Copy link

tihoangyeudau commented Jul 26, 2020

  • I confirm that this is an issue rather than a question.

Bug report

Steps to reproduce

When i set 226 leds on the horizontal bottom of the layout, with the remaining sides 0 leds, i use Adalight USB in Hyperion (Windows), it crashed forever, i cant not reopen it.

What is expected?

set many leds in one side does not make Hyperion crash

What is actually happening?

2020-07-26T23:26:28.445 hyperiond MAIN         : <INFO> Set user data path to 'C:/Users/tuant/.hyperion'
2020-07-26T23:26:28.461 hyperiond DAEMON       : <DEBUG> PythonInit.cpp:45:PythonInit::PythonInit() | Initializing Python interpreter
2020-07-26T23:26:28.530 hyperiond SETTINGSMGR  : <DEBUG> SettingsManager.cpp:108:SettingsManager::SettingsManager() | Settings database initialized
2020-07-26T23:26:28.531 hyperiond DAEMON       : <ERROR> The CEC handler can not be instantiated, because it has been left out from the build
2020-07-26T23:26:28.543 hyperiond EFFECTFILES  : <INFO> 39 effects loaded from directory :/effects/
2020-07-26T23:26:28.550 hyperiond EFFECTFILES  : <INFO> 22 effect schemas loaded from directory :/effects/schema/
2020-07-26T23:26:28.550 hyperiond EFFECTFILES  : <INFO> 0 effects loaded from directory C:/Users/tuant/.hyperion/custom-effects
2020-07-26T23:26:28.606 hyperiond SETTINGSMGR  : <DEBUG> SettingsManager.cpp:108:SettingsManager::SettingsManager() | Settings database initialized
2020-07-26T23:26:28.613 hyperiond BLACKBORDER  : <DEBUG> BlackBorderProcessor.cpp:65:hyperion::BlackBorderProcessor::handleSettingsUpdate() | Set mode to: default
2020-07-26T23:26:28.613 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:ComponentRegister::setNewComponentState() | Blackborder detector: enabled

then it crashs, i reopen it many time but always crash

System

Win10, Hyperion version 2.0.0 alpha 7.

@Paulchen-Panther
Copy link
Member

Paulchen-Panther commented Jul 26, 2020

226 leds on the horizontal bottom of the layout, with the remaining sides 0 leds

Is this your Setup?

@RaymondMouthaan
Copy link
Contributor

RaymondMouthaan commented Jul 26, 2020

I can confirm the issue. I think the idea is to configure a horizontal ledstrip instead of a rectangle. In my case i wanted to add some extra ledstrip for more ambilight effects.

@Paulchen-Panther
Copy link
Member

Can you please test this under Linux and post the log?

@Lord-Grey
Copy link
Collaborator

Could you please test the configuration with a "file" device, please?
Just to ring-fence the issue is related to the layout and not to the adalight device (see #903).
Furthermore, could you please paste your layout, as well as share the crash output, please?
Thank you!

@tihoangyeudau
Copy link
Author

I can confirm the issue. I think the idea is to configure a horizontal ledstrip instead of a rectangle. In my case i wanted to add some extra ledstrip for more ambilight effects.

yes it is. Im using led strip after mornitor and and an horizontal LED strip in the ceiling

@tihoangyeudau
Copy link
Author

tihoangyeudau commented Jul 26, 2020

Can you please test this under Linux and post the log?

SAME issue, bro. but i dont know how to save logger of linux to post to here

@tihoangyeudau
Copy link
Author

tihoangyeudau commented Jul 26, 2020

Could you please test the configuration with a "file" device, please?
Just to ring-fence the issue is related to the layout and not to the adalight device (see #903).
Furthermore, could you please paste your layout, as well as share the crash output, please?
Thank you!

same issue with a "file" device, you just put 226 leds to horizontal side , and 0 led to remain sides then save it, the crash is appear in both linux and windows

@Paulchen-Panther
Copy link
Member

Thanks for the feedback. I confirm this bug.

@RaymondMouthaan
Copy link
Contributor

RaymondMouthaan commented Jul 26, 2020

Below the full log. Btw same happend on alpha.6, just didn't report it back then.

When saving the config as "file" device:

image

The floating point error crashes Hyperion

pi@HyperBian:~ $ hyperiond -d --deleteDatabase
2020-07-26T19:10:27.470 hyperiond MAIN         : <INFO> Set user data path to '/home/pi/.hyperion'
2020-07-26T19:10:27.906 hyperiond DAEMON       : <DEBUG> PythonInit.cpp:45:PythonInit() | Initializing Python interpreter
2020-07-26T19:10:28.557 hyperiond SETTINGSMGR  : <DEBUG> SettingsManager.cpp:108:SettingsManager() | Settings database initialized
2020-07-26T19:10:28.558 hyperiond DAEMON       : <INFO> CEC handler created
2020-07-26T19:10:28.572 hyperiond EFFECTFILES  : <INFO> 39 effects loaded from directory :/effects/
2020-07-26T19:10:28.578 hyperiond EFFECTFILES  : <INFO> 22 effect schemas loaded from directory :/effects/schema/
2020-07-26T19:10:28.578 hyperiond EFFECTFILES  : <INFO> 0 effects loaded from directory /home/pi/.hyperion/custom-effects
2020-07-26T19:10:28.612 hyperiond SETTINGSMGR  : <DEBUG> SettingsManager.cpp:108:SettingsManager() | Settings database initialized
2020-07-26T19:10:28.614 hyperiond BLACKBORDER  : <DEBUG> BlackBorderProcessor.cpp:65:handleSettingsUpdate() | Set mode to: default
2020-07-26T19:10:28.614 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | Blackborder detector: enabled
2020-07-26T19:10:28.638 hyperiond DAEMON       : <INFO> set screen capture device to 'dispmanx'
2020-07-26T19:10:28.638 hyperiond DISPMANXGRAB : <DEBUG> Grabber.cpp:31:setVideoMode() | Set videomode to 0
2020-07-26T19:10:28.640 hyperiond DISPMANXGRAB : <INFO> Display opened with resolution: 640x480
2020-07-26T19:10:28.640 hyperiond DISPMANXGRAB : <DEBUG> Grabber.cpp:91:setWidthHeight() | Set new width: 80, height: 45 for capture
2020-07-26T19:10:28.640 hyperiond DAEMON       : <INFO> DISPMANX frame grabber created
2020-07-26T19:10:28.641 hyperiond V4L2:AUTO    : <DEBUG> Grabber.cpp:31:setVideoMode() | Set videomode to 0
2020-07-26T19:10:28.642 hyperiond V4L2:AUTO    : <INFO> Signal threshold set to: {12, 12, 12}
2020-07-26T19:10:28.643 hyperiond V4L2:AUTO    : <INFO> CEC detection is now disabled
2020-07-26T19:10:28.643 hyperiond V4L2:AUTO    : <INFO> Signal detection is now disabled
2020-07-26T19:10:28.643 hyperiond V4L2:AUTO    : <INFO> Signal detection area set to: 0.250000,0.250000 x 0.750000,0.750000
2020-07-26T19:10:28.643 hyperiond DAEMON       : <DEBUG> hyperiond.cpp:527:handleSettingsUpdate() | V4L2 grabber created
2020-07-26T19:10:28.644 hyperiond JSONSERVER   : <DEBUG> JsonServer.cpp:27:JsonServer() | Created instance
2020-07-26T19:10:28.644 hyperiond JSONSERVER   : <INFO> Started on port 19444
2020-07-26T19:10:28.646 hyperiond FLATBUFSERVE : <INFO> Started on port 19400
2020-07-26T19:10:28.646 hyperiond PROTOSERVER  : <INFO> Started on port 19445
2020-07-26T19:10:28.647 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:32:initServer() | Initialize Webserver
2020-07-26T19:10:28.650 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:32:initServer() | Initialize Webserver
2020-07-26T19:10:28.656 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | Smoothing: enabled
2020-07-26T19:10:28.657 hyperiond LEDDEVICE    : <INFO> Start LedDevice 'file'.
2020-07-26T19:10:28.657 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-26T19:10:28.657 hyperiond LEDDEVICE    : <DEBUG> LedDeviceFile.cpp:55:open() | QIODevice::WriteOnly, /dev/null
2020-07-26T19:10:28.659 hyperiond FLATBUFCONN  : <INFO> Connecting to Hyperion: 127.0.0.1:19401
2020-07-26T19:10:28.660 hyperiond EFFECTENGINE : <INFO> Run effect "Rainbow swirl fast" on channel 0
2020-07-26T19:10:28.661 hyperiond EFFECTENGINE : <DEBUG> EffectEngine.cpp:187:runEffectScript() | Start the effect: name [Rainbow swirl fast], smoothCfg [2]
2020-07-26T19:10:28.662 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:158:registerInput() | Register new input 'System/EFFECT' with priority 0 as inactive
2020-07-26T19:10:28.662 hyperiond HYPERION     : <INFO> Initial foreground effect 'Rainbow swirl fast' started
2020-07-26T19:10:28.663 hyperiond EFFECTENGINE : <INFO> Run effect "Warm mood blobs" on channel 254
2020-07-26T19:10:28.663 hyperiond EFFECTENGINE : <DEBUG> EffectEngine.cpp:187:runEffectScript() | Start the effect: name [Warm mood blobs], smoothCfg [2]
2020-07-26T19:10:28.663 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:158:registerInput() | Register new input 'System/EFFECT' with priority 254 as inactive
2020-07-26T19:10:28.663 hyperiond HYPERION     : <INFO> Inital background effect 'Warm mood blobs' started
2020-07-26T19:10:28.664 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:158:registerInput() | Register new input 'System/GRABBER' with priority 250 as inactive
2020-07-26T19:10:28.664 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | Framegrabber: enabled
2020-07-26T19:10:28.665 hyperiond Dispmanx     : <DEBUG> GrabberWrapper.cpp:49:start() | Grabber start()
2020-07-26T19:10:28.665 hyperiond BOBLIGHT     : <DEBUG> BoblightServer.cpp:28:BoblightServer() | Instance created
2020-07-26T19:10:28.666 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | LED device: enabled
2020-07-26T19:10:28.666 hyperiond HYPERION     : <INFO> Hyperion instance 'First LED Hardware instance' has been started
2020-07-26T19:10:28.684 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:90:handleSettingsUpdate() | Apply Webserver settings
2020-07-26T19:10:28.684 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:90:handleSettingsUpdate() | Apply Webserver settings
2020-07-26T19:10:28.684 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:108:handleSettingsUpdate() | Set document root to: :/webconfig
2020-07-26T19:10:28.684 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:108:handleSettingsUpdate() | Set document root to: :/webconfig
2020-07-26T19:10:28.685 hyperiond WEBSERVER    : <INFO> Started on port 8090 name 'Hyperion Webserver'
2020-07-26T19:10:28.761 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:238:setInputImage() | Priority 250 is now active
2020-07-26T19:10:28.761 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:333:setCurrentTime() | Set visible priority to 0
2020-07-26T19:10:28.884 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:174:handleSettingsUpdate() | Setup SSL certificate
2020-07-26T19:10:28.885 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:190:handleSettingsUpdate() | Setup private SSL key
2020-07-26T19:10:28.886 hyperiond WEBSERVER    : <INFO> Started on port 8092 name 'Hyperion Webserver'
2020-07-26T19:10:28.893 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:238:setInputImage() | Priority 0 is now active
2020-07-26T19:10:28.899 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:198:setInput() | Priority 254 is now active
2020-07-26T19:10:31.827 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:298:setCurrentTime() | Timeout clear for priority 0
2020-07-26T19:10:32.077 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:333:setCurrentTime() | Set visible priority to 250
2020-07-26T19:10:46.359 hyperiond WEBSOCKET    : <DEBUG> WebSocketClient.cpp:30:WebSocketClient() | New connection from ::ffff:10.0.10.40
2020-07-26T19:10:46.359 hyperiond WEBSOCKET    : <DEBUG> JsonAPI.cpp:107:handleInstanceSwitch() | Client '::ffff:10.0.10.40' switch to Hyperion instance 0

Hyperion caught signal :SIGFPE
2020-07-26T19:11:17.535 hyperiond CORE         : <ERROR> 	/lib/arm-linux-gnueabihf/libc.so.6(__default_rt_sa_restorer+0) [0x755f5130]
Floating point exception

@tihoangyeudau
Copy link
Author

tihoangyeudau commented Jul 26, 2020

@RaymondMouthaan thank you, i I think this bug has been there for a long time but no one has discovered it yet. i saw that the crash is not appear with right side, and left side.

@tihoangyeudau
Copy link
Author

update: the issue is appear in macox

Hyperion caught signal :SIGFPE
Hyperion caught signal :SIGSEGV

then it crashed , I can't quit or exit it.

after that, I reopened it then I just received:

Hyperion caught signal :SIGFPE
Hyperion caught signal :SIGSEGV

@Lord-Grey
Copy link
Collaborator

@tihoangyeudau No need to test more. This is a platform independent bug.

@pilot-web
Copy link

I have 240 leds, but trying > 237 leds on the top, hyperiond crashes. The same if I configure one side or the bottom with 0 leds.
This on alpha 6 and 7.

@tihoangyeudau
Copy link
Author

Yes . It is true bug

@sargrvb
Copy link

sargrvb commented Aug 1, 2020

Is there a way to clear the configuration file without booting up the server? I'm trying to do a clean install so I can continue experimenting, but reinstalling seems to retain my settings. Where are the config files stored and how do I clear them on windows?

@Paulchen-Panther
Copy link
Member

Home folder-> .hyperion (hidden folder)

@tihoangyeudau
Copy link
Author

tihoangyeudau commented Aug 1, 2020

go to C:\Users\your user\ .hyperion
and delete folder .hyperion

Is there a way to clear the configuration file without booting up the server? I'm trying to do a clean install so I can continue experimenting, but reinstalling seems to retain my settings. Where are the config files stored and how do I clear them on windows?

@dannyv1101
Copy link

The issue is also in version 2.0.0-alpha.8. I defined 135 Led in an extra instance only in the bottom (for my Leds in the floor) then it crashed. But an other Instance it defined 75 Led only at the left side it works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants