Closed Bug 216945 Opened 21 years ago Closed 21 years ago

infinite recursion when token reinserted

Categories

(NSS :: Libraries, defect)

defect
Not set
critical

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 212112

People

(Reporter: jamie-bugzilla, Assigned: wtc)

Details

When I remove and reinsert a smartcard, I assert with the following stacktrace.
We are trying to lock the same lock twice. This is happening because we have
recursed, and would have recursed infinitely if not for the check in PR_Lock.

The recursion seems to start with nssSLot_IsTokenPresent, which eventually calls
itself.


PR_Lock(PRLock * 0x01721978) line 235 + 40 bytes
nssTrustDomain_RemoveTokenCertsFromCache(NSSTrustDomainStr * 0x01720878,
NSSTokenStr * 0x01725a10) line 486 + 15 bytes
nssToken_NotifyCertsNotVisible(NSSTokenStr * 0x01725a10) line 292 + 16 bytes
nssSlot_IsTokenPresent(NSSSlotStr * 0x01726440) line 338 + 12 bytes
nssSlot_GetToken(NSSSlotStr * 0x01726440) line 381 + 9 bytes
nssTrustDomain_FindTrustForCertificate(NSSTrustDomainStr * 0x01720878,
NSSCertificateStr * 0x01736620) line 1191 + 11 bytes
nssTrust_GetCERTCertTrustForCert(NSSCertificateStr * 0x01736620,
CERTCertificateStr * 0x0172d488) line 537 + 13 bytes
fill_CERTCertificateFields(NSSCertificateStr * 0x01736620, CERTCertificateStr *
0x0172d488, int 0x00000001) line 690 + 13 bytes
stan_GetCERTCertificate(NSSCertificateStr * 0x01736620, int 0x00000001) line 718
+ 17 bytes
STAN_ForceCERTCertificateUpdate(NSSCertificateStr * 0x01736620) line 734 + 11 bytes
nssTrustDomain_RemoveTokenCertsFromCache(NSSTrustDomainStr * 0x01720878,
NSSTokenStr * 0x01725a10) line 492 + 15 bytes
nssToken_NotifyCertsNotVisible(NSSTokenStr * 0x01725a10) line 292 + 16 bytes
nssSlot_IsTokenPresent(NSSSlotStr * 0x01726440) line 338 + 12 bytes
nssToken_IsPresent(NSSTokenStr * 0x01725a10) line 1620 + 12 bytes
pk11_IsPresentCertLoad(PK11SlotInfoStr * 0x0171d178, int 0x00000001) line 2052 +
15 bytes
PK11_IsPresent(PK11SlotInfoStr * 0x0171d178) line 2101 + 11 bytes
PK11_FindSlotByName(char * 0x01746e90) line 601 + 9 bytes
This is a known bug and has been fixed on the NSS tip (3.9
not yet released), the NSS 3.7 branch (3.7.8), and the
NSS 3.8 branch (3.8.2, not yet released).  So, an "upgrade"
from 3.7.8 to 3.8 will introduce this regression.

We should release NSS 3.8.2 as soon as possible.

By the way, the symptom in an optimized build is usually a
recursive deadlock, not infinite recursion.

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