Open Bug 1826258 Opened 2 years ago Updated 1 year ago

Intermittent SUMMARY: ThreadSanitizer: data race /tmp/glibc/malloc/dynarray_emplace_enlarge.c:66 in __libc_dynarray_emplace_enlarge

Categories

(Core :: Networking: DNS, defect, P2)

defect

Tracking

()

People

(Reporter: RyanVM, Unassigned)

References

(Blocks 2 open bugs)

Details

(Keywords: intermittent-failure, regressionwindow-wanted, Whiteboard: [necko-triaged][necko-priority-review])

Attachments

(1 file)

Blocks: tsan
Blocks: dns
Severity: -- → S3
Priority: -- → P2
Whiteboard: [necko-triaged][necko-priority-review]

https://hg.mozilla.org/mozilla-central/file/9a0019f8494d122b7a149346b08644464d71cfc6/netwerk/dns/nsHostResolver.cpp#l1780

https://searchfox.org/mozilla-central/rev/bf87e869ece2406e9e425a74e8bf77aba0975625/netwerk/dns/nsHostResolver.cpp#1784

if (NS_FAILED(status) && rs.Reset()) {

https://searchfox.org/mozilla-central/rev/bf87e869ece2406e9e425a74e8bf77aba0975625/netwerk/dns/nsHostResolver.cpp#113-124

bool Reset() {
  // reset no more than once per second
  if (PR_IntervalToSeconds(PR_IntervalNow() - mLastReset) < 1) {
    return false;
  }

  mLastReset = PR_IntervalNow();
  auto result = res_ninit(&_res);

  LOG(("nsResState::Reset() > 'res_ninit' returned %d", result));
  return (result == 0);
}

So there's a race on either mLastReset or _res

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: