hyperion.ng icon indicating copy to clipboard operation
hyperion.ng copied to clipboard

heap corruption (malloc/free errors) presumably during calibration

Open kolyshkin opened this issue 3 years ago • 14 comments

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

Bug report

I was calibrating my LED string via web interface and noticed it became unresponsive. Checked system logs and found some messages hinting towards libc heap corruption (see below).

Steps to reproduce

Invoke "colour calibration wizard" via web interface. Play with settings.

What is expected?

No errors in log, web interface and led string is responsive while changing calibration values.

What is actually happening?

In one case, changing RGB values for a color stopped making any effect on LED string. In another case, web server thread is gone (i.e. hyperiond no longer listens on port 9100).

System logs show:

pi@HyperBian:~ $ journalctl | grep hyperiond
Dec 30 05:54:03 HyperBian hyperiond[466]: QIODevice::write (QTcpSocket): device not open
Dec 30 05:54:03 HyperBian hyperiond[466]: QIODevice::write (QTcpSocket): device not open
Dec 30 05:54:03 HyperBian hyperiond[466]: QIODevice::write (QTcpSocket): device not open
Dec 30 05:54:03 HyperBian hyperiond[466]: QIODevice::write (QTcpSocket): device not open
Dec 30 20:59:22 HyperBian hyperiond[466]: free(): corrupted unsorted chunks
Dec 30 20:59:22 HyperBian hyperiond[466]: Hyperion caught signal :SIGABRT
Dec 30 21:00:32 HyperBian kernel: [    466]     0   466   184348    98890   591872    22888             0 hyperiond
Dec 30 21:00:32 HyperBian kernel: oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),global_oom,task_memcg=/,task=hyperiond,pid=466,uid=0
Dec 30 21:00:32 HyperBian kernel: Out of memory: Killed process 466 (hyperiond) total-vm:737392kB, anon-rss:393160kB, file-rss:2400kB, shmem-rss:0kB, UID:0 pgtables:578kB oom_score_adj:0
Dec 30 21:00:32 HyperBian kernel: oom_reaper: reaped process 466 (hyperiond), now anon-rss:0kB, file-rss:2400kB, shmem-rss:0kB
Dec 30 21:20:41 HyperBian hyperiond[1118]: 2020-12-30T21:20:41.393 hyperiond V4L2:/DEV/VI : <INFO> Signal detection area set to: 0.250000,0.250000 x 0.750000,0.750000
Dec 30 21:20:41 HyperBian hyperiond[1118]: 2020-12-30T21:20:41.400 hyperiond V4L2:/DEV/VI : <INFO> Signal threshold set to: {12, 12, 12}
Dec 30 21:31:57 HyperBian hyperiond[1118]: 2020-12-30T21:31:57.965 hyperiond V4L2:/DEV/VI : <INFO> available V4L2 devices:
Dec 30 21:31:57 HyperBian hyperiond[1118]:         /dev/video0        UVC Camera (534d:2109): USB Vid
Dec 30 21:31:57 HyperBian hyperiond[1118]:         /dev/video14        bcm2835-isp-capture0
Dec 30 21:31:57 HyperBian hyperiond[1118]:         /dev/video15        bcm2835-isp-capture1
Dec 30 21:31:57 HyperBian hyperiond[1118]: 2020-12-30T21:31:57.971 hyperiond V4L2:/DEV/VI : <INFO> search for usable video devices
Dec 30 21:31:57 HyperBian hyperiond[1118]: 2020-12-30T21:31:57.994 hyperiond V4L2:/DEV/VI : <INFO> test v4l device: /dev/video0
Dec 30 21:31:58 HyperBian hyperiond[1118]: 2020-12-30T21:31:58.010 hyperiond V4L2:/DEV/VI : <INFO> found usable v4l2 device: /dev/video0 (UVC Camera (534d:2109): USB Vid)
Dec 30 21:31:58 HyperBian hyperiond[1118]: 2020-12-30T21:31:58.018 hyperiond V4L2:/DEV/VI : <INFO> Started
Dec 30 22:18:04 HyperBian hyperiond[1118]: malloc(): unsorted double linked list corrupted
Dec 30 22:18:04 HyperBian hyperiond[1118]: Hyperion caught signal :SIGABRT

hyperiond process is active (and LED lights react to changes in the v4l input), but it no longer listens on port 9100:

pi@HyperBian:~ $ netstat -lnp4
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -                   
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           -                   
udp        0      0 0.0.0.0:68              0.0.0.0:*                           -                   
udp        0      0 0.0.0.0:47467           0.0.0.0:*                           -                   
udp        0      0 0.0.0.0:1900            0.0.0.0:*                           -                   
pi@HyperBian:~ $ ps ax | grep hyper
 1118 ?        Ssl   40:48 /usr/bin/hyperiond
 1268 pts/0    S+     0:00 grep --color=auto hyper

System

Hyperion Server: 
- Build:           (HEAD detached at 83338dc3) (Paulchen Panther-ca50487e/83338dc3-1605733041)
- Build time:      Nov 18 2020 21:32:08
- Git Remote:      https://github.com/hyperion-project/hyperion.ng
- Version:         2.0.0-alpha.9
- UI Lang:         auto (BrowserLang: en-US)
- UI Access:       default
- Avail Capt:      dispmanx,v4l2,framebuffer,qt
- Database:        read/write

Hyperion Server OS: 
- Distribution:   HyperBian GNU/Linux 10 (buster)
- Architecture:   arm
- CPU Model:      ARMv6-compatible processor rev 7 (v6l)
- CPU Type:       Raspberry Pi Zero W Rev 1.1
- CPU Revision:   9000c1
- CPU Hardware:   BCM2835
- Kernel:         linux (5.4.72+ (WS: 32))
- Qt Version:     5.7.1
- Python Version: 3.5.3
- Browser:        Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 

kolyshkin avatar Dec 30 '20 23:12 kolyshkin

So, these messages

Dec 30 20:59:22 HyperBian hyperiond[466]: free(): corrupted unsorted chunks

Dec 30 22:18:04 HyperBian hyperiond[1118]: malloc(): unsorted double linked list corrupted

suggest heap corruption, while

Dec 30 21:00:32 HyperBian kernel: Out of memory: Killed process 466 (hyperiond) total-vm:737392kB, anon-rss:393160kB, file-rss:2400kB, shmem-rss:0kB, UID:0 pgtables:578kB oom_score_adj:0

suggest memory leaks.

kolyshkin avatar Dec 30 '20 23:12 kolyshkin

It took about 30 minutes of playing with calibration settings (since a fresh restart) until I got this again:

