Watch, Follow, &
Connect with Us
Public Report
Report From: C++BuilderX/Compiler    [ Add a report in this area ]  
Report #:  27050   Status: Reported
Multithreaded Dll crashes
Project:  C++BuilderX/BC++ 2005 Build #:  5.5
Version:    1.5 Submitted By:   Matthias B hm
Report Type:  Crash / Data loss / Total failure Date Reported:  4/6/2006 4:21:35 AM
Severity:    Critical / Show Stopper Last Updated: 4/6/2006 4:22:38 AM
Platform:    All versions Internal Tracking #:  
Resolution: None  Resolved in Build: : None
Duplicate of:  None
Voting and Rating
Overall Rating: (1 Total Rating)
5.00 out of 5
Total Votes: None
Description
If you create a multithreaded Dll, and then load it in an application by LoadLibrary and free it again by FreeLibrary, the application will crash.
If you debug the application, you will get following debug output:

VERIFIER STOP 00000201: pid 0x688: unloading dll containing active critical section
0209CE1C : Critical section address
00424494 : Initialization stack trace. Use dds to dump it if non-NULL.
00352DF8 : DLL name address (use `du ADDRESS' to dump if not null)
02080000 : DLL base address

Steps to Reproduce:
Create a Multithreaded Dll.
Include the following lines into an application:

HMODULE hDll;

hDll = LoadLibrary("Name_of_dll.dll");
...

// This crashes the application
FreeLibrary(hDll);

For a sample look to the attachment.
Workarounds
Creating a simple-threaded Dll.
Attachment
Error.zip
Comments

Matthias B hm at 4/6/2006 7:08:52 AM -
This error occurs under Windows XP, but not under Windows Me.

Mathew Joy at 11/21/2014 9:38:36 AM -
I think this issue is still there.

Server Response from: ETNACODE01