roc-streaming / roc-toolkit

Real-time audio streaming over the network.
https://roc-streaming.org
Mozilla Public License 2.0
1.03k stars 205 forks source link

test_sender_receiver fails on 32 bit architectures #480

Closed yarda closed 1 year ago

yarda commented 1 year ago

Fedora rawhide (f38):

python3 scripts/wrappers/timeout.py 300 bin/i686-pc-redhat-linux/roc-test-core
....................................
OK (36 tests, 36 ran, 329 checks, 0 ignored, 0 filtered out, 3 ms)
python3 scripts/wrappers/timeout.py 300 bin/i686-pc-redhat-linux/roc-test-address
...................
OK (19 tests, 19 ran, 140 checks, 0 ignored, 0 filtered out, 1 ms)
python3 scripts/wrappers/timeout.py 300 bin/i686-pc-redhat-linux/roc-test-packet
...............................................
OK (47 tests, 47 ran, 1379 checks, 0 ignored, 0 filtered out, 0 ms)
python3 scripts/wrappers/timeout.py 300 bin/i686-pc-redhat-linux/roc-test-audio
..................................................
......................
OK (72 tests, 72 ran, 299948 checks, 0 ignored, 0 filtered out, 63 ms)
python3 scripts/wrappers/timeout.py 300 bin/i686-pc-redhat-linux/roc-test-rtp
................
OK (16 tests, 16 ran, 1571 checks, 0 ignored, 0 filtered out, 0 ms)
python3 scripts/wrappers/timeout.py 300 bin/i686-pc-redhat-linux/roc-test-fec
..................................................
.
OK (51 tests, 51 ran, 1597991 checks, 0 ignored, 0 filtered out, 169 ms)
python3 scripts/wrappers/timeout.py 300 bin/i686-pc-redhat-linux/roc-test-netio
............
OK (12 tests, 12 ran, 16088 checks, 0 ignored, 0 filtered out, 16 ms)
python3 scripts/wrappers/timeout.py 300 bin/i686-pc-redhat-linux/roc-test-sndio
............
OK (12 tests, 12 ran, 164209 checks, 0 ignored, 0 filtered out, 20 ms)
python3 scripts/wrappers/timeout.py 300 bin/i686-pc-redhat-linux/roc-test-pipeline
..................................................
............
OK (62 tests, 62 ran, 879846 checks, 0 ignored, 0 filtered out, 80 ms)
python3 scripts/wrappers/timeout.py 300 bin/i686-pc-redhat-linux/roc-test-lib
....10:51:19.193 [err] roc_lib: roc_context_close: invalid arguments: context is null
..
src/tests/roc_lib/test_sender_receiver.cpp:231: error: roc_panic()
ERROR: roc_test: failed comparing sample #0
frame_num: 2
original: -0.999969,    received: -0.993927
Backtrace:
#1: 0x566305a6 roc::core::panic(char const*, char const*, int, char const*, ...)+0x146
#2: 0x56639208 roc::TEST_sender_receiver_fec_with_losses_Test::testBody()+0x14a8
#3: 0xf7be6a69 TestInstaller::~TestInstaller()+0x159
#4: 0xf7bf2161 Utest::run()+0x111
#5: 0xf7bf1b97 UtestShell::runOneTestInCurrentProcess(TestPlugin*, TestResult&)+0x157
#6: 0xf7be643c UtestShell::hasFailed() const+0x6c
#7: 0xf7be6a69 TestInstaller::~TestInstaller()+0x159
#8: 0xf7be6551 UtestShell::runOneTest(TestPlugin*, TestResult&)+0xb1
#9: 0xf7be19c4 TestRegistry::runAllTests(TestResult&)+0xd4
#10: 0xf7bdef5f CommandLineTestRunner::runAllTests()+0x13f
#11: 0xf7be55ed CommandLineTestRunner::runAllTestsMain()+0xad
#12: 0xf7be5785 CommandLineTestRunner::RunAllTests(int, char const* const*)+0xc5
#13: 0x5662c37c main+0x1dc
#14: 0xf79ef879 __libc_start_call_main+0x79
#15: 0xf79ef93c __libc_start_main+0x8c
#16: 0x5662c4eb _start+0x2b
scons: *** [test/roc_lib] Error -6
scons: building terminated because of errors.

Full build log: https://kojipkgs.fedoraproject.org//work/tasks/5790/92875790/build.log

yarda commented 1 year ago

Probably the same problem on arm7hl, i.e. it seems 32 bit arches are affected:

OK (36 tests, 36 ran, 329 checks, 0 ignored, 0 filtered out, 2 ms)
python3 scripts/wrappers/timeout.py 300 bin/armv7hl-redhat-linux-gnueabi/roc-test-address
...................
OK (19 tests, 19 ran, 140 checks, 0 ignored, 0 filtered out, 3 ms)
python3 scripts/wrappers/timeout.py 300 bin/armv7hl-redhat-linux-gnueabi/roc-test-packet
...............................................
OK (47 tests, 47 ran, 1379 checks, 0 ignored, 0 filtered out, 1 ms)
python3 scripts/wrappers/timeout.py 300 bin/armv7hl-redhat-linux-gnueabi/roc-test-audio
..................................................
......................
OK (72 tests, 72 ran, 299948 checks, 0 ignored, 0 filtered out, 157 ms)
python3 scripts/wrappers/timeout.py 300 bin/armv7hl-redhat-linux-gnueabi/roc-test-rtp
................
OK (16 tests, 16 ran, 1571 checks, 0 ignored, 0 filtered out, 0 ms)
python3 scripts/wrappers/timeout.py 300 bin/armv7hl-redhat-linux-gnueabi/roc-test-fec
..................................................
.
OK (51 tests, 51 ran, 1598011 checks, 0 ignored, 0 filtered out, 349 ms)
python3 scripts/wrappers/timeout.py 300 bin/armv7hl-redhat-linux-gnueabi/roc-test-netio
............
OK (12 tests, 12 ran, 16088 checks, 0 ignored, 0 filtered out, 34 ms)
python3 scripts/wrappers/timeout.py 300 bin/armv7hl-redhat-linux-gnueabi/roc-test-sndio
............
OK (12 tests, 12 ran, 164209 checks, 0 ignored, 0 filtered out, 50 ms)
python3 scripts/wrappers/timeout.py 300 bin/armv7hl-redhat-linux-gnueabi/roc-test-pipeline
..................................................
............
OK (62 tests, 62 ran, 879846 checks, 0 ignored, 0 filtered out, 164 ms)
python3 scripts/wrappers/timeout.py 300 bin/armv7hl-redhat-linux-gnueabi/roc-test-lib
......10:33:59.563 [err] roc_lib: roc_context_close: invalid arguments: context is null
src/tests/roc_lib/test_sender_receiver.cpp:231: error: roc_panic()
ERROR: roc_test: failed comparing sample #0
frame_num: 2
original: -0.999969,    received: -0.998749
No backtrace available
scons: *** [test/roc_lib] Error -6
gavv commented 1 year ago

Hi, thanks for report!

Any chance you can re-run the test on that device on fresh master?

Recently I've merged a huge update from develop to master.

yarda commented 1 year ago

I will retry.

FYI Fedora dropped 32 bit ARM support recently.

yarda commented 1 year ago

I retested it and It seems the master works OK. I am closing the issue, thanks.

gavv commented 1 year ago

Thanks!