Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FreeBSD 13.2 - common/thread/ThreadTester test fails - pthread create failed for ExplicitSchedParamsFIFO: Operation not permitted #1872

Open
yurivict opened this issue Jun 30, 2023 · 5 comments

Comments

@yurivict
Copy link

==================================
   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

@peternewman
Copy link
Member

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

@peternewman peternewman changed the title 1 test fails FreeBSD 13.2 - common/thread/ThreadTester test fails - pthread create failed for ExplicitSchedParamsFIFO: Operation not permitted Jun 30, 2023
@yurivict
Copy link
Author

common/thread/ThreadTester succeeds when run as root with and without -l 4.

@peternewman
Copy link
Member

common/thread/ThreadTester succeeds 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?

@yurivict
Copy link
Author

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)

@peternewman
Copy link
Member

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants