"An existing checkout operation has locked the workspace." Constantly happens.

Nearly everything I do in my project now, PlasticSCM will pop up an error telling me “An existing checkout operation has locked the workspace. Please wait for the checkout operation to finish.”.
Even after all changes are pushed, I’ll go to edit an asset and be confronted with this message. Often the changes will still happen, despite the message.
I tried importing an Asset from the store through the package manager, error happened again, despite the assets mostly seemingly being imported…

It’s seriously hampering my ability to do any work and I’m not sure how to solve it.
I tried creating a branch to work on instead. I tried deleting my project and downloading it from the cloud fresh, still happens… I seems like something is bugged in my repo somehow from the Collaborate transition, as it was a bit of a messy time getting it switched over.

I do recall seeing an error message when I redownloaded the project that was something along the lines of version control saying it failed to delete asset "" which does not exist which maybe is throwing a wrench in the system?

I’m on 2021.2.19f1 with version control 1.15.16 on Windows 10.

6 Likes

Hi @Invertex , I’m sorry you’ve been dealing with this error popping up. Usually, this message appears when trying to do an operation while a checkin is in progress for that workspace. During a checkin, the workspace is locked, with a “.lck” file added in the metadata folder “.plastic” located at the root of your project. Can you check if there’s a file there that hasn’t been cleared?

Hi Ryan, thanks for the reply.
There does not appear to be, all I see is .selector, .wktree and .workspace.

1 Like

I’m having this same issue, and happening multiple times a session, and requiring to kill the application.

Also no .ick file in the plastic directory.

Very odd. Could both of you please perform an operation again that triggers this error message and then send me the contents of your logs folder so that the Support Team can review them? You can find your logs in the
plastic4 directory (under $HOME/.plastic4 on Linux/Mac systems or C:\Users\user\AppData\Local\plastic4 on Windows).

I am also having that issue on Linux. Among a host of other plastic related problems.

I’m having a similar issue while upgrading from built-in rendering to URP. Log below. It almost looks like it’s taking too long to connect and then when it does, it gets confused by the state of things. This is with Unity 2022.1.0b16.3019, in case it matters. (Please note that I have done a search-and-replace on the project name for obfuscation. The actual project name is an alphanumeric string with no special characters or spaces.)

(Apologies for the long comment - it wouldn’t let me attach the log file itself after I edited it, so I’ve cut it down to what I’m hoping is the relevant bits.)

2022-04-26 11:58:13,716 DESKTOP-BKAULMF\andro ERROR PlasticPipe - Exception obtaining connection to VioletCrown@cloud. Failed to connect to useast4-00-cloud.plasticscm.com:8787 within the 3016 ms timeout. To increase the timeout, set SocketConnectTimeoutMillisec in client.conf. If the timeout happens during push/pull, configure server.conf.

