[cvsnt] Problem with a DLL which is part of your package
Borbarad at gmxpro.net
Thu Feb 21 22:23:57 GMT 2008
being a user of TortoiseCVS, I am also user of CVSNT, naturally. Now after filing a bug at the TortoiseCVS bugtracker, I was told to send a message to this mailing list in order to make the issue known, since they are basically just redistributing your setup package.
The setup package of CVSNT apparently ships with the file "u3dapi10.dll". This file has apparently to do with the U3 system available for some USB memory sticks. Since CVSNT is registered with the PATH environment variable, it becomes part of the DLL search path as well.
Is it necessary to put this DLL into the DLL search path by default? If not, could you please work around it by putting the DLL into a subfolder that is *not* part of the search path.
The problem is, that some third party programs attempt to dynamically or delay-load some this DLL by name. However, either there is a conflict between the expected version and the version found, *or* either side does
something fishy inside DllMain, dead-locking with the loader-lock held. In any case, the process which loads the DLL gets deadlocked (checked with WinDbg).
Move the DLL out of the search path and attempt to load it dynamically from
elsewhere if it is needed for some job or remove it completely from the distribution. I've removed it from my folder after checking static dependencies and it just works fine. Only the combination of PATH with this DLL makes it a problem in the first place, basically creating the infamous "DLL hell".
More information about the cvsnt