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

Re: [PATCH] Rewrite CLinkControl to fix drdump bug #175094

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: Wed, 16 Dec 2015 20:14:50 +0100

On 16.12.2015 17:11, Ivan Zhakov wrote:
> Hi,
>
> The most often reported crash in TortoiseSVN 1.9.3 is problem 175094
> [1, 2]: it's reported 152 times just in the first day of release. The
> crash happens in
> CStandAloneDialogTmpl<CResizableDialog>::OnEraseBkgnd(CDC * pDC)
> because pDC == NULL. It could not happen according MSDN documentation
> for WM_ERASEBKGND. But WM_ERASEBKGND passes through CLinkControl which
> is actually subclasses parent windows of control using some custom
> code.

The problem here is simple exhaustion of GDI handles. That's why the DC
is NULL: Windows won't create a new DC if there are no more GDI handles
available.
See the "GDI Resource" count in the crash xml file of a full dump zip.

I found the real problem and fixed it in r27056.

> Attached patch converts CLinkControl to be normal control. It could
> resolve these crashes, but I think this patch makes sense anyway.
>
> [1] https://drdump.com/Bug.aspx?ProblemID=175094
> [2] https://drdump.com/Problem.aspx?ProblemID=175094

Thanks for the patch. Committed in r27057.

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest interface to (Sub)version control
    /_/   \_\     http://tortoisesvn.net
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=757&dsMessageId=3151121
To unsubscribe from this discussion, e-mail: [dev-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2015-12-16 20:14:57 CET

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.