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

TortoiseMerge Bug Report (freeze on long line display)

From: Justin Klein <metal450_at_gmail.com>
Date: Thu, 15 Dec 2011 19:59:51 +0700

TortoiseSVN community,

 

This issue concerns TortoiseMerge freezing/locking up when a particularly
long line of text is brought onto the display during a "diff" operation.
Reproducing it is pretty straightforward:

 

1) Prepare a file that begins with "reasonable"-length lines, but contains a
grouping of very long lines somewhere farther down. A mysql export
containing some large database rows would be a good example.

2) Check it in, modify it, right click on the modified file in your local
working copy, and select "Compare with Base."

3) When the TortoiseMerge window comes up, scroll to a screen that contains
one or several very long lines of text

4) TortoiseMerge will now lock up. The longer the lines and the more of
them on the screen, the longer the freeze lasts - sometimes it will become
responsive again within a few seconds, but in many cases I've left it for
more than 10 minutes and it never recovered. Bringing up the Windows XP
Task Manager reveals TortoiseMerge.exe's process pegged at ~25% CPU usage.
No more scrolling or activity is possible during this time - the process
must be forcibly terminated from the task manager.

 

I've observed this issue ever since first starting to use TortoiseSVN over a
year ago, and it is reproducible 100% of the time. Below you can find a
screencapture that shows the issue, where you can see the settings of my
TortoiseMerge display as well as the "freeze" itself. Note that as I scroll
UP to the very long lines, there are "somewhat long lines" which cause it to
lockup for relatively shorter periods of a second or two:

http://screencast.com/t/J8A2NEyi4GO

 

(Although "TortoiseMerge.exe" typically remains pegged at 25%, this
particular video shows a slightly lower usage because of the capture
software itself).

 

As you can see in this example, the issue is very troublesome when diffing
files like mysql exports, which often do have long lines. The only way I
can diff *most* of the file is by discovering where the long lines are (i.e.
by waiting for it to crash), terminating it, then jumping over that section
to diff the rest of the file.

 

I'm currently using TortoiseSVN 1.7.2, Build 22327 - 32 Bit , 2011/11/29
22:43:53

Subversion 1.7.2,

apr 1.4.5

apr-utils 1.3.12

neon 0.29.6

OpenSSL 1.0.0e 6 Sep 2011

zlib 1.2.5

 

It's running on WinXP x86 with all service packs and updates applied.

 

Thanks for your thoughts!

Justin

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

To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2011-12-15 14:30:49 CET

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