SOS hangs during a get (and never succeeds)

If you are having a problem using SourceOffSite, post a message here.

Moderator: SourceGear

Post Reply
Guest

SOS hangs during a get (and never succeeds)

Post by Guest » Mon Feb 07, 2005 11:08 am

Hello, during a get of certain older versions of some files, the get just hangs and never completes. It only happens with certain versions of certain files (Rt. click, show history, select older version, and get). (It works fine using SS.)

The SOS log file says, "Exception getting file. An item with the name $/<ProjectPath> already exists."

We have SourceOffSite version 4.0.2 and I have reproduced the problem with client versions 4.0.2 and 3.5.2. SourceSafe on the server is version 6.0d (Build 31222 - which comes with Visual Studio 6.0 Service Pack 6). So the ssapi.dll is version 6.0.31222.0. I tried changing HKEY_CLASSES_ROOT\CLSID\{783CD4E4-9D54-11CF-B8EE-00608CC9A71F}\InprocServer32 "ThreadingModel" Key to "Both"and restarting the service but that did not fix the problem.

Any ideas?

Thank you,
mmcbride

mmcbride
Posts: 7
Joined: Wed Dec 15, 2004 10:21 am

Post by mmcbride » Mon Feb 07, 2005 11:20 am

I thought I was logged in when I posted this, but it showed up under Guest. It was me.

mmcbride

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Wed Feb 09, 2005 9:40 am

The change of threading model to Both should only be used if you have VSS 6.0d with ssapi.dll version ending in 98.48.

I believe that Microsoft fixed the threading bug in later versions of 6.0d.
They were very helpful in working with SourceGear to fix the change in threading that affected SOS.

A hang in gets from history sounds like minor database corruption. Do you run Analyze regularly on you database?

http://support.sourcegear.com/viewtopic.php?t=50

I suggest this as a first step.
Linda Bauer
SourceGear
Technical Support Manager

mmcbride
Posts: 7
Joined: Wed Dec 15, 2004 10:21 am

Post by mmcbride » Wed Feb 09, 2005 10:27 am

Hello, thanks for the information. I will go ahead and change the registry key back and restart the service.

Regarding the SS analysis, we do analyze all of our SourceSafe databases weekly as suggested (2 passes with the first one running with the fix parameter). Unfortunately during the last analyze one of the files was open (apparently someone accidently left SS open), so I will try to run it again to see if there are any errors this week.

Thank you,
mmcbride

mmcbride
Posts: 7
Joined: Wed Dec 15, 2004 10:21 am

Post by mmcbride » Mon Mar 07, 2005 2:11 pm

Hello,

I have fixed the registry key (and restarted the SOS service). I have run analyze with all of the recommended options on the SS database in question and all errors/information messages have been resolved. A SS analyze log file with level v3 logging shows no errors. However we are still seeing the same problematic SOS behavior: with certain files, we are still not able to get some older versions (it just hangs). Is there anything else we can do to resolve this?

Thank you,
mmcbride

Guest

Post by Guest » Mon Mar 07, 2005 2:39 pm

Were you able to resolve this issue? We have the same problem.

thanks

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Mon Mar 07, 2005 2:42 pm

Did Analyze report no errors?

Can you get these files from history with VSS?

Try the operation that's failing and send me a copy of the log.txt file from the SOS Server directory.
Linda Bauer
SourceGear
Technical Support Manager

mmcbride
Posts: 7
Joined: Wed Dec 15, 2004 10:21 am

Post by mmcbride » Tue Mar 08, 2005 1:52 pm

Analyze reported no errors.

I can get the files from history with VSS.

I have emailed a copy of the SOS log file and included a link to this post.

Thank you!
mmcbride

LarryH
Posts: 18
Joined: Thu Jul 21, 2005 9:58 am

Post by LarryH » Thu Jul 21, 2005 10:06 am

I am not sure if this is the same issue or a different issue, but when I do a get latest on a project with subprojects things proceed very fast and then pause for a while and then proceed slowly, with additional long pauses. I enabled Verbose Logging; here is an excerpt:

7/21/2005 11:49:43 AM - 1: Ignore remote dates = False
7/21/2005 11:49:43 AM - 1: GetFileList project: $/PEI Product Data/Software/Proteus
7/21/2005 11:49:48 AM - 1: Time to execute: 0 minutes, 4 seconds, 718 milliseconds.
7/21/2005 11:49:48 AM - 1: Received message number 102.
7/21/2005 11:49:48 AM - 1: Ignore remote dates = False
7/21/2005 11:49:48 AM - 1: GetFileList project: $/PEI Product Data/Software/Proteus/bin
7/21/2005 11:49:50 AM - 1: Time to execute: 0 minutes, 2 seconds, 203 milliseconds.
7/21/2005 11:49:50 AM - 1: Received message number 102.
7/21/2005 11:49:50 AM - 1: Ignore remote dates = False
7/21/2005 11:49:50 AM - 1: GetFileList project: $/PEI Product Data/Software/Proteus/bin/Debug
7/21/2005 11:51:15 AM - 1: Time to execute: 1 minutes, 25 seconds, 295 milliseconds.
7/21/2005 11:51:15 AM - 1: Received message number 102.
7/21/2005 11:51:15 AM - 1: Ignore remote dates = False
7/21/2005 11:51:15 AM - 1: GetFileList project: $/PEI Product Data/Software/Proteus/bin/Reference
7/21/2005 11:52:34 AM - 1: Time to execute: 1 minutes, 18 seconds, 311 milliseconds.
7/21/2005 11:52:34 AM - 1: Received message number 102.
7/21/2005 11:52:34 AM - 1: Ignore remote dates = False
7/21/2005 11:52:34 AM - 1: GetFileList project: $/PEI Product Data/Software/Proteus/bin/Release
7/21/2005 11:54:25 AM - 1: Time to execute: 1 minutes, 51 seconds, 186 milliseconds.
7/21/2005 11:54:25 AM - 1: Received message number 102.
7/21/2005 11:54:25 AM - 1: Ignore remote dates = False
7/21/2005 11:54:25 AM - 1: GetFileList project: $/PEI Product Data/Software/Proteus/CommonAppData
7/21/2005 11:54:29 AM - 1: Time to execute: 0 minutes, 4 seconds, 390 milliseconds.
7/21/2005 11:54:29 AM - 1: Received message number 102.
7/21/2005 11:54:29 AM - 1: Ignore remote dates = False
7/21/2005 11:54:29 AM - 1: GetFileList project: $/PEI Product Data/Software/Proteus/CommonAppData/Registry Data
7/21/2005 11:54:33 AM - 1: Time to execute: 0 minutes, 3 seconds, 374 milliseconds.
7/21/2005 11:54:33 AM - 1: Received message number 102.
7/21/2005 11:54:33 AM - 1: Ignore remote dates = False
7/21/2005 11:54:33 AM - 1: GetFileList project: $/PEI Product Data/Software/Proteus/CommonAppData/Registry Data/Individual Items
7/21/2005 11:54:46 AM - 1: Time to execute: 0 minutes, 13 seconds, 327 milliseconds.
7/21/2005 11:54:46 AM - 1: Received message number 102.
7/21/2005 11:54:46 AM - 1: Ignore remote dates = False
7/21/2005 11:54:46 AM - 1: GetFileList project: $/PEI Product Data/Software/Proteus/Proteus.Setup
7/21/2005 11:54:52 AM - 1: Time to execute: 0 minutes, 5 seconds, 812 milliseconds.

As you can see some of the GetFileList take well over a minute, while others complete in a few seconds. While some of the projects which take longer do have more files (and larger files) it all seems unreasonably slow.

I am currently working with a client and server machine in the same building connected with a 100MHz LAN. The connection is using encryption; both machines are running Win XP SP2. I changed the ssapi.dll threading model to "Both" (and yes it's version # ends in 98.48. Nothing else is running on either client or server machine.

Both client and server are 4.1. I downloaded them both a few days ago. (I am a new user.)

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Fri Jul 22, 2005 2:08 pm

The time for the Get File List would vary depending on the size of the file list.

Are you by chance running real-time anti-virus scanning on the SOS Server machine? This can greatly impact on performance.

You might want to checkout this KB article for tips on improving SOS performance:
http://support.sourcegear.com/viewtopic.php?t=2575
Linda Bauer
SourceGear
Technical Support Manager

LarryH
Posts: 18
Joined: Thu Jul 21, 2005 9:58 am

Post by LarryH » Fri Aug 12, 2005 10:08 am

Thank you. I was indeed running realtime antivirus; after disabling this performance is quite acceptable. However, I am seeing another issue when doing a Get Latest Version (recursive) on a large project tree:

After completing the get (i.e. the last folder appears with "Received file list" in the output window), the Client GUI does not seem to know that it is done. The hourglass cursor remains and most menus are disabled. I need to "Stop Current Operation" to get the client out of this state, at which point it attempts to reconnect to the server.

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Fri Aug 12, 2005 4:43 pm

Is there anything in the server log.txt file that corresponds to the hang?

Is it possible the connection was closed by a third party, such as a firewall?
Linda Bauer
SourceGear
Technical Support Manager

LarryH
Posts: 18
Joined: Thu Jul 21, 2005 9:58 am

Post by LarryH » Fri Aug 12, 2005 9:40 pm

lbauer wrote:Is there anything in the server log.txt file that corresponds to the hang?

Is it possible the connection was closed by a third party, such as a firewall?
I don't think so, Linda.

It does not appear that the connection was closed; the GUI just sat there with the hourglass. I am attaching the log file; there were two operations in this log: a big tree diff and then a big tree get. At the end you can see where I manually shut down the server but this was after the hang.
Attachments
log.txt
(161.75 KiB) Downloaded 849 times

Post Reply