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

Re: Crash in commit dialog

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: Fri, 10 Oct 2008 23:52:12 +0200

Dave Thompson wrote:

>> * Do you have some hook scripts configured?
> There are hook scripts to integrate the SVN repository with a Trac
> system, but the server is externally hosted, and I don't know the
> content. However, the crash happens before I click OK, so I assume that
> the problem occurs before any hook script is involved.

I was more thinking of local hook scripts which TSVN 1.5 introduced.

>> * Is the log message in English or does it have a lot of non-ASCII chars?
> All English plain ASCII characters.
>
>> * what are your bugtraq: properties and the 'matching' text in the log
>> message?
> bugtraq:logregex=
> (([Cc]lose[sd]?|[Ff]ix|[Ff]ixe[sd]|[Aa]ddresses|[Rr]e|[Rr]eferences|[Rr]efs|[Rr]e|[Ss]ee)\s)?(?:ticket:|#)\d+(?:[-:]\d+)?(?:,\d+(?:[-:]\d+)?)*
>
> \d+(?:[-:]\d+)?(?:,\d+(?:[-:]\d+)?)*
> bugtraq:url=
> https://something.com/something/else/%BUGID%
>
>> * does it happen every time with the same log message?
>
> Hard to say, because I am never sure if I'm entering the log message in
> exactly the same way each time. The log messages do not get saved in
> the history when the dialog crashes.

Hmm - if the log message doesn't get saved, then the crash happens
*very* early, even before the dialog is properly closed. And that's
before any local hooks are executed or the progress dialog is started to
execute the commit.

Or worse, you said it happened while typing a word.

....

I can reproduce the crash now, type the following text in the commit
dialog (without the quotes):

"Refs Adresses :issue: #8888"
then set the cursor after the 's' of 'Refs', hit backspace twice to
remove the 's' and the 'f' from 'Refs' --> crash.

The crash happens inside the regex_iterator constructor for that log
message string together with your bugtraq regex string, i.e., inside the
c-runtime library.

That means either your regex string is invalid, or the c-runtime has a
bug. Either way, there's nothing I can do about that, sorry.

However, I think the problem is that part of your regex string:
[Rr]e|[Rr]eferences|[Rr]efs|[Rr]e
See that you have twice '[Rr]e' in your string?

If I change your regex to:
(([Cc]lose[sd]?|[Ff]ix|[Ff]ixe[sd]|[Aa]ddresses|[Rr]e|[Rr]eferences|[Rr]efs|[Ss]ee)\s)?(?:ticket:|#)\d+(?:[-:]\d+)?(?:,\d+(?:[-:]\d+)?)*
\d+(?:[-:]\d+)?(?:,\d+(?:[-:]\d+)?)*

it won't crash anymore.

Stefan

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

Received on 2008-10-10 23:52:58 CEST

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