Open mariotaku opened 3 years ago
What does high framerate mean for you?
@Paulchen-Panther I tried to send 60 captured video frames per second, to the server. Also found this might be happened only when preview is on.
1080p with 60fps? What are you planning to do? 60fps is vay toooo much.... and a looooot to calculate for hyperion....you will get a big delay on your leds...
@tpmodding No, it's 108p, 192x108@60fps.
@mariotaku When I send 60 fps with the external hyperion-v4l2 program at 640x480 resolution, nothing crashes. Maybe there is a problem with your program!?! The error message:
QJson: Document too large to store in data structure 124 -1378877356 134217727
corrupted double-linked list
is very strange.
@Paulchen-Panther what about to preview (with video on) in the browser? This is indeed very strange.
If the frame size and frame rate are too high, the connection to Hyperion may be interrupted. I am not aware of Hyperion crashing under these circumstances. Maybe you can explain us the use of your external program and we can look for a solution together. 😃
This external program, like hyperion-framebuffer
, is a custom video source. Another interesting thing is if you don't open preview screen, crash won't occur. I'll do more tests to find the root cause.
I haven't been able to narrow down on the issue much, but I'm pretty sure it's a heap corruption issue in hyperiond (likely UAF, or maybe a buffer overflow).
Amusingly, the crash never seems to happen when running hyperiond under valgrind...
Hi as @mariotaku outlines, this happens with preview open. We know that there is currently an issue with the custom WebSocket implementation under high load feeding the UI. That is the same reason as for #1130.
Edit: @mariotaku Could you test with alpha10 again, please. We did a minor fix, but it might not cover everything. If not, we might need to migrate to e.g. QtWebSockets
I believe this issue can still be reproduced in alpha10.
@mariotaku can you recheck it or can you provide the packages you use? thanks
@tpmodding Sure. I was using https://github.com/hyperion-project/hyperion.ng/releases/download/2.0.0-alpha.10/Hyperion-2.0.0-alpha.10-Linux-armv7l.deb
.
Hyperion Server:
- Build: (HEAD detached at b1a4e95c) (Paulchen-Panther-975f969a/b1a4e95c-1626550299)
- Build time: Jul 17 2021 20:59:56
- Git Remote: https://github.com/hyperion-project/hyperion.ng
- Version: 2.0.0-alpha.10
- UI Lang: auto (BrowserLang: en-US)
- UI Access: default
- Avail Capt: dispmanx,v4l2,framebuffer,qt
- Database: read/write
Hyperion Server OS:
- Distribution: Raspbian GNU/Linux 10 (buster)
- Architecture: arm
- CPU Model: ARMv7 Processor rev 3 (v7l)
- CPU Type: Raspberry Pi 4 Model B Rev 1.4
- CPU Revision: d03114
- CPU Hardware: BCM2711
- Kernel: linux (5.10.17-v7l+ (WS: 32))
- Qt Version: 5.7.1
- Python Version: 3.5.3
- Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36
@mariotaku Does the problem still exist?
@mariotaku Does the problem still exist?
Sorry, I haven't using Hyperion for a while. Other participants may be able to provide test results.
Bug report
I have created a video source by sending image frames via flatbuffers server. I noticed that there are frequent crash especially under high framerate.
Steps to reproduce
What is expected?
Hyperion handles high framerate properly without crashing
What is actually happening?
SIGABRT, see log above.
System
Hyperion Server:
Hyperion Server OS: