• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

noironetworks / opflex / 1712 / 1
68%
master: 68%

Build:
DEFAULT BRANCH: master
Ran 11 Dec 2020 07:24PM UTC
Files 270
Run time 55s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

11 Dec 2020 07:24PM UTC coverage: 78.882% (-0.2%) from 79.062%
TEST_SUITE=travis-build.sh

push

travis-ci-com

GitHub
Fix more data race issues (#310)

1) Triangular deadlock
Scenario:
Svc Stats thread:
Holds switch manager mutex (sm_mutex) and sends barrier message to OVS and is stuck to get a response.
CondVar needs to be notified by sw connection thread.
Due to this all flow CRUD stalls.

Agent thread:
During contract/table-drop timer kickoff, it holds pstatMtx (to protect while going through all tables and collects stats from flows).
It is blocked while trying to acquire switch manager mutex.... (which is needed to protect flow writes)

Switch Connection thread:
Tries to acquire pstatMtx during stats response, and is stuck
It wont be able to send condVar notify to unblock svc stats thread since it doesnt get a chance to service barrier response.....

Fix:
Unfortunately not detected by tsan. The fix is to break the cycle by making the lock order static.
i.e. "sm_mutex --> pstatMtx"

2) Optimization: Reduce critical section of svcStatsMutex. Both stats CRUD and collection handling are done by Svc Stats thread. Reducing the critical section just to protect cookie podsvc map.

3) Protecting idgen maps during cleanup timer that does garbage collection (every 360 seconds)

Signed-off-by: Gautam Venkataramanan <gautam.chennai@gmail.com>

22136 of 28062 relevant lines covered (78.88%)

3620.99 hits per line

Source Files on job 1712.1 (TEST_SUITE=travis-build.sh)
  • Tree
  • List 0
  • Changed 97
  • Source Changed 6
  • Coverage Changed 97
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 1114
  • Travis Job 1712.1
  • fff20ffe on github
  • Prev Job for TEST_SUITE=travis-build.sh on master (#1706.1)
  • Next Job for TEST_SUITE=travis-build.sh on master (#1715.1)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc