DiffMerge hangs when closing

Support for our DiffMerge utility.

Moderator: SourceGear


Posts: 5
Joined: Tue Sep 24, 2013 1:36 am
PostPosted: Tue Sep 24, 2013 4:39 am
Hello.

DiffMerge hangs for abouts 5-10 seconds after I click close button or select close from file menu. Then it closes successfuly, but if I press close button a couple more time during this "hang" I get error box with following contents:
Code: Select all
09/24/13 12:26:51: Cannot wait for thread termination (error 6: the handle is invalid.)
09/24/13 12:26:51: Couldn't terminate thread (error 6: the handle is invalid.)
09/24/13 12:26:51: Cannot wait for thread termination (error 6: the handle is invalid.)
09/24/13 12:26:51: Couldn't terminate thread (error 6: the handle is invalid.)


From time to time it "fixes itself" and application closes normally, but after some time the problem reappears. Unfortunately I don't know what causes the application to "fix" or "break". I couldn't find any reproducible path.

Support information:
Code: Select all
SourceGear DiffMerge : Version 4.1.0 (534:eca1777d85) [x64] stable : WXMSW {2.9.5}

[B stable][P windows.x64][V 04.01.00.00534]

Machine: ll=8 l=4 i=4 v*=8 s=8 c=2

Compiled features:
   FEATURE_SHEX
   FEATURE_BATCHOUTPUT

Command Line Arguments:
[0]: C:\Program Files\SourceGear\Common\DiffMerge\sgdm.exe

Active Window Properties:
   Window Title: SourceGear DiffMerge
   Window Type: Empty


Let me know if you need any more info.

Posts: 534
Joined: Tue Jun 05, 2007 11:37 am
Location: SourceGear
PostPosted: Tue Sep 24, 2013 7:47 am
I haven't seen that one before.

I see that you are on a 64-bit Windows system, but which version?

Also, does it matter if you have files open or not? That is, does it
happen if you just launch it with an empty window and close it or
does it only happen after closing the last non-empty window?
If so does it matter what type (or size) of files?

Thanks.

Posts: 5
Joined: Tue Sep 24, 2013 1:36 am
PostPosted: Tue Sep 24, 2013 10:05 am
I'm running it under Windows 7 Enterprise x64 with SP1.

It makes no difference if I have any files open. It happens even if I start DiffMerge and press close button without doing anything in the application. However the situation is the same if I open any files and then close.

Also once in addition to this "Cannot wait for thread termination" errors I got message that app is unable to delete some temp file in AppData directory. I don't remember the specific message now unfortunately. The file name looked autogenerated, something like _tmp123.tmp or similiar.

I'll try to experiment some more tomorrow when I'm back at work so maybe I'll have some more information.

Thanks.

Posts: 5
Joined: Tue Sep 24, 2013 1:36 am
PostPosted: Wed Sep 25, 2013 12:05 am
Ok, some more information.

I uninstalled DiffMerge and downloaded zip packages for both x86 and x64 versions. They both have the problems described above. Also tried running as administrator but it made no difference.

The following error is generated each time I press close button except first.
Code: Select all
Cannot wait for thread termination (error 6: the handle is invalid.)
Couldn't terminate thread (error 6: the handle is invalid.)

So if I press close button one time DiffMerge closes successfuly but not immediately, I must wait about 5-10 seconds. If I press it 4 times it closes after the same time but additionally I get above errors repeated 3 times.

If I have any files open in DiffMerge then in addition I get this:
Code: Select all
File 'C:\Users\<username>\AppData\Local\Temp\___DE05.tmp' couldn't be removed (error 2: the system cannot find the file specified.)

It's also repeated for each extra click of the close button.

While searching the web I stumbled upon this: http://forums.wxwidgets.org/viewtopic.php?f=23&t=3629, but as I've never used wxWidgets I don't know if it will be of any help.

And just one more question - is there any possibility to download older versions of the DiffMerge? Preferably as zip packages. Maybe some previous version would work on my system.

Posts: 534
Joined: Tue Jun 05, 2007 11:37 am
Location: SourceGear
PostPosted: Wed Sep 25, 2013 9:15 am
It took a little tinkering, but I was finally able to reproduce this.
I don't have any results to report yet, but I'm looking at it now
and hopefully will have a fix in 4.2 (which should be out in a
few weeks).

thanks
jeff

Posts: 5
Joined: Tue Sep 24, 2013 1:36 am
PostPosted: Wed Sep 25, 2013 11:59 pm
That's nice to hear. Thanks for your help.

Posts: 534
Joined: Tue Jun 05, 2007 11:37 am
Location: SourceGear
PostPosted: Thu Sep 26, 2013 6:17 am
i found the problem and have pushed up a fix.
This will be in the 4.2 release.

Just to be sure that the problem that I observed
is the same as what you are seeing. When you
see the problem is your network connection disabled,
very slow, or is there a DNS problem? What I observed
was that a DiffMerge thread was blocked on a network
request while checking for the availability of a new release.

Could you try launching DiffMerge with a single empty
window and then opening the "Tools | Check for Updates...".
You should initially get a "loading..." message. And then
either an error message or an up-to-date message.

You should see the hang while the loading message is up.
You should not see the hang when the other 2 messages
are up.

Thanks.
jeff


W0562

Posts: 5
Joined: Tue Sep 24, 2013 1:36 am
PostPosted: Thu Sep 26, 2013 6:48 am
It's definitely problem with automatic updates.

I opened the "Check for updates" window and waited till it finishes. It always ends with error: "Couldn't connect to server". But after it finishes the DiffMerge works correctly without any hangs. So to be sure I tried to delete the "DiffMerge/Revision/Check" key from the registry and it caused the error to reappear.

The problem on my side is that I'm on corporate network and we have some sites blocked. I guess that's why it cannot connect to the update server.

Anyway, I'm glad to hear that you fixed it.

Posts: 534
Joined: Tue Jun 05, 2007 11:37 am
Location: SourceGear
PostPosted: Thu Sep 26, 2013 7:44 am
thanks for the info.

jeff

Return to Support (DiffMerge)

Who is online

Users browsing this forum: No registered users and 5 guests