[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Visual Studio loader lock errors

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: Thu, 02 Oct 2008 20:52:33 +0200

Chris Marshall wrote:
> Thanks for the quick reply.
>
> The DLL concerned involves both MFC and ATL. It doesn't have an
> explicit dllmain but does include a static instance of a CWinApp

A CWinApp in a COM-object is not good. But if it's required, it
shouldn't cause much problems (depending on your InitInstance).

> derived class and a static instance of an ATL CComModule, both of
> which are likely to be set up when the DLL is loaded. The app class
> has an InitInstance method, but all it does is call Init on the module
> then forward on to the base class CWinApp. This looks to be standard
> wizard generated code as far as I can tell.

If that's all your InitInstance is doing, then that's ok.
And make sure that you don't have any global objects which do something
in their constructors.

> At the point the error occurs the Visual Studio modules window shows a
> long list of modules. Outside of the in-house stuff, .NET framework, C+
> + runtimes and general windows DLLs a number of programs are hooked
> in. These are :
> - TortoiseSVN - TortoiseOverlays.dll, intl3_tsvn.dll, libapr_tsvn.dll,
> libaprutil_tsvn.dll, TortoiseStub.dll, TortoiseSVN.dll
> - TrtseShl.dll from an old version of TortoiseCVS
> - HOOKDLL.DLL from an old version of XDesk
> - lnhdr.dll from T.Kawasaki's Link Creation Shell Extension
> - FolderMenus.dll from KO Approach
>
> TortoiseSVN is the only one of these that I've updated recently.

In the settings dialog, activate the option:
Settings->Icon overlays->Show overlays and context menu items only in
explorer

If that helps, then TSVN really seems to trigger something in your
debugger. But you can check our code: we don't do anything in DllMain
which isn't allowed.

Stefan

-- 
       ___
  oo  // \\      "De Chelonian Mobile"
 (_,\/ \_/ \     TortoiseSVN
   \ \_/_\_/>    The coolest Interface to (Sub)Version Control
   /_/   \_\     http://tortoisesvn.net

Received on 2008-10-02 20:52:47 CEST

This is an archived mail posted to the TortoiseSVN Users mailing list.