FreeBSD 13.2 - common/thread/ThreadTester test fails - pthread create failed for ExplicitSchedParamsFIFO: Operation not permitted
==================================
OLA 0.10.9: ./test-suite.log
==================================
# TOTAL: 79
# PASS: 78
# SKIP: 0
# XFAIL: 0
# FAIL: 1
# XPASS: 0
# ERROR: 0
.. contents:: :depth: 2
FAIL: common/thread/ThreadTester
================================
.common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
.common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
.common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
.common/thread/Thread.cpp:200: Thread MockThread, policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:93: Attempt to start already running thread MockThread
.common/thread/Thread.cpp:200: Thread MockThread, policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:151: pthread create failed for ExplicitSchedParamsFIFO: Operation not permitted
F.common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
ThreadTest.cpp:178:Assertion
Test name: ThreadTest::testSchedulingOptions
assertion failed
- Expression: RunThread(&thread)
Failures !!!
Run: 6 Failure total: 1 Failures: 1 Errors: 0
FAIL common/thread/ThreadTester (exit status: 1)
Version: 0.10.9 FreeBSD 13.2
Can you try running common/thread/ThreadTester as root please?
Also both variants with -l 4 on the end to get us more logs.
See also this which has some potential workarounds/options from the looks of things: https://stackoverflow.com/questions/9313428/getting-eperm-when-calling-pthread-create-for-sched-fifo-thread-as-root-on-lin
common/thread/ThreadTester succeeds when run as root with and without -l 4.
common/thread/ThreadTestersucceeds when run as root with and without-l 4.
Please can we see the output of common/thread/ThreadTester -l 4 then.
Can you also have a look at that linked thread and see if you can fix it by changing a permission externally to OLA?
As regular user:
[yuri@yv /usr/ports/misc/ola]$ ./work/ola-0.10.9/common/thread/ThreadTester -l 4
.common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
.common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
.common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
.common/thread/Thread.cpp:200: Thread MockThread, policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:93: Attempt to start already running thread MockThread
.common/thread/Thread.cpp:200: Thread MockThread, policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:151: pthread create failed for ExplicitSchedParamsFIFO: Operation not permitted
F.common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
ThreadTest.cpp:178:Assertion
Test name: ThreadTest::testSchedulingOptions
assertion failed
- Expression: RunThread(&thread)
Failures !!!
Run: 6 Failure total: 1 Failures: 1 Errors: 0
As root:
[yuri@yv /usr/ports/misc/ola]$ sudo ./work/ola-0.10.9/common/thread/ThreadTester -l 4
.common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
.common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
.common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
.common/thread/Thread.cpp:200: Thread MockThread, policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:93: Attempt to start already running thread MockThread
.common/thread/Thread.cpp:200: Thread MockThread, policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread ExplicitSchedParamsFIFO, policy SCHED_FIFO, priority 31
common/thread/Thread.cpp:200: Thread MockThread, policy SCHED_OTHER, priority 0
common/thread/Thread.cpp:200: Thread ExplicitSchedParamsRR, policy SCHED_RR, priority 31
common/thread/Thread.cpp:200: Thread InheritSchedParams, policy SCHED_FIFO, priority 15
.common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
OK (6)
Can you also have a look at that linked thread and see if you can fix it by changing a permission externally to OLA?
https://stackoverflow.com/questions/9313428/getting-eperm-when-calling-pthread-create-for-sched-fifo-thread-as-root-on-lin