Uploaded image for project: 'Traffic Server'
  1. Traffic Server
  2. TS-3603

Debug Assert occurs in UnixNetVConnection::set_enabled when accept_threads are disabled

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 5.3.1, 6.0.0
    • Network
    • None

    Description

      This was found while tracking down TS-3597. The assert stack is in a comment on that bug.

      When you don't have a dedicated assert thread, the mutex is not locked before going into the do_io_read to process the accept event. In the dedicated thread case, you end up exercising UnixNetVConnection::acceptEvent which does grab the mutex.

      May be a relatively harmless error. Since this is a newly created VC, there should be no race conditions on it. But violating locking assumptions seem like a really bad idea. Especially since grabbing a lock on a supposedly uncontended object should be cheap.

      A 5.3.x patch is attached to this bug which solves the problem on my build.

      Attachments

        1. TS-3603.diff
          0.6 kB
          Susan Hinrichs

        Issue Links

          Activity

            People

              shinrich Susan Hinrichs
              shinrich Susan Hinrichs
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: