-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
caclmgrd core dump file generated after loading scale ipv6 cacl rules #10883
Comments
Paste core file decode information here:
|
It crashed at line 863 of Even add the following protection, it crashed as same. The content of previous acl_table is:
From decoded traceback, it seems it crashed at
|
Can't reproduce this issue with latest 202112 build: admin@vlab-01:~$ show version SONiC Software Version: SONiC.202012.105963-5d2ae332d
|
Confirmed this issue only happen with read hardware, will debug with hardware later. |
Create a draft PR for this issue: sonic-net/sonic-swss-common#634 |
After offline discussion the caclmgrd need code change:
|
What is the motivation for this PR? test_cacl_scale_rules_ipv4 and test_cacl_scale_rules_ipv6 always fails because of this issue: sonic-net/sonic-buildimage#10883 How did you do it? Skip these 2 cases until the issue is fixed. How did you verify/test it? Run cacl/test_cacl_application.py::test_cacl_scale_rules_ipv4 or cacl/test_cacl_application.py::test_cacl_scale_rules_ipv6 Signed-off-by: Zhaohui Sun <[email protected]>
What is the motivation for this PR? test_cacl_scale_rules_ipv4 and test_cacl_scale_rules_ipv6 always fails because of this issue: sonic-net/sonic-buildimage#10883 How did you do it? Skip these 2 cases until the issue is fixed. How did you verify/test it? Run cacl/test_cacl_application.py::test_cacl_scale_rules_ipv4 or cacl/test_cacl_application.py::test_cacl_scale_rules_ipv6 Signed-off-by: Zhaohui Sun <[email protected]>
What is the motivation for this PR? test_cacl_scale_rules_ipv4 and test_cacl_scale_rules_ipv6 always fails because of this issue: sonic-net/sonic-buildimage#10883 How did you do it? Skip these 2 cases until the issue is fixed. How did you verify/test it? Run cacl/test_cacl_application.py::test_cacl_scale_rules_ipv4 or cacl/test_cacl_application.py::test_cacl_scale_rules_ipv6 Signed-off-by: Zhaohui Sun <[email protected]>
What is the motivation for this PR? test_cacl_scale_rules_ipv4 and test_cacl_scale_rules_ipv6 always fails because of this issue: sonic-net/sonic-buildimage#10883 How did you do it? Skip these 2 cases until the issue is fixed. How did you verify/test it? Run cacl/test_cacl_application.py::test_cacl_scale_rules_ipv4 or cacl/test_cacl_application.py::test_cacl_scale_rules_ipv6 Signed-off-by: Zhaohui Sun <[email protected]>
What is the motivation for this PR? test_cacl_scale_rules_ipv4 and test_cacl_scale_rules_ipv6 always fails because of this issue: sonic-net/sonic-buildimage#10883 How did you do it? Skip these 2 cases until the issue is fixed. How did you verify/test it? Run cacl/test_cacl_application.py::test_cacl_scale_rules_ipv4 or cacl/test_cacl_application.py::test_cacl_scale_rules_ipv6 Signed-off-by: Zhaohui Sun <[email protected]>
Will enhance caclmgrd code to avoid multiple threads accessing the same db connector. |
Fix the issue sonic-net/sonic-buildimage#10883. For performance reason, libswsscommon is not thread safe by design. caclmgrd share config DB connection cross thread, so change to use new db connector in child thread. Signed-off-by: Zhaohui Sun <[email protected]>
Fixed it in sonic-net/sonic-host-services#62 |
Signed-off-by: Zhaohui Sun <[email protected]> Approach What is the motivation for this PR? Since sonic-net/sonic-buildimage#10883 was fixed, enable scale cacl test cases. How did you do it? Remove skipped section of scale cases from conditional mark file. There is one more status column, that's why increase table length from 6 to 7. admin@str-e1031-acs-1:~$ show acl rule Table Rule Priority Action Match Status ------- ------ ---------- -------- ------- -------- admin@str-e1031-acs-1:~$ How did you verify/test it? Run tests/cacl/test_cacl_application.py
This fix hasn't been ported into 202012 and 202205, reopen it to make sure scale cases are skipped on feature branch. cacl/test_cacl_application.py::test_cacl_scale_rules_ipv4: cacl/test_cacl_application.py::test_cacl_scale_rules_ipv6: |
) Cherry pick PR for sonic-net/sonic-host-services#62 #### Why I did it Fix the issue #10883. ##### Work item tracking - Microsoft ADO **(17795594)**: #### How I did it For performance reason, libswsscommon is not thread safe by design. caclmgrd share config DB connection cross thread, so change to use new db connector in child thread. #### How to verify it Load scale ipv4/ipv6 rules and verify if caclmgrd is crashed
Fix the issue sonic-net/sonic-buildimage#10883. For performance reason, libswsscommon is not thread safe by design. caclmgrd share config DB connection cross thread, so change to use new db connector in child thread. Signed-off-by: Zhaohui Sun <[email protected]>
The fix was merged into 202012 and 202305 latest image. Close it. |
Description of PR Summary: Since sonic-net/sonic-buildimage#10883 was fixed, enable scale cacl test cases. Cherry pick #8592 Signed-off-by: Zhaohui Sun <[email protected]>
Description of PR Summary: Since sonic-net/sonic-buildimage#10883 was fixed, enable scale cacl test cases. Approach What is the motivation for this PR? Cherry pick #8592 Signed-off-by: Zhaohui Sun <[email protected]>
Signed-off-by: Zhaohui Sun <[email protected]> Approach What is the motivation for this PR? Since sonic-net/sonic-buildimage#10883 was fixed, enable scale cacl test cases. How did you do it? Remove skipped section of scale cases from conditional mark file. There is one more status column, that's why increase table length from 6 to 7. admin@str-e1031-acs-1:~$ show acl rule Table Rule Priority Action Match Status ------- ------ ---------- -------- ------- -------- admin@str-e1031-acs-1:~$ How did you verify/test it? Run tests/cacl/test_cacl_application.py
Signed-off-by: Zhaohui Sun <[email protected]> Approach What is the motivation for this PR? Since sonic-net/sonic-buildimage#10883 was fixed, enable scale cacl test cases. How did you do it? Remove skipped section of scale cases from conditional mark file. There is one more status column, that's why increase table length from 6 to 7. admin@str-e1031-acs-1:~$ show acl rule Table Rule Priority Action Match Status ------- ------ ---------- -------- ------- -------- admin@str-e1031-acs-1:~$ How did you verify/test it? Run tests/cacl/test_cacl_application.py
Description
During test
test_cacl_application.py::test_cacl_scale_rules_ipv6
, after applying scale ipv6 rules, these is no ip6tables rules added.From syslog, some many syncd error logs appear and syncd crashed and all containers restarted except database.
Even ip6table rules are added successfully, there is core dump file for
caclmgrd
under /var/core during the test, its core file is attached.Steps to reproduce the issue:
scale_ipv6_rules.json
file with commandacl-loader update full /tmp/scale_ipv6_rules.json
caclmgrd
under/var/core
Describe the results you received:
There is core dump file generated for
caclmgrd
under/var/core
.Error logs attached as
cacl_ipv6_crash.log
Containers restarted:
Describe the results you expected:
Output of
show version
:Output of
show techsupport
:Additional information you deem important (e.g. issue happens only occasionally):
scal_ipv6_rules.txt
caclmgrd.1652945008.68160.core.gz
cacl_ipv6_crash.log
The text was updated successfully, but these errors were encountered: