PR_Cleanup does not wait all of the threads created in PR_Init

RESOLVED DUPLICATE of bug 254987

Status

NSPR
NSPR
--
critical
RESOLVED DUPLICATE of bug 254987
13 years ago
10 years ago

People

(Reporter: Michael, Assigned: Wan-Teh Chang)

Tracking

4.4.1
x86
Windows 2000

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

13 years ago
User-Agent:       Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; en) Opera 8.02
Build Identifier: nspr-4.4.1

The NSPR is statically linked with a dll. The crash happens after unloading the 
dll. It seems that PR_Cleanup does not wait all of the threads created in 
PR_Init.

Reproducible: Always

Steps to Reproduce:
1. Load the dll.
2. Call PR_Init.
3. Call PR_Cleanup and immediately unload the dll.
4. Wait...

Actual Results:  
It crashes.

Expected Results:  
I expect that PR_Cleanup will wait all of the threads, but it doesn't.

It's general use case. I just initialize NSPR and then clean up it. Nothing 
more. Yes, there are some other threads in the process. But it's no matter. I 
hope so.
(Reporter)

Updated

13 years ago
Version: other → 4.4.1

Comment 1

13 years ago
Actually, NSPR will "attach" to your other threads if you make any NSPR API
calls within those threads. This means primarily that thread-private data is
created, I believe.

PR_Cleanup has many known limitations. See bugs 255452, 254983, 254987, 
QA Contact: wtchang → nspr

Comment 2

10 years ago
This is a dupe of 254987 . The survival of the continuation and timer threads is what causes the crashes after the invocation of PR_Cleanup here.
Status: UNCONFIRMED → RESOLVED
Last Resolved: 10 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 254987
You need to log in before you can comment on or make changes to this bug.