2022-04-26 11:58:13,718 DESKTOP-BKAULMF\andro INFO InvokeMethodRetry - VioletCrown@cloud.GetTriggerList waiting 2000 ms before retrying the connection
2022-04-26 11:58:13,719 DESKTOP-BKAULMF\andro INFO InvokeMethodRetry - VioletCrown@cloud.GetTriggerList waiting 2000 ms before retrying the connection
2022-04-26 11:58:13,719 DESKTOP-BKAULMF\andro INFO InvokeMethodRetry - VioletCrown@cloud.GetTriggerList waiting 2000 ms before retrying the connection
2022-04-26 11:58:13,720 DESKTOP-BKAULMF\andro INFO InvokeMethodRetry - VioletCrown@cloud.GetTriggerList waiting 2000 ms before retrying the connection
2022-04-26 11:58:13,720 DESKTOP-BKAULMF\andro INFO InvokeMethodRetry - VioletCrown@cloud.GetTriggerList waiting 2000 ms before retrying the connection
2022-04-26 11:58:13,721 DESKTOP-BKAULMF\andro INFO InvokeMethodRetry - VioletCrown@cloud.GetTriggerList waiting 2000 ms before retrying the connection
2022-04-26 11:58:13,721 DESKTOP-BKAULMF\andro INFO InvokeMethodRetry - VioletCrown@cloud.GetTriggerList waiting 2000 ms before retrying the connection
2022-04-26 11:58:13,721 DESKTOP-BKAULMF\andro INFO InvokeMethodRetry - VioletCrown@cloud.GetTriggerList waiting 2000 ms before retrying the connection
2022-04-26 11:58:13,721 DESKTOP-BKAULMF\andro INFO InvokeMethodRetry - VioletCrown@cloud.GetTriggerList waiting 2000 ms before retrying the connection
2022-04-26 11:58:13,722 DESKTOP-BKAULMF\andro INFO InvokeMethodRetry - VioletCrown@cloud.GetTriggerList waiting 2000 ms before retrying the connection
2022-04-26 11:58:14,258 DESKTOP-BKAULMF\andro ERROR PlasticPipe - Exception obtaining connection to VioletCrown@cloud. One or more errors occurred. (Unable to write data to the transport connection: An established connection was aborted by the software in your host machine.
.)
2022-04-26 11:58:14,265 DESKTOP-BKAULMF\andro ERROR PlasticThread - Error when performing background operation: One or more errors occurred. (Unable to write data to the transport connection: An established connection was aborted by the software in your host machine.
.)
2022-04-26 11:58:14,266 DESKTOP-BKAULMF\andro ERROR PlasticThread - Inner exception: Unable to write data to the transport connection: An established connection was aborted by the software in your host machine.
.
2022-04-26 11:58:14,505 DESKTOP-BKAULMF\andro INFO InvokeMethodRetry - VioletCrown@cloud.GetTriggerList success after 1 retries
2022-04-26 11:58:14,619 DESKTOP-BKAULMF\andro ERROR ExceptionHandler - [LockStatusCache] Unexpected error: Unable to write data to the transport connection: An established connection was aborted by the software in your host machine.
.
2022-04-26 11:58:14,658 DESKTOP-BKAULMF\andro WARN filters - PathValueMatcher: Error parsing line: # Plastic SCM extensions file. Syntax: :.
2022-04-26 11:58:14,658 DESKTOP-BKAULMF\andro WARN filters - PathValueMatcher: Error parsing line: # Valid expressions are: ‘.cpp’, ‘myfile.cpp’ … (Metacharacters are allowed: ‘*’, ‘?’)
2022-04-26 11:58:14,659 DESKTOP-BKAULMF\andro WARN filters - PathValueMatcher: Error parsing line: # Examples:
2022-04-26 11:58:14,659 DESKTOP-BKAULMF\andro WARN filters - PathValueMatcher: Error parsing line:
2022-04-26 11:58:14,675 DESKTOP-BKAULMF\andro INFO pendingchanges - Time to retrieve the pending changes: 15 ms (searching: 15 ms, processingmoved: 0 (downloading: 0 ms, matching: 0 ms), splitting: 0 ms)
2022-04-26 11:58:14,675 DESKTOP-BKAULMF\andro ERROR PlasticThread - Error when performing background operation: An existing checkout operation has locked the workspace ‘_unity’. Please wait for the checkout operation to finish.
2022-04-26 11:58:14,735 DESKTOP-BKAULMF\andro INFO InvokeMethodRetry - VioletCrown@cloud.GetTriggerList success after 1 retries
2022-04-26 11:58:14,782 DESKTOP-BKAULMF\andro WARN Images - Image not found: iconchanged.png
2022-04-26 11:58:14,787 DESKTOP-BKAULMF\andro WARN Images - Image not found: iconchanged.png
2022-04-26 11:58:14,915 DESKTOP-BKAULMF\andro INFO InvokeMethodRetry - VioletCrown@cloud.GetTriggerList success after 1 retries
2022-04-26 11:58:14,926 DESKTOP-BKAULMF\andro ERROR PlasticThread - Error when performing background operation: An existing checkout operation has locked the workspace ‘_unity’. Please wait for the checkout operation to finish.

8080088--1044731--PlasticDir.png

An issue I discovered may be related. I posted here: Plastic SCM Checkout operations need a timeout in Unity Editor

Same issue here, happens each time I save my project, really annoying to work with that popping constantly.

Having this issue repeatedly and really interrupting my workflow. I was fine using the dedicated Plastic GUI alongside Unity but now it seems if I try to disable the unity plastic system it completely removes the workspace so I can’t use the Plastic GUI. So it seems I’m kinda forced to use the Unity Plastic GUI?

1 Like

Same for me, gets prompted like 50 times when downloading an asset… Im on 2021.3.0 LTS.
There is no lock file.

Makes it so asset doesnt work since it seem to block some files but not others. What a mess…

Hi everyone, I’m sorry for the delayed response. I spent some time investigating this issue over the previous week and found one way of reproducing it. I’d like to confirm if any of you have modified the lock rules for your cloud orgs, the rules that prevent other users from checking out an asset if it’s already checked out and matches one of the lock rules. Have any of you touched the lock rules, or not at all?

Also @silentslack , you should still be able to use the external Plastic GUI with your workspace after you remove the Version Control package from your project by uninstalling it in the Package Manager window. If you use the Turn Off Plastic SCM option in the Cog menu of the Plastic SCM window then this will delete your .plastic folder and your workspace settings, which I wouldn’t recommend using unless you no longer wish to keep using Plastic SCM.

I never touched those rules, didn’t even know they existed. The only thing I did online was try the “manual migration” page that they sent an email about.
Though I vaguely remember Collaborate saying something about the project becoming archived or locked maybe when trying to do the migration, but I can’t fully confirm that at this point.
I tried looking for the lock settings you speak of in the dashboard.unity3d.com, but can’t seem to find it? I tried going to the main organization page with all the Teams related stuff too and couldn’t find anything related to PlasticSCM settings.

On the Dashboard, if I go to Explore Services>Plastic SCM, it’s shows a big “Sign up for Free” though, which seems odd since I’m paying for Teams currently, don’t know if that’s indicative of an issue.

Edit: Ah, you have to go to the PlasticSCM site to see these rules… that’s a bit confusing, the Dashboard should at the very least clearly direct you towards that.
When I go to the Lock Rules page there, I do not see any lock rules set up.

1 Like

You’re right that we have work to make the Unity Dashboard for Plastic SCM clearer and that is a top priority for the Web Team. Thank you for confirming that you weren’t using custom lock rules that were the cause of the issue you are seeing.

I have a theory that perhaps long ping times from the Plastic SCM datacenter that cloud workspaces are hosted on could be related to the frequency of this error popping up. I’ve asked the team if there’s an easy way to find that out. In the meantime, could everyone provide the following additional details?

  • State and/or Country
  • Bandwidth speeds, both download and upload speeds (fast.com and similar network speed test sites can provide this)
  • Network type (Wired, Home/Office WiFi, Coffee Shop WiFi)

Canada, BC
55Mbps Up/Down, 14ms unloaded up/down, 107ms loaded download, 38ms loaded upload.
Home WiFi

1 Like

Thanks, @Invertex ! Could you also run the following command and paste the results here?

cm iostats ORGANIZATION_NAME@cloud --nettotalmb=128
(Replace ORGANIZATION_NAME with your Plastic cloud org name)

Upload speed = 17.14 Mbps. Time uploading 128MB = 59750ms.
Download speed = 45.77 Mbps. Time downloading 128MB = 22375ms.
Performing disk speed test on path: Please wait…
Disk write speed = 512 MB/s. Time writing 512MB = 1000 ms.
Disk read speed = 6564.102564102564 MB/s. Time reading 512MB = 78 ms.

1 Like

Watching this thread, as I have the same issues. I am working on Linux, in case this is a factor. Let me know if I can provide any further information.

1 Like

We have a fix for this issue validated and it should be available in the next release (within 1-2 weeks).

4 Likes

This is a joke. I constantly get the message from the title AND “failed to connect” dialog that’s undismissable. It’s blocked me from a full days work today.

How obnoxious is it to create an alert dialog instead of a console message and then make it spam again every frame.

Why the hell is Plastic constantly running operations anyway. “Fetching changes” for four minutes after every change is also obnoxious when I’m not even doing anything with version control…

1 Like