Closed Bug 292181 Opened 20 years ago Closed 19 years ago

SSL statistics counters are not atomically incremented

Categories

(NSS :: Libraries, defect, P2)

3.10
defect

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 328262
3.11.1

People

(Reporter: julien.pierre, Assigned: nelson)

Details

ssl3con.c modifies the counters in the SSL3Statistics structure in a
non-thread-safe, non-atomic fashion, using simply the ++ operator .

I was able to demonstrate that some operations are not counted on a multicore
sparc machine (an 8 core chip which 4 threads each - ie 32 virtual CPUs) that
the stats reported by strsclnt in multithraded mode were inconplete . 

I ran strsclnt with -c 2200 -t 100 to do connections in 100 threads, and the
final stats of cache hits + misses only added up to 2195 to 2198 . When running
strsclnt in single-threaded mode, all the connections were accounted for .

The simplest fix for this is to use NSPR atomic increment operations . This may
cause a slight performance decrease, but I don't expect it to be measurable. If
it is, we could an API to disable the statistics collection.
Summary: SSL statistics counters are not atomically inremented → SSL statistics counters are not atomically incremented
QA Contact: bishakhabanerjee → jason.m.reid
This problem was recently fixed.
The patch that fixed it is attached to bug 328262.
That bug should have been marked a duplicate of this one.  My bad.
But since that bug has so much text, and this one so little,
I am going to mark this bug as a duplicate of that other one.

*** This bug has been marked as a duplicate of 328262 ***
Status: NEW → RESOLVED
Closed: 19 years ago
Priority: -- → P2
Resolution: --- → DUPLICATE
Target Milestone: --- → 3.11.1
You need to log in before you can comment on or make changes to this bug.