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

Re: problem with tortoise and debug-versions

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: Mon, 17 Mar 2008 19:14:15 +0100

First: I'm sorry your mail doesn't appear on the list. I've moderated it
through now twice, but it seems there's something wrong with the list.
I'll contact tigris about this...

> we experience difficulties using SVN / tortoise, because two of our
> client-applications crash in debug-mode during program start, whereas
> the release versions work fine.
>
> First there is a stack overflow (see debug out below, unfortunately in
> german) after loading the tortoise-dlls and shfolder.dll. then these
> DLLs are unloaded and reloaded, which leads to an unhandled exception
> (access violation).

In that case, the reason for your stack overflow and exception is easy:
your stack size is not big enough. By default (at least if you're using
an MS compiler), the stack size is 1MB. If you however reduced that
yourself, you have to increase it again (if you haven't, you still need
to increase it or fix your application so it doesn't use so much stack).

You have to consider the stack size not just for your application, but
also for all dll's your application uses (and of course, all dlls
*those* dlls are using).

> We already tried setting the reg key ‘owner drawn menus’ to 2, but that
> does not help. The problem keeps us from applying tortoise and SVN in
> our department.

That really won't help you here. It has nothing to do with the context
menus - it's simply the fact that the TSVN dll gets loaded.

> VS 2005 / WIN XP / Tortoise Version 1.4.8.12137

> "JobCtrlD.exe": "C:\WINDOWS\system32\shlwapi.dll" geladen, Keine Symbole
> geladen.
[snip]
>
> "JobCtrlD.exe": "C:\WINDOWS\system32\shell32.dll" geladen, Keine Symbole
> geladen.
[snip]

These two dll's will load all shell extension dlls. Not just TSVN but
all other shell extension dlls too. And each of these extensions require
stack space. So you *must* adjust your stack size accordingly. Otherwise
you will get into serious trouble once you ship your application: your
customers might have more such extensions installed than you.

the reason that you now only get the problem with your debug build is
that a debug build uses more stack space than a release build. But that
also means (in your case) that your stack size is already at the very
limit in your release build.

So to sum up: the problem is not TSVN, it's your application.

Stefan

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

Received on 2008-03-17 19:14:44 CET

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