Dec 31 00:17:50 HyperBian hyperiond[5912]: malloc(): unsorted double linked list corrupted Dec 31 00:17:50 HyperBian hyperiond[5912]: Hyperion caught signal :SIGABRT

so it is definitely related to calibration. Note that v4l capture and LED still works, it just does not react to changing calibration settings.

Had to sudo systemctl restart hyperion to continue calibration (glad that I wrote done all the values I got so far).

kolyshkin avatar Dec 31 '20 00:12 kolyshkin

Using mcheck(3) is not an option since it's not compatible with threaded apps.

I tried using valgrind/memcheck in 3 different configuration

  1. RasPi Zero CPU. It seems to be too slow for valgrind, all I see is 100% CPU usage and no web server appearing (which might actually be a manifestation of https://github.com/hyperion-project/hyperion.ng/issues/1090).
  2. On my Linux PC, self-compiled. I see some issues but nothing during the calibration (I tried changing values for a few minutes, but not half an hour).
  3. Inside qemu-system-arm64. It is even slower than RasPI Zero :(

I guess I'll have to invest into a faster Pi.

kolyshkin avatar Jan 04 '21 04:01 kolyshkin

Ran a self-built debug version under gdb on a Pi 4 model B.

  1. Set LED controller to ws2812spi.
  2. Set LED layout to 'top: 200, bottom: 200, left: 120, right: 120'.
  3. Went to "color calibration wizard" and randomly changed number in white and red light.

Got this in a few minutes:

Thread 22 "LedDeviceThread" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xa6cfd3c0 (LWP 1148)]
0xb5b37240 in QObject::killTimer(int) () from /home/pi/bin/../lib/libQt5Core.so.5
(gdb) bt
#0  0xb5b37240 in QObject::killTimer(int) () from /home/pi/bin/../lib/libQt5Core.so.5
#1  0xb5b42494 in QTimer::stop() () from /home/pi/bin/../lib/libQt5Core.so.5
#2  0xb5b42520 in QTimer::start() () from /home/pi/bin/../lib/libQt5Core.so.5
#3  0x0042efa8 in LedDevice::startRefreshTimer (this=0xad703c00) at /home/pi/git/hyperion.ng/libsrc/leddevice/LedDevice.cpp:163
#4  0x0042f158 in LedDevice::updateLeds (this=0xad703c00, ledValues=...) at /home/pi/git/hyperion.ng/libsrc/leddevice/LedDevice.cpp:195
#5  0x003d7b54 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<std::vector<ColorRgb, std::allocator<ColorRgb> > const&>, int, int (LedDevice::*)(std::vector<ColorRgb, std::allocator<ColorRgb> > const&)>::call (f=&virtual table offset 72, o=0xad703c00, arg=0xb0b07860)
    at /usr/include/arm-linux-gnueabihf/qt5/QtCore/qobjectdefs_impl.h:134
#6  0x003d76c0 in QtPrivate::FunctionPointer<int (LedDevice::*)(std::vector<ColorRgb, std::allocator<ColorRgb> > const&)>::call<QtPrivate::List<std::vector<ColorRgb, std::allocator<ColorRgb> > const&>, int> (f=&virtual table offset 72, o=0xad703c00, arg=0xb0b07860)
    at /usr/include/arm-linux-gnueabihf/qt5/QtCore/qobjectdefs_impl.h:167
#7  0x003d6e94 in QtPrivate::QSlotObject<int (LedDevice::*)(std::vector<ColorRgb, std::allocator<ColorRgb> > const&), QtPrivate::List<std::vector<ColorRgb, std::allocator<ColorRgb> > const&>, int>::impl (which=1, this_=0xb0b2a4a0, r=0xad703c00, a=0xb0b07860, ret=0x0)
    at /usr/include/arm-linux-gnueabihf/qt5/QtCore/qobjectdefs_impl.h:396
#8  0xb5b31c68 in QMetaCallEvent::placeMetaCall(QObject*) () from /home/pi/bin/../lib/libQt5Core.so.5
#9  0xb5b35bec in QObject::event(QEvent*) () from /home/pi/bin/../lib/libQt5Core.so.5
#10 0xb5b082c0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /home/pi/bin/../lib/libQt5Core.so.5
#11 0xb5b0b7bc in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /home/pi/bin/../lib/libQt5Core.so.5
#12 0xb5b6430c in ?? () from /home/pi/bin/../lib/libQt5Core.so.5
#13 0xb4c74c5c in g_main_context_dispatch () from /home/pi/bin/../lib/libglib-2.0.so.0
#14 0xb4c74e7c in ?? () from /home/pi/bin/../lib/libglib-2.0.so.0
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) bt full
#0  0xb5b37240 in QObject::killTimer(int) () from /home/pi/bin/../lib/libQt5Core.so.5
No symbol table info available.
#1  0xb5b42494 in QTimer::stop() () from /home/pi/bin/../lib/libQt5Core.so.5
No symbol table info available.
#2  0xb5b42520 in QTimer::start() () from /home/pi/bin/../lib/libQt5Core.so.5
No symbol table info available.
#3  0x0042efa8 in LedDevice::startRefreshTimer (this=0xad703c00) at /home/pi/git/hyperion.ng/libsrc/leddevice/LedDevice.cpp:163
No locals.
#4  0x0042f158 in LedDevice::updateLeds (this=0xad703c00, ledValues=...) at /home/pi/git/hyperion.ng/libsrc/leddevice/LedDevice.cpp:195
        elapsedTimeMs = 40
        retval = 128
#5  0x003d7b54 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<std::vector<ColorRgb, std::allocator<ColorRgb> > const&>, int, int (LedDevice::*)(std::vector<ColorRgb, std::allocator<ColorRgb> > const&)>::call (f=&virtual table offset 72, o=0xad703c00, arg=0xb0b07860)
    at /usr/include/arm-linux-gnueabihf/qt5/QtCore/qobjectdefs_impl.h:134
No locals.
#6  0x003d76c0 in QtPrivate::FunctionPointer<int (LedDevice::*)(std::vector<ColorRgb, std::allocator<ColorRgb> > const&)>::call<QtPrivate::List<std::vector<ColorRgb, std::allocator<ColorRgb> > const&>, int> (f=&virtual table offset 72, o=0xad703c00, arg=0xb0b07860)
    at /usr/include/arm-linux-gnueabihf/qt5/QtCore/qobjectdefs_impl.h:167
No locals.
#7  0x003d6e94 in QtPrivate::QSlotObject<int (LedDevice::*)(std::vector<ColorRgb, std::allocator<ColorRgb> > const&), QtPrivate::List<std::vector<ColorRgb, std::allocator<ColorRgb> > const&>, int>::impl (which=1, this_=0xb0b2a4a0, r=0xad703c00, a=0xb0b07860, ret=0x0)
    at /usr/include/arm-linux-gnueabihf/qt5/QtCore/qobjectdefs_impl.h:396
No locals.
#8  0xb5b31c68 in QMetaCallEvent::placeMetaCall(QObject*) () from /home/pi/bin/../lib/libQt5Core.so.5
No symbol table info available.
#9  0xb5b35bec in QObject::event(QEvent*) () from /home/pi/bin/../lib/libQt5Core.so.5
No symbol table info available.
#10 0xb5b082c0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /home/pi/bin/../lib/libQt5Core.so.5
No symbol table info available.
11 0xb5b0b7bc in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /home/pi/bin/../lib/libQt5Core.so.5
No symbol table info available.
#12 0xb5b6430c in ?? () from /home/pi/bin/../lib/libQt5Core.so.5
No symbol table info available.
#13 0xb4c74c5c in g_main_context_dispatch () from /home/pi/bin/../lib/libglib-2.0.so.0
No symbol table info available.
#14 0xb4c74e7c in ?? () from /home/pi/bin/../lib/libglib-2.0.so.0
--Type <RET> for more, q to quit, c to continue without paging--
No symbol table info available.
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) 

kolyshkin avatar Jan 11 '21 00:01 kolyshkin

@kolyshkin Thanks for reporting! Would you mind sharing a screenshot of your LED-Device configuration with Expert Setting level on? Does the issue occur, if you change the color via the "Remote Control" screen, too?

Would you mind sharing a debug log, too? From startup to failure... (or until you start the test)

Lord-Grey avatar Jan 11 '21 08:01 Lord-Grey

I feel this is related to the bug I reported a while ago

https://github.com/hyperion-project/hyperion.ng/issues/1094

I am unable to complete a calibration due to this.

patriot1889 avatar Jan 29 '21 01:01 patriot1889

@patriot1889 / @kolyshkin Are you able to reproduce it consistently with alpha9? I tried to "just click around" via the Wizard (as in the problem descriptions), but was to successful triggering the failure event. In case there is a sceanrio where you deterministically can create the abort, that would be really helpful....

Would you mind sharing your configuration? Just do an export of the configuration via the UI.

Lord-Grey avatar Jan 29 '21 08:01 Lord-Grey

Smoothing on, FileDevice with 5000 HW LEDs,Using Calibration Wizard

Hyperion caught signal :SIGSEGV
2021-02-10T22:29:16.975 hyperiond CORE         : <ERROR> 	/lib/x86_64-linux-gnu/libpthread.so.0(+0x153c0) [0x7f9a8b6e33c0]
2021-02-10T22:29:16.975 hyperiond CORE         : <ERROR> 	/lib/x86_64-linux-gnu/libc.so.6(+0x18ea02) [0x7f9a8a604a02]
2021-02-10T22:29:16.975 hyperiond CORE         : <ERROR> 	./build-x86x64/bin/hyperiond(ColorRgb* std::__copy_move<true, true, std::random_access_iterator_tag>::__copy_m<ColorRgb>(ColorRgb const*, ColorRgb const*, ColorRgb*)+0x59) [0x55aa5f4c6e57]
2021-02-10T22:29:16.975 hyperiond CORE         : <ERROR> 	./build-x86x64/bin/hyperiond(ColorRgb* std::__copy_move_a<true, ColorRgb*, ColorRgb*>(ColorRgb*, ColorRgb*, ColorRgb*)+0x33) [0x55aa5f4c6bdc]
2021-02-10T22:29:16.976 hyperiond CORE         : <ERROR> 	./build-x86x64/bin/hyperiond(ColorRgb* std::__copy_move_a2<true, ColorRgb*, ColorRgb*>(ColorRgb*, ColorRgb*, ColorRgb*)+0x53) [0x55aa5f4c692f]
2021-02-10T22:29:16.976 hyperiond CORE         : <ERROR> 	./build-x86x64/bin/hyperiond(ColorRgb* std::copy<std::move_iterator<ColorRgb*>, ColorRgb*>(std::move_iterator<ColorRgb*>, std::move_iterator<ColorRgb*>, ColorRgb*)+0x49) [0x55aa5f4c6420]
2021-02-10T22:29:16.976 hyperiond CORE         : <ERROR> 	./build-x86x64/bin/hyperiond(ColorRgb* std::__uninitialized_copy<true>::__uninit_copy<std::move_iterator<ColorRgb*>, ColorRgb*>(std::move_iterator<ColorRgb*>, std::move_iterator<ColorRgb*>, ColorRgb*)+0x2f) [0x55aa5f4c5c9e]
2021-02-10T22:29:16.976 hyperiond CORE         : <ERROR> 	./build-x86x64/bin/hyperiond(ColorRgb* std::uninitialized_copy<std::move_iterator<ColorRgb*>, ColorRgb*>(std::move_iterator<ColorRgb*>, std::move_iterator<ColorRgb*>, ColorRgb*)+0x33) [0x55aa5f4c502f]
2021-02-10T22:29:16.976 hyperiond CORE         : <ERROR> 	./build-x86x64/bin/hyperiond(ColorRgb* std::__uninitialized_copy_a<std::move_iterator<ColorRgb*>, ColorRgb*, ColorRgb>(std::move_iterator<ColorRgb*>, std::move_iterator<ColorRgb*>, ColorRgb*, std::allocator<ColorRgb>&)+0x33) [0x55aa5f4c28f9]
2021-02-10T22:29:16.976 hyperiond CORE         : <ERROR> 	./build-x86x64/bin/hyperiond(ColorRgb* std::__uninitialized_move_if_noexcept_a<ColorRgb*, ColorRgb*, std::allocator<ColorRgb> >(ColorRgb*, ColorRgb*, ColorRgb*, std::allocator<ColorRgb>&)+0x51) [0x55aa5f4c0f5c]
2021-02-10T22:29:16.976 hyperiond CORE         : <ERROR> 	./build-x86x64/bin/hyperiond(std::vector<ColorRgb, std::allocator<ColorRgb> >::_M_fill_insert(__gnu_cxx::__normal_iterator<ColorRgb*, std::vector<ColorRgb, std::allocator<ColorRgb> > >, unsigned long, ColorRgb const&)+0x3be) [0x55aa5f4bec52]
2021-02-10T22:29:16.976 hyperiond CORE         : <ERROR> 	./build-x86x64/bin/hyperiond(std::vector<ColorRgb, std::allocator<ColorRgb> >::resize(unsigned long, ColorRgb const&)+0x6b) [0x55aa5f4bc67d]
2021-02-10T22:29:16.976 hyperiond CORE         : <ERROR> 	./build-x86x64/bin/hyperiond(Hyperion::update()+0x3a0) [0x55aa5f4b98ac]
2021-02-10T22:29:16.977 hyperiond CORE         : <ERROR> 	./build-x86x64/bin/hyperiond(Hyperion::setInputImage(int, Image<ColorRgb> const&, long, bool)+0xc3) [0x55aa5f4b8a65]
2021-02-10T22:29:16.977 hyperiond CORE         : <ERROR> 	./build-x86x64/bin/hyperiond(CaptureCont::handleSystemImage(QString const&, Image<ColorRgb> const&)+0xeb) [0x55aa5f4aa95d]
2021-02-10T22:29:16.977 hyperiond CORE         : <ERROR> 	./build-x86x64/bin/hyperiond(QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QString const&, Image<ColorRgb> const&>, void, void (CaptureCont::*)(QString const&, Image<ColorRgb> const&)>::call(void (CaptureCont::*)(QString const&, Image<ColorRgb> const&), CaptureCont*, void**)+0x95) [0x55aa5f4ac451]
2021-02-10T22:29:16.977 hyperiond CORE         : <ERROR> 	./build-x86x64/bin/hyperiond(void QtPrivate::FunctionPointer<void (CaptureCont::*)(QString const&, Image<ColorRgb> const&)>::call<QtPrivate::List<QString const&, Image<ColorRgb> const&>, void>(void (CaptureCont::*)(QString const&, Image<ColorRgb> const&), CaptureCont*, void**)+0x46) [0x55aa5f4ac139]
2021-02-10T22:29:16.977 hyperiond CORE         : <ERROR> 	./build-x86x64/bin/hyperiond(QtPrivate::QSlotObject<void (CaptureCont::*)(QString const&, Image<ColorRgb> const&), QtPrivate::List<QString const&, Image<ColorRgb> const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)+0x7b) [0x55aa5f4abed6]
2021-02-10T22:29:16.977 hyperiond CORE         : <ERROR> 	/usr/lib/x86_64-linux-gnu/libQt5Core.so.5(QObject::event(QEvent*)+0x23a) [0x7f9a8ac6dd5a]
2021-02-10T22:29:16.977 hyperiond CORE         : <ERROR> 	/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(QApplicationPrivate::notify_helper(QObject*, QEvent*)+0x86) [0x7f9a8c28aa66]
2021-02-10T22:29:16.977 hyperiond CORE         : <ERROR> 	/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(QApplication::notify(QObject*, QEvent*)+0x330) [0x7f9a8c2940f0]
2021-02-10T22:29:16.977 hyperiond CORE         : <ERROR> 	/usr/lib/x86_64-linux-gnu/libQt5Core.so.5(QCoreApplication::notifyInternal2(QObject*, QEvent*)+0x18a) [0x7f9a8ac4193a]
2021-02-10T22:29:16.978 hyperiond CORE         : <ERROR> 	/usr/lib/x86_64-linux-gnu/libQt5Core.so.5(QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)+0x148) [0x7f9a8ac445b8]
2021-02-10T22:29:16.978 hyperiond CORE         : <ERROR> 	/usr/lib/x86_64-linux-gnu/libQt5Core.so.5(+0x2def67) [0x7f9a8ac99f67]
2021-02-10T22:29:16.978 hyperiond CORE         : <ERROR> 	/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x27d) [0x7f9a89baaf9d]
2021-02-10T22:29:16.978 hyperiond CORE         : <ERROR> 	/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x52220) [0x7f9a89bab220]
2021-02-10T22:29:16.978 hyperiond CORE         : <ERROR> 	/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_iteration+0x33) [0x7f9a89bab2c3]
2021-02-10T22:29:16.978 hyperiond CORE         : <ERROR> 	/usr/lib/x86_64-linux-gnu/libQt5Core.so.5(QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)+0x65) [0x7f9a8ac99565]
2021-02-10T22:29:16.978 hyperiond CORE         : <ERROR> 	/usr/lib/x86_64-linux-gnu/libQt5Core.so.5(QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)+0x12b) [0x7f9a8ac404db]
2021-02-10T22:29:16.978 hyperiond CORE         : <ERROR> 	/usr/lib/x86_64-linux-gnu/libQt5Core.so.5(QThread::exec()+0x65) [0x7f9a8aa78785]
2021-02-10T22:29:16.978 hyperiond CORE         : <ERROR> 	/usr/lib/x86_64-linux-gnu/libQt5Core.so.5(+0xbe9d2) [0x7f9a8aa799d2]
2021-02-10T22:29:16.978 hyperiond CORE         : <ERROR> 	/lib/x86_64-linux-gnu/libpthread.so.0(+0x9609) [0x7f9a8b6d7609]
2021-02-10T22:29:16.978 hyperiond CORE         : <ERROR> 	/lib/x86_64-linux-gnu/libc.so.6(clone+0x43) [0x7f9a8a598293]

Lord-Grey avatar Feb 10 '21 21:02 Lord-Grey

Smoothing on, FileDevice with 5000 HW LEDs,Using Calibration Wizard

#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007f6030915859 in __GI_abort () at abort.c:79
#2  0x00007f60309803ee in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7f6030aaa285 "%s\n") at ../sysdeps/posix/libc_fatal.c:155
#3  0x00007f603098847c in malloc_printerr (str=str@entry=0x7f6030aac628 "double free or corruption (fasttop)") at malloc.c:5347
#4  0x00007f6030989de5 in _int_free (av=0x7f5fe8000020, p=0x7f5fe81010d0, have_lock=0) at malloc.c:4266
#5  0x000055af6bf09de8 in __gnu_cxx::new_allocator<ColorRgb>::deallocate(ColorRgb*, unsigned long) (this=0x7f5fe8068de8, __p=0x7f5fe81010e0) at /usr/include/c++/9/ext/new_allocator.h:128
#6  0x000055af6bf09b4a in std::allocator_traits<std::allocator<ColorRgb> >::deallocate(std::allocator<ColorRgb>&, ColorRgb*, unsigned long) (__a=..., __p=0x7f5fe81010e0, __n=5) at /usr/include/c++/9/bits/alloc_traits.h:470
#7  0x000055af6bf0870c in std::_Vector_base<ColorRgb, std::allocator<ColorRgb> >::_M_deallocate(ColorRgb*, unsigned long) (this=0x7f5fe8068de8, __p=0x7f5fe81010e0, __n=5) at /usr/include/c++/9/bits/stl_vector.h:351
#8  0x000055af6bf077cf in std::_Vector_base<ColorRgb, std::allocator<ColorRgb> >::~_Vector_base() (this=0x7f5fe8068de8, __in_chrg=<optimised out>) at /usr/include/c++/9/bits/stl_vector.h:332
#9  0x000055af6bf07617 in std::vector<ColorRgb, std::allocator<ColorRgb> >::~vector() (this=0x7f5fe8068de8, __in_chrg=<optimised out>) at /usr/include/c++/9/bits/stl_vector.h:680
#10 0x000055af6bf218a6 in LinearColorSmoothing::REMEMBERED_FRAME::~REMEMBERED_FRAME() (this=0x7f5fe8068de0, __in_chrg=<optimised out>)
    at /home/thomas/hyperion.ng-lordgrey-master/build-x86x64/libsrc/hyperion/hyperion_autogen/EWIEGA46WW/../../../../../libsrc/hyperion/LinearColorSmoothing.h:200
