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

assertion in threaded tests #180

Open
ol-damirm opened this issue Oct 11, 2023 · 0 comments
Open

assertion in threaded tests #180

ol-damirm opened this issue Oct 11, 2023 · 0 comments

Comments

@ol-damirm
Copy link
Contributor

I periodically see ci_assert(~lib_context->thread->sig.c.aflags & 0x4) when running sockapi-ts threaded tests:

[11052.805462] oo:ta_rpcs[502905]: Using Onload 76e6c7d6 2023-09-28 master  [0]
[11052.817875] oo:ta_rpcs[502905]: Copyright (c) 2002-2023 Advanced Micro Devices, Inc. 
[11116.701415] oo:ta_rpcs[502905]: FAIL at /tmp/onload/src/lib/transport/unix/internal.h:877
[11116.712517] oo:ta_rpcs[502905]: ci_assert(~lib_context->thread->sig.c.aflags & 0x4)
[11116.712517] from /tmp/onload/src/lib/transport/unix/internal.h:877
[11116.730047] oo:ta_rpcs[502905]: hostname=bofur pid=502905

Here is a list of affected tests from sapi-ts:

  • sockapi-ts/basic/threaded_busy_socket
  • sockapi-ts/basic/threaded_nblock_conn
  • sockapi-ts/basic/threaded_udp

This can be reproduced, for example, using such a command line:

./run.sh -n --cfg=<hostname> --ool=no_reuse_pco --ool=onload \
--tester-run=sockapi-ts/basic/threaded_busy_socket:threads_num=10,sock_type=SOCK_DGRAM,env=VAR.env.peer2peer_tst,process=FALSE,func=recv,connect=TRUE,bind_iut=TRUE,wildcard=FALS

I cannot say it is regression or not.

kernel/OS: 5.15.0-86-generic #96~20.04.1-Ubuntu SMP Thu Sep 21 13:23:37 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
OpenOnload: 76e6c7d
cns-sapi-ts: 04c3e6c

okt-sergeyn added a commit to okt-sergeyn/onload that referenced this issue Dec 1, 2023
__oo_shmbuf_ptr2off() triggers objtool warning:
"__oo_shmbuf_ptr2off() is missing a __noreturn annotation".

The function's only purpose now is to crash with ci_assert(0).
There's no reason to keep it.
The patch moves the assertion to the caller (oo_shmbuf_ptr2off)
and removes __oo_shmbuf_ptr2off().

Signed-off-by: Sergey Nikitin <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant