Uploaded image for project: 'vpp'
  1. vpp
  2. VPP-461

Fix vlib-api rpc deadlock

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: High High
    • 17.01
    • None
    • None
    • None

      Simply put, threads cannot sleep waiting for the vlib memory api main input queue to drain. If, say, thread i (i !=0) fills the vlib api main input queue with rpc requests - and then blocks trying to add another request - the game is over.

      RPC's attempt a barrier synchronization, which fails with Pr =

      {1.0}

      because thread i is in a mutex/condvar sleep.

      We need to desk check every place which calls vl_msg_api_alloc_as_if_client(...), looking for variations on this theme.

            dbarach Dave Barach
            dbarach Dave Barach
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:

                Estimated:
                Original Estimate - 1 day
                1d
                Remaining:
                Remaining Estimate - 1 day
                1d
                Logged:
                Time Spent - Not Specified
                Not Specified