#11 0x000055af6bf218c5 in std::_Destroy<LinearColorSmoothing::REMEMBERED_FRAME>(LinearColorSmoothing::REMEMBERED_FRAME*) (__pointer=0x7f5fe8068de0) at /usr/include/c++/9/bits/stl_construct.h:98
#12 0x000055af6bf21839 in std::_Destroy_aux<false>::__destroy<LinearColorSmoothing::REMEMBERED_FRAME*>(LinearColorSmoothing::REMEMBERED_FRAME*, LinearColorSmoothing::REMEMBERED_FRAME*)
    (__first=0x7f5fe8068de0, __last=0x7f5fe8068e00) at /usr/include/c++/9/bits/stl_construct.h:108
#13 0x000055af6bf216b0 in std::_Destroy<LinearColorSmoothing::REMEMBERED_FRAME*>(LinearColorSmoothing::REMEMBERED_FRAME*, LinearColorSmoothing::REMEMBERED_FRAME*) (__first=0x7f5fe8068de0, __last=0x7f5fe8068e00)
    at /usr/include/c++/9/bits/stl_construct.h:137
#14 0x000055af6bf21340 in std::_Destroy<LinearColorSmoothing::REMEMBERED_FRAME*, LinearColorSmoothing::REMEMBERED_FRAME>(LinearColorSmoothing::REMEMBERED_FRAME*, LinearColorSmoothing::REMEMBERED_FRAME*, std::allocator<LinearColorSmoothing::REMEMBERED_FRAME>&) (__first=0x7f5fe8068de0, __last=0x7f5fe8068e00) at /usr/include/c++/9/bits/stl_construct.h:206
#15 0x000055af6bf20d4d in std::deque<LinearColorSmoothing::REMEMBERED_FRAME, std::allocator<LinearColorSmoothing::REMEMBERED_FRAME> >::_M_destroy_data_aux(std::_Deque_iterator<LinearColorSmoothing::REMEMBERED_FRAME, LinearColorSmoothing::REMEMBERED_FRAME&, LinearColorSmoothing::REMEMBERED_FRAME*>, std::_Deque_iterator<LinearColorSmoothing::REMEMBERED_FRAME, LinearColorSmoothing::REMEMBERED_FRAME&, LinearColorSmoothing::REMEMBERED_FRAME*>)
    (this=0x7f6014023840, __first=
      {time = 1612991875346937, colors = std::vector of length 5, capacity 5 = {{red = 16 '\020', green = 208 '\320', blue = 10 '\n'}, {red = 232 '\350', green = 95 '_', blue = 127 '\177'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}}}, __last=
      {time = 1612991875359359, colors = std::vector of length 5, capacity 5 = {{red = 24 '\030', green = 16 '\020', blue = 30 '\036'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}}}) at /usr/include/c++/9/bits/deque.tcc:870
#16 0x000055af6bf20580 in std::deque<LinearColorSmoothing::REMEMBERED_FRAME, std::allocator<LinearColorSmoothing::REMEMBERED_FRAME> >::_M_destroy_data(std::_Deque_iterator<LinearColorSmoothing::REMEMBERED_FRAME, LinearColorSmoothing::REMEMBERED_FRAME&, LinearColorSmoothing::REMEMBERED_FRAME*>, std::_Deque_iterator<LinearColorSmoothing::REMEMBERED_FRAME, LinearColorSmoothing::REMEMBERED_FRAME&, LinearColorSmoothing::REMEMBERED_FRAME*>, std::allocator<LinearColorSmoothing::REMEMBERED_FRAME> const&) (this=0x7f6014023840, __first=
      {time = 1612991875346937, colors = std::vector of length 5, capacity 5 = {{red = 16 '\020', green = 208 '\320', blue = 10 '\n'}, {red = 232 '\350', green = 95 '_', blue = 127 '\177'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}}}, __last=
      {time = 1612991875359359, colors = std::vector of length 5, capacity 5 = {{red = 24 '\030', green = 16 '\020', blue = 30 '\036'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}}}) at /usr/include/c++/9/bits/stl_deque.h:2117
#17 0x000055af6bf5a708 in std::deque<LinearColorSmoothing::REMEMBERED_FRAME, std::allocator<LinearColorSmoothing::REMEMBERED_FRAME> >::_M_erase_at_begin(std::_Deque_iterator<LinearColorSmoothing::REMEMBERED_FRAME, LinearColorSmoothing::REMEMBERED_FRAME&, LinearColorSmoothing::REMEMBERED_FRAME*>) (this=0x7f6014023840, __pos=
      {time = 1612991875359359, colors = std::vector of length 5, capacity 5 = {{red = 24 '\030', green = 16 '\020', blue = 30 '\036'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}}}) at /usr/include/c++/9/bits/stl_deque.h:2124
#18 0x000055af6bf58fe5 in std::deque<LinearColorSmoothing::REMEMBERED_FRAME, std::allocator<LinearColorSmoothing::REMEMBERED_FRAME> >::_M_erase(std::_Deque_iterator<LinearColorSmoothing::REMEMBERED_FRAME, LinearColorSmoothing::REMEMBERED_FRAME&, LinearColorSmoothing::REMEMBERED_FRAME*>, std::_Deque_iterator<LinearColorSmoothing::REMEMBERED_FRAME, LinearColorSmoothing::REMEMBERED_FRAME&, LinearColorSmoothing::REMEMBERED_FRAME*>)
    (this=0x7f6014023840, __first=
      {time = 1612991875346937, colors = std::vector of length 5, capacity 5 = {{red = 16 '\020', green = 208 '\320', blue = 10 '\n'}, {red = 232 '\350', green = 95 '_', blue = 127 '\177'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}}}, __last=
      {time = 1612991875359359, colors = std::vector of length 5, capacity 5 = {{red = 24 '\030', green = 16 '\020', blue = 30 '\036'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}}}) at /usr/include/c++/9/bits/deque.tcc:274
