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

Re: [TSVN] TortoiseSVN causing stack overflow

From: SteveKing <steveking_at_gmx.ch>
Date: 2005-03-06 09:38:56 CET

Russell Lang wrote:
> FYI,
>
> GSview was using a small stack (65536) on the main thread, which has
> been sufficient until now. A user reported that GSview would crash
> when TortoiseSVN was installed, and I found this occurred when you
> tried to access a directory which was checked out from SVN.
> Increasing the stack space in GSview to 0.25M made the problem go
> away. I'm guessing that TortoiseSVN is storing a large amount of
> data on the stack, hence causing this problem.

- I installed GSview (4.62)
- I tried to reproduce this problem, but failed. No crash.
- The stack is always per process. So another process using a large
stack can't have any effect on your program
- The shell extension part doesn't use much stack space.
- Shell extension don't have control over the stack size, because that's
the stack of the explorer process

So my guess is that GSview uses a too small stack which wouldn't give
you problems until now only because you were lucky. If you show e.g. a
file-open dialog in your program, you must always have enough stack
space for that control too since you're starting that one in your own
process space. Since there's no documentation about how much stack such
a control uses you must have a big enough stack for all circumstances. I
mean it's not just TSVN which uses a little bit of the stack, but every
other shell extension installed (e.g. winzip, text editors, custom
overlay handlers, namespace extensions for e.g. mobile phones, ...).
You're seeing this crash now because the amount of shell extensions
installed on your system has now reached the limit of your too small
stack size, TSVN was just the last one you've installed!
Oh, and in my experience namespace extensions for mobile phones use a
much larger part of the stack than TSVN does, you might get such crashes
frequently if you don't increase your stack size!

On a different note: why do you have such a small stack size anyway? I
mean the default stack size for a windows process is 1Meg!

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.tigris.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Sun Mar 6 09:39:45 2005

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

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