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

RE: Re: Crash in 32-bit shell extension on Windows x64

From: Francis Gagné <fragag_at_hotmail.com>
Date: Mon, 24 Jun 2013 13:19:30 -0700 (PDT)

> On 24.06.2013 02:16, Francis Gagné wrote:
> > Uh, I just realized that crshhndl.dll is a 64-bit DLL, and that it is
> > loaded into a 32-bit process. That's not supposed to happen... unless
> > TortoiseSVN uses some dark magic tricks I'm not aware of? In Process
>
> That's not possible, not with any tricks, not at all.
>
According to WinDbg, it *is* loaded and it's running code.

> > Hacker (http://processhacker.sourceforge.net/), I can see that
> > crshhndl.dll is loaded as a "WOW64 DLL" (whereas some 64-bit system
> > DLLs like ntdll.dll and wow64.dll are shown as "DLL").
>
> I've attached a debugger to SonED2. While trying to open the file-open
> dialog it throws exceptions. And it throws them a *lot*.
> First-chance exception at 0x087E21D2 in SonED2.exe: 0xC0000005: Access
> violation reading location 0x0000FF40.
If you look in Process Hacker (open the process's properties after it gets an access violation, then select the Modules or Memory tab), or in a 64-bit debugger such as WinDbg (Visual Studio won't tell you), you'll see that 0x087E21D2 is mapped from crshhndl.dll, and these exceptions are coming from that DLL. What causes that DLL to be loaded?

I've debugged another 32-bit application and WinDbg never says that crshhndl.dll is loaded.

If I rename crshhndl.dll, the file open dialog opens in SonED2 and the TortoiseSVN features are available.

>
> As you can see, these are "first-chance exceptions", which usually are
> not a problem. But in this number (while I'm writing this, the number of
> exceptions exceeds 1 million(!!) and the file-open dialog isn't even
> visible yet) and the fact that it's a 32-bit process on x64 OS indicates
> that these are not normal first-chance exceptions but ones caught by the
> WOW64 system and would cause a real exception on win32 OS.
>
> My best guess: SonED2 has set its stack size smaller than normal, and
> when the file-open dialog is shown a stack overflow happens because of
> all the dlls that are loaded together with that file-open dialog.
>
Then I would have expected to see a stack overflow exception (C00000FD)...

Thanks for your time,

Francis

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=3058975

To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2013-06-24 22:19:33 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.