#19 0x000055af6bf577e7 in std::deque<LinearColorSmoothing::REMEMBERED_FRAME, std::allocator<LinearColorSmoothing::REMEMBERED_FRAME> >::erase(std::_Deque_iterator<LinearColorSmoothing::REMEMBERED_FRAME, LinearColorSmoothing::REMEMBERED_FRAME const&, LinearColorSmoothing::REMEMBERED_FRAME const*>, std::_Deque_iterator<LinearColorSmoothing::REMEMBERED_FRAME, LinearColorSmoothing::REMEMBERED_FRAME const&, LinearColorSmoothing::REMEMBERED_FRAME const*>)
    (this=0x7f6014023840, __first=
      {time = 1612991875346937, colors = std::vector of length 5, capacity 5 = {{red = 16 '\020', green = 208 '\320', blue = 10 '\n'}, {red = 232 '\350', green = 95 '_', blue = 127 '\177'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}}}, __last=
      {time = 1612991875359359, colors = std::vector of length 5, capacity 5 = {{red = 24 '\030', green = 16 '\020', blue = 30 '\036'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}, {red = 0 '\000', green = 0 '\000', blue = 0 '\000'}}}) at /usr/include/c++/9/bits/stl_deque.h:1835
#20 0x000055af6bf547c5 in LinearColorSmoothing::rememberFrame(std::vector<ColorRgb, std::allocator<ColorRgb> > const&) (this=0x7f6014023760, ledColors=std::vector of length 5, capacity 5 = {...})
    at /home/thomas/hyperion.ng-lordgrey-master/libsrc/hyperion/LinearColorSmoothing.cpp:485
#21 0x000055af6bf53381 in LinearColorSmoothing::write(std::vector<ColorRgb, std::allocator<ColorRgb> > const&) (this=0x7f6014023760, ledValues=std::vector of length 5, capacity 5 = {...})
    at /home/thomas/hyperion.ng-lordgrey-master/libsrc/hyperion/LinearColorSmoothing.cpp:139
#22 0x000055af6bf535c6 in LinearColorSmoothing::updateLedValues(std::vector<ColorRgb, std::allocator<ColorRgb> > const&) (this=0x7f6014023760, ledValues=std::vector of length 5, capacity 5 = {...})
    at /home/thomas/hyperion.ng-lordgrey-master/libsrc/hyperion/LinearColorSmoothing.cpp:165
#23 0x000055af6bf399ac in Hyperion::update() (this=0x55af6d04f870) at /home/thomas/hyperion.ng-lordgrey-master/libsrc/hyperion/Hyperion.cpp:651
#24 0x000055af6bf38a65 in Hyperion::setInputImage(int, Image<ColorRgb> const&, long, bool) (this=0x55af6d04f870, priority=250, image=..., timeout_ms=-1, clearEffect=true)
    at /home/thomas/hyperion.ng-lordgrey-master/libsrc/hyperion/Hyperion.cpp:369
#25 0x000055af6bf2a95d in CaptureCont::handleSystemImage(QString const&, Image<ColorRgb> const&) (this=0x7f601402d930, name=..., image=...) at /home/thomas/hyperion.ng-lordgrey-master/libsrc/hyperion/CaptureCont.cpp:63
--Type <RET> for more, q to quit, c to continue without paging--
#26 0x000055af6bf2c451 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QString const&, Image<ColorRgb> const&>, void, void (CaptureCont::*)(QString const&, Image<ColorRgb> const&)>::call(void (CaptureCont::*)(QString const&, Image<ColorRgb> const&), CaptureCont*, void**) (f=
    (void (CaptureCont::*)(class CaptureCont * const, const class QString &, const class Image<ColorRgb> &)) 0x55af6bf2a872 <CaptureCont::handleSystemImage(QString const&, Image<ColorRgb> const&)>, o=0x7f601402d930, arg=0x55af6d548fa0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:152
#27 0x000055af6bf2c139 in QtPrivate::FunctionPointer<void (CaptureCont::*)(QString const&, Image<ColorRgb> const&)>::call<QtPrivate::List<QString const&, Image<ColorRgb> const&>, void>(void (CaptureCont::*)(QString const&, Image<ColorRgb> const&), CaptureCont*, void**) (f=
    (void (CaptureCont::*)(class CaptureCont * const, const class QString &, const class Image<ColorRgb> &)) 0x55af6bf2a872 <CaptureCont::handleSystemImage(QString const&, Image<ColorRgb> const&)>, o=0x7f601402d930, arg=0x55af6d548fa0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:185
#28 0x000055af6bf2bed6 in QtPrivate::QSlotObject<void (CaptureCont::*)(QString const&, Image<ColorRgb> const&), QtPrivate::List<QString const&, Image<ColorRgb> const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x7f601402d7a0, r=0x7f601402d930, a=0x55af6d548fa0, ret=0x0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:414
#29 0x00007f60310e7d5a in QObject::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#30 0x00007f6032704a66 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#31 0x00007f603270e0f0 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#32 0x00007f60310bb93a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#33 0x00007f60310be5b8 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#34 0x00007f6031113f67 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#35 0x00007f6030024f9d in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#36 0x00007f6030025220 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#37 0x00007f60300252c3 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#38 0x00007f6031113565 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#39 0x00007f60310ba4db in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#40 0x00007f6030ef2785 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#41 0x00007f6030ef39d2 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#42 0x00007f6031b51609 in start_thread (arg=<optimised out>) at pthread_create.c:477
#43 0x00007f6030a12293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Lord-Grey avatar Feb 10 '21 21:02 Lord-Grey

@patriot1889 / @kolyshkin a) Do you have "Smoothing" on or off when running into this problem? b) How many LED have you configured?

Lord-Grey avatar Feb 10 '21 21:02 Lord-Grey

Smoothing off, FileDevice with 5000 HW LEDs,Using Calibration Wizard

#0  tcache_get (tc_idx=<optimised out>) at malloc.c:2937
#1  __GI___libc_malloc (bytes=bytes@entry=56) at malloc.c:3051
#2  0x00007fc924e48c3a in _dl_map_object_deps (map=map@entry=0x7fc923b52930, preloads=preloads@entry=0x0, npreloads=npreloads@entry=0, trace_mode=trace_mode@entry=0, open_mode=open_mode@entry=-2147483648) at dl-deps.c:478
#3  0x00007fc924e4eda0 in dl_open_worker (a=a@entry=0x7fc90e7fa570) at dl-open.c:571
#4  0x00007fc922c3b8b8 in __GI__dl_catch_exception (exception=exception@entry=0x7fc90e7fa550, operate=operate@entry=0x7fc924e4ec10 <dl_open_worker>, args=args@entry=0x7fc90e7fa570) at dl-error-skeleton.c:208
#5  0x00007fc924e4e5fa in _dl_open (file=0x7fc922c8eeb9 "libgcc_s.so.1", mode=-2147483646, caller_dlopen=<optimised out>, nsid=-2, argc=4, argv=0x7ffe889627e8, env=0x56443a182260) at dl-open.c:837
#6  0x00007fc922c3a861 in do_dlopen (ptr=ptr@entry=0x7fc90e7fa790) at dl-libc.c:96
#7  0x00007fc922c3b8b8 in __GI__dl_catch_exception (exception=exception@entry=0x7fc90e7fa730, operate=operate@entry=0x7fc922c3a820 <do_dlopen>, args=args@entry=0x7fc90e7fa790) at dl-error-skeleton.c:208
#8  0x00007fc922c3b983 in __GI__dl_catch_error
    (objname=objname@entry=0x7fc90e7fa780, errstring=errstring@entry=0x7fc90e7fa788, mallocedp=mallocedp@entry=0x7fc90e7fa77f, operate=operate@entry=0x7fc922c3a820 <do_dlopen>, args=args@entry=0x7fc90e7fa790)
    at dl-error-skeleton.c:227
#9  0x00007fc922c3a995 in dlerror_run (args=0x7fc90e7fa790, operate=0x7fc922c3a820 <do_dlopen>) at dl-libc.c:46
#10 __GI___libc_dlopen_mode (name=name@entry=0x7fc922c8eeb9 "libgcc_s.so.1", mode=mode@entry=-2147483646) at dl-libc.c:195
#11 0x00007fc922c08049 in init () at backtrace.c:54
#12 0x00007fc923d4247f in __pthread_once_slow (once_control=0x7fc922cc7b48 <once>, init_routine=0x7fc922c08030 <init>) at pthread_once.c:116
#13 0x00007fc922c08194 in __GI___backtrace (array=<optimised out>, size=<optimised out>) at backtrace.c:111
#14 0x0000564439487ddd in DefaultSignalHandler::print_trace() () at /home/thomas/hyperion.ng-lordgrey-master/libsrc/utils/DefaultSignalHandler.cpp:86
#15 0x00005644394881cd in DefaultSignalHandler::signal_handler(int, siginfo_t*, void*) (signum=11) at /home/thomas/hyperion.ng-lordgrey-master/libsrc/utils/DefaultSignalHandler.cpp:140
#16 0x00007fc923d453c0 in <signal handler called> () at /lib/x86_64-linux-gnu/libpthread.so.0
#17 __memmove_avx_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:538
#18 0x000056443930ae57 in std::__copy_move<true, true, std::random_access_iterator_tag>::__copy_m<ColorRgb>(ColorRgb const*, ColorRgb const*, ColorRgb*) (__first=0x7fc8e00ab6e0, __last=0x7fc8e0045b33, __result=0x7fc904079340)
    at /usr/include/c++/9/bits/stl_algobase.h:386
#19 0x000056443930abdc in std::__copy_move_a<true, ColorRgb*, ColorRgb*>(ColorRgb*, ColorRgb*, ColorRgb*) (__first=0x7fc8e00ab6e0, __last=0x7fc8e0045b33, __result=0x7fc904079340) at /usr/include/c++/9/bits/stl_algobase.h:404
#20 0x000056443930a92f in std::__copy_move_a2<true, ColorRgb*, ColorRgb*>(ColorRgb*, ColorRgb*, ColorRgb*) (__first=0x7fc8e00ab6e0, __last=0x7fc8e0045b33, __result=0x7fc904079340) at /usr/include/c++/9/bits/stl_algobase.h:440
#21 0x000056443930a420 in std::copy<std::move_iterator<ColorRgb*>, ColorRgb*>(std::move_iterator<ColorRgb*>, std::move_iterator<ColorRgb*>, ColorRgb*) (__first=..., __last=..., __result=0x7fc904079340)
    at /usr/include/c++/9/bits/stl_algobase.h:474
#22 0x0000564439309c9e in std::__uninitialized_copy<true>::__uninit_copy<std::move_iterator<ColorRgb*>, ColorRgb*>(std::move_iterator<ColorRgb*>, std::move_iterator<ColorRgb*>, ColorRgb*)
    (__first=..., __last=..., __result=0x7fc904079340) at /usr/include/c++/9/bits/stl_uninitialized.h:101
#23 0x000056443930902f in std::uninitialized_copy<std::move_iterator<ColorRgb*>, ColorRgb*>(std::move_iterator<ColorRgb*>, std::move_iterator<ColorRgb*>, ColorRgb*) (__first=..., __last=..., __result=0x7fc904079340)
    at /usr/include/c++/9/bits/stl_uninitialized.h:140
#24 0x00005644393068f9 in std::__uninitialized_copy_a<std::move_iterator<ColorRgb*>, ColorRgb*, ColorRgb>(std::move_iterator<ColorRgb*>, std::move_iterator<ColorRgb*>, ColorRgb*, std::allocator<ColorRgb>&)
    (__first=..., __last=..., __result=0x7fc904079340) at /usr/include/c++/9/bits/stl_uninitialized.h:307
#25 0x0000564439304f5c in std::__uninitialized_move_if_noexcept_a<ColorRgb*, ColorRgb*, std::allocator<ColorRgb> >(ColorRgb*, ColorRgb*, ColorRgb*, std::allocator<ColorRgb>&)
    (__first=0x7fc8e00ab6e0, __last=0x7fc8e0045b33, __result=0x7fc904079340, __alloc=...) at /usr/include/c++/9/bits/stl_uninitialized.h:329
#26 0x0000564439302c02 in std::vector<ColorRgb, std::allocator<ColorRgb> >::_M_fill_insert(__gnu_cxx::__normal_iterator<ColorRgb*, std::vector<ColorRgb, std::allocator<ColorRgb> > >, unsigned long, ColorRgb const&)
    (this=0x56443a61de40, __position={red = 224 '\340', green = 200 '\310', blue = 127 '\177'}, __n=4999, __x=...) at /usr/include/c++/9/bits/vector.tcc:573
#27 0x000056443930067d in std::vector<ColorRgb, std::allocator<ColorRgb> >::resize(unsigned long, ColorRgb const&) (this=0x56443a61de40, __new_size=5000, __x=...) at /usr/include/c++/9/bits/stl_vector.h:957
#28 0x00005644392fd8ac in Hyperion::update() (this=0x56443a61dc70) at /home/thomas/hyperion.ng-lordgrey-master/libsrc/hyperion/Hyperion.cpp:632
#29 0x00005644392fca65 in Hyperion::setInputImage(int, Image<ColorRgb> const&, long, bool) (this=0x56443a61dc70, priority=250, image=..., timeout_ms=-1, clearEffect=true)
    at /home/thomas/hyperion.ng-lordgrey-master/libsrc/hyperion/Hyperion.cpp:369
#30 0x00005644392ee95d in CaptureCont::handleSystemImage(QString const&, Image<ColorRgb> const&) (this=0x7fc90402d970, name=..., image=...) at /home/thomas/hyperion.ng-lordgrey-master/libsrc/hyperion/CaptureCont.cpp:63
#31 0x00005644392f0451 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QString const&, Image<ColorRgb> const&>, void, void (CaptureCont::*)(QString const&, Image<ColorRgb> const&)>::call(void (CaptureCont::*)(QString const&, Image<ColorRgb> const&), CaptureCont*, void**) (f=
    (void (CaptureCont::*)(class CaptureCont * const, const class QString &, const class Image<ColorRgb> &)) 0x5644392ee872 <CaptureCont::handleSystemImage(QString const&, Image<ColorRgb> const&)>, o=0x7fc90402d970, arg=0x7fc90e7fb750) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:152
#32 0x00005644392f0139 in QtPrivate::FunctionPointer<void (CaptureCont::*)(QString const&, Image<ColorRgb> const&)>::call<QtPrivate::List<QString const&, Image<ColorRgb> const&>, void>(void (CaptureCont::*)(QString const&, Image<ColorRgb> const&), CaptureCont*, void**) (f=
    (void (CaptureCont::*)(class CaptureCont * const, const class QString &, const class Image<ColorRgb> &)) 0x5644392ee872 <CaptureCont::handleSystemImage(QString const&, Image<ColorRgb> const&)>, o=0x7fc90402d970, arg=0x7fc90e7fb750) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:185
#33 0x00005644392efed6 in QtPrivate::QSlotObject<void (CaptureCont::*)(QString const&, Image<ColorRgb> const&), QtPrivate::List<QString const&, Image<ColorRgb> const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x7fc90402adf0, r=0x7fc90402d970, a=0x7fc90e7fb750, ret=0x0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:414
#34 0x00007fc9232cf458 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#35 0x00005644394866da in GlobalSignals::setSystemImage(QString const&, Image<ColorRgb> const&) (this=0x56443997e3b0 <GlobalSignals::getInstance()::instance>, _t1=..., _t2=...)
    at /home/thomas/hyperion.ng-lordgrey-master/build-x86x64/libsrc/utils/hyperion-utils_autogen/YC2X3M4VYJ/moc_GlobalSignals.cpp:254
#36 0x00005644392f71d0 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QString const&, Image<ColorRgb> const&>, void, void (GlobalSignals::*)(QString const&, Image<ColorRgb> const&)>::call(void (GlobalSignals::*)(QString const&, Image<ColorRgb> const&), GlobalSignals*, void**) (f=
    (void (GlobalSignals::*)(class GlobalSignals * const, const class QString &, const class Image<ColorRgb> &)) 0x56443948666c <GlobalSignals::setSystemImage(QString const&, Image<ColorRgb> const&)>, o=0x56443997e3b0 <GlobalSignals::getInstance()::instance>, arg=0x56443a8a25d0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:152
#37 0x00005644392f6fbd in QtPrivate::FunctionPointer<void (GlobalSignals::*)(QString const&, Image<ColorRgb> const&)>::call<QtPrivate::List<QString const&, Image<ColorRgb> const&>, void>(void (GlobalSignals::*)(QString const&, Image<ColorRgb> const&), GlobalSignals*, void**) (f=
    (void (GlobalSignals::*)(class GlobalSignals * const, const class QString &, const class Image<ColorRgb> &)) 0x56443948666c <GlobalSignals::setSystemImage(QString const&, Image<ColorRgb> const&)>, o=0x56443997e3b0 <GlobalSi--Type <RET> for more, q to quit, c to continue without paging--
gnals::getInstance()::instance>, arg=0x56443a8a25d0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:185
#38 0x00005644392f6cda in QtPrivate::QSlotObject<void (GlobalSignals::*)(QString const&, Image<ColorRgb> const&), QtPrivate::List<QString const&, Image<ColorRgb> const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x56443a4cbb40, r=0x56443997e3b0 <GlobalSignals::getInstance()::instance>, a=0x56443a8a25d0, ret=0x0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:414
#39 0x00007fc9232cfd5a in QObject::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#40 0x00007fc9248eca66 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#41 0x00007fc9248f60f0 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#42 0x00007fc9232a393a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#43 0x00007fc9232a65b8 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#44 0x00007fc9232fbf67 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#45 0x00007fc92220cf9d in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#46 0x00007fc92220d220 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#47 0x00007fc92220d2c3 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#48 0x00007fc9232fb565 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#49 0x00007fc9232a24db in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#50 0x00007fc9230da785 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#51 0x00007fc9230db9d2 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#52 0x00007fc923d39609 in start_thread (arg=<optimised out>) at pthread_create.c:477
#53 0x00007fc922bfa293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Lord-Grey avatar Feb 10 '21 21:02 Lord-Grey

@patriot1889 / @kolyshkin a) Do you have "Smoothing" on or off when running into this problem? b) How many LED have you configured?

Smoothing on I believe, 90 LEDs total.

patriot1889 avatar Feb 10 '21 21:02 patriot1889

Are you able to reproduce it consistently with alpha9?

Yes.

I tried to "just click around" via the Wizard (as in the problem descriptions), but was to successful triggering the failure event.

Sometimes it takes a few minutes, sometimes you have to keep changing the color values for half an hour.

Would you mind sharing your configuration? Just do an export of the configuration via the UI.

Here you are: Hyperion-2.0.0-alpha.9-Backup (My Hyperion Config) 2021.02.10.json.txt

kolyshkin avatar Feb 11 '21 02:02 kolyshkin

a) Do you have "Smoothing" on or off when running into this problem? b) How many LED have you configured?

Smoothing on, Total LEDs: 226

kolyshkin avatar Feb 11 '21 02:02 kolyshkin