Closed fastbyt3 closed 1 year ago
Thanks for detailed report, will take a look!
Hi, I was able to reproduce this in docker.
The problem was caused by presence of sndio on your system. If sndio is installed, and when we're building sox (--build-3rdparty-all) sox detects sndio it and uses it, but we don't add it to linker.
I've pushed a fix: now we disable sndio when we're building sox (because it's not actually needed in most cases). If you need sox with sndio enabled, you can use system version of sox instead of letting roc to build it.
@fastbyt3 Would be great if you could re-test fresh develop
branch on your machine.
@gavv just tested the roc-toolkit build on develop branch with developer codebook instruction:
scons -Q --build-3rdparty=all \
--enable-werror --enable-debug --enable-tests --enable-benchmarks \
--enable-examples --enable-doxygen test bench
and build was successful and tests got completed. In benchmarks, caught SigABRT
BENCH roc_core
2023-05-11T20:27:38+05:30
Running bin/x86_64-pc-linux-gnu/roc-bench-core
Run on (12 X 4500 MHz CPU s)
CPU Caches:
L1 Data 32 KiB (x6)
L1 Instruction 32 KiB (x6)
L2 Unified 256 KiB (x6)
L3 Unified 12288 KiB (x1)
Load Average: 6.44, 3.69, 1.95
***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead.
----------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations
----------------------------------------------------------------------------------------------
BM_MpscQueue/PushBack/iterations:5000000/threads:1 0.027 us 0.027 us 5000000
BM_MpscQueue/PushBack/iterations:5000000/threads:2 0.053 us 0.106 us 10000000
BM_MpscQueue/PushBack/iterations:5000000/threads:4 0.040 us 0.161 us 20000000
BM_MpscQueue/PushBack/iterations:5000000/threads:8 0.034 us 0.275 us 40000000
BM_MpscQueue/PushBack/iterations:5000000/threads:16 0.030 us 0.372 us 80000000
BM_MpscQueue/TryPopFront/1/iterations:5000000 0.089 us 0.089 us 5000000
BM_MpscQueue/TryPopFront/2/iterations:5000000 0.064 us 0.064 us 5000000
BM_MpscQueue/TryPopFront/4/iterations:5000000 0.114 us 0.114 us 5000000
BM_MpscQueue/TryPopFront/8/iterations:5000000 0.181 us 0.181 us 5000000
BM_MpscQueue/TryPopFront/16/iterations:5000000 0.421 us 0.260 us 5000000
BM_MpscQueue/PopFront/1/iterations:5000000 0.082 us 0.082 us 5000000
BM_MpscQueue/PopFront/2/iterations:5000000 0.066 us 0.066 us 5000000
BM_MpscQueue/PopFront/4/iterations:5000000 0.109 us 0.109 us 5000000
BM_MpscQueue/PopFront/8/iterations:5000000 0.201 us 0.201 us 5000000
BM_MpscQueue/PopFront/16/iterations:5000000 0.417 us 0.270 us 5000000
BM_Random_Fast 27.2 ns 27.1 ns 26086588
BENCH roc_pipeline
2023-05-11T20:28:23+05:30
Running bin/x86_64-pc-linux-gnu/roc-bench-pipeline
Run on (12 X 4500 MHz CPU s)
CPU Caches:
L1 Data 32 KiB (x6)
L1 Instruction 32 KiB (x6)
L2 Unified 256 KiB (x6)
L3 Unified 12288 KiB (x1)
Load Average: 7.43, 4.28, 2.23
***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead.
--------------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations
--------------------------------------------------------------------------------------------------------
BM_PipelineContention/Schedule/iterations:1000000/threads:1 0.131 us 0.130 us 1000000
BM_PipelineContention/Schedule/iterations:1000000/threads:2 0.074 us 0.148 us 2000000
BM_PipelineContention/Schedule/iterations:1000000/threads:4 0.053 us 0.210 us 4000000
BM_PipelineContention/Schedule/iterations:1000000/threads:8 0.035 us 0.280 us 8000000
BM_PipelineContention/Schedule/iterations:1000000/threads:16 0.033 us 0.372 us 16000000
BM_PipelinePeakLoad_NoTasks/iterations:3000/real_time 4999 us 3009 us 3000 fa_avg=1.176 fa_p95=20 fb_avg=2.128 fb_p95=20 pr=0 sc=0 ss=0 t_avg=-nan t_p95=inf tp_frm=-nan tp_plc=-nan
BM_PipelinePeakLoad_PreciseSchedOff/iterations:3000/real_time 4999 us 3017 us 3000 fa_avg=2.344 fa_p95=20 fb_avg=0.58 fb_p95=20 pr=1.535k sc=0 ss=3.002k t_avg=0.096 t_p95=20 tp_frm=0 tp_plc=0.291
pure virtual method called
terminate called without an active exception
ERROR: caught SIGABRT
#1: 0x55e3871fb199 _ZN3roc4core20print_backtrace_safeEv+0x17
#2: 0x55e3871f960a _ZN3roc4core14die_gracefullyEPKcb+0x87
#3: 0x55e3871f90cb _ZN3roc4core12_GLOBAL__N_114signal_handlerEiP9siginfo_tPv+0x31
#4: 0x7f142be4fab0 __sigaction+0x50
#5: 0x7f142be9f26c pthread_key_delete+0x14c
#6: 0x7f142be4fa08 gsignal+0x18
#7: 0x7f142be38538 abort+0xd7
#8: 0x7f142c09ca6f _ZN9__gnu_cxx27__verbose_terminate_handlerEv.cold+0x66
#9: 0x7f142c0b011c _ZN10__cxxabiv111__terminateEPFvvE+0xc
#10: 0x7f142c0b0189 _ZSt9terminatev+0x19
#11: 0x7f142c0b0ec7 __cxa_pure_virtual+0x27
#12: 0x55e3871f33c8 _ZN3roc8pipeline12PipelineLoop13process_task_ERNS0_12PipelineTaskEb+0x8e
#13: 0x55e3871f2cf4 _ZN3roc8pipeline12PipelineLoop20maybe_process_tasks_Ev+0xf8
#14: 0x55e3871f2bcc _ZN3roc8pipeline12PipelineLoop13process_tasksEv+0x18
#15: 0x55e3871ec8c7 _ZN3roc8pipeline12_GLOBAL__N_112TestPipeline14do_processing_ERNS_3ctl11ControlTaskE+0x23
#16: 0x55e3871ed4cc _ZN3roc3ctl19ControlTaskExecutorINS_8pipeline12_GLOBAL__N_112TestPipelineEE12execute_taskERNS0_11Co+0x0
#17: 0x55e3871f04f7 _ZN3roc3ctl16ControlTaskQueue13execute_task_ERNS0_11ControlTaskE+0x187
#18: 0x55e3871f07b6 _ZN3roc3ctl16ControlTaskQueue14process_tasks_Ev+0xaa
#19: 0x55e3871ef319 _ZN3roc3ctl16ControlTaskQueue3runEv+0x7d
#20: 0x55e3871fa189 _ZN3roc4core6Thread14thread_runner_EPv+0x23
#21: 0x7f142be9d44b pthread_condattr_setpshared+0x51b
#22: 0x7f142bf20e40 __clone+0x120
scons: *** [bench/roc_pipeline] Error -6
@fastbyt3 Thanks!
I think crash in benchmarks is not related to archlinux, it seems to be specific to our code. So far I was not able to reproduce it. I've created a separate issue: https://github.com/roc-streaming/roc-toolkit/issues/537
Will close this one, thanks for debugging.
Following command taken from developer-cookbook when executed in Arch fails with error
Full output: dev_build_output.log
config.log: config.log
/build/3rdparty/x86_64-pc-linux-gnu/gcc-12.2.1-release/sox-14.4.2/build.log
: build.log