Search Unity

Bug Saving a prefab freezes the editor indefinetely if the PlasticSCM tab is open

Discussion in 'Unity Version Control' started by FadiBotoros, Oct 7, 2022.

  1. FadiBotoros

    FadiBotoros

    Joined:
    Apr 1, 2022
    Posts:
    4
    There is a breaking bug which hampers production for all team members when working with plastic in unity.

    Unity: 2020.3.40f1
    Version Control: 1.17.2
    PlasticSCM: 11.0.16.7460


    Issue is very simple, if you save a prefab while the PlasticSCM tab is open (does NOT have to be in focus) in the editor triggers ProjectBrowser.OnGUI.Repaint in very strange intervals. Sometimes it could happen instantly after opening the editor, sometime it happens after you save 2-3 times, sometimes it happens after 5-10 times, but it will ALWAYS happen no matter what without any fault, its a ticking time-bug waiting to happen.

    plasticeditorfreezebug.png

    The ONLY workaround that I found which have been implemented team-wide is to NOT have the PlasticSCM tab open in the editor i.e. Rightclick (PlasticSCM) -> Close Tab. This solves the issue and this never happens. As soon as you open the PlasticSCM tab, the bug may happen at the prev. mentioned intervals.

    While writing this message the message is still up and the editor is not responsive and still stuck.

    plasticeditorfreezebug2.png

    I searched the forums and found that this bug may have been present and fixed earlier but only for the case of launching the editor where PlasticSCM could get stuck if certain conditions had been met (Not being logged in, loosing internet connection etc.)

    However this is not fixed and I have seen no mention of this bug in the forums. This happens for all team members (10+) if the PlasticSCM tab is open.
     
  2. ollieblanks

    ollieblanks

    Unity Technologies

    Joined:
    Aug 21, 2017
    Posts:
    460
    Hey @FadiBotoros,

    Thanks for reporting this. Unfortunately, I have been unable to reproduce this behaviour. In the below screenshot, you can see I have created a simple prefab from the Main Camera object in the sample scene, and any changes I make to this prefab are saved automatically and displayed as a change in the Plastic SCM window. Is there something I have done wrong with my reproduction steps?
    upload_2022-10-14_10-14-47.png

    I used version 1.17.2 of the package as you have reported, but I notice that there is a newer version (1.17.6) available for this Unity version. Can you please update to this version and confirm whether the issue persists?
     
  3. FadiBotoros

    FadiBotoros

    Joined:
    Apr 1, 2022
    Posts:
    4
    Issue still persists on Version Control Package 1.17.6

    projectbrowserbug.png

    As mentioned in my original post, this does not always happen. Sometimes it happens instantly sometimes it happens after a few tries. This bug just happened because I accidentally left the PlasticSCM tab open and was in the process of moving a gameobject in the scene and pressing Ctrl-S (not modifying a prefab).

    Usually the fastest way to reproduce the issue is to (very quickly) make changes and save them without giving the editor time to refresh. This forces the editor to freeze like this. I tried to reproduce this bug multiple times after it having triggered already and I had to force close the editor in task manager but it was not possible to reporoduce. So it may have something to do with executing a specific set of actions before it triggering.
     
  4. FadiBotoros

    FadiBotoros

    Joined:
    Apr 1, 2022
    Posts:
    4
    So this just happened as the first thing when launching unity today and saving a change made to a prefab.
    It seems like a different process froze up the editor but the behavior is consistent with the previous one "ProjectBrowser.OnGUI.repaint"

    inspectorwindowrepaintfreeze.PNG
     
  5. ollieblanks

    ollieblanks

    Unity Technologies

    Joined:
    Aug 21, 2017
    Posts:
    460
    Are you able to share your Editor log after reproducing the issue?

    You may also find some useful information in the unityplastic.debug.log (Version Control plugin log) found here: %localappdata%\plastic4\logs\
     
  6. firelight_jaden

    firelight_jaden

    Joined:
    Aug 9, 2022
    Posts:
    6
    I've been running into this issue as well. I checked my logs and found an error (pasted below). The exclusive checkout error is strange because my PlastiSCM user is the one whom has it exclusively checked out. I redacted my email in the logs.

    PlasticSCM: 11.0.16.7411
    Unity3D: 2021.3.7f1
    Version Control: 1.17.6


    2022-12-06 23:04:59,678 FALCON-ONE\jaden DEBUG CmProxy - Error invoking LockItems. These items are exclusively checked out by:
    /Assets/_prefabs/Entities/Interactables/Openables/Cabinet.prefab (wk:hazmats:d799898b-77e6-4942-8b27-cffddf4165af owner:redactedemail@gmail.com)
    .
    at PlasticPipe.PlasticProtocol.Client.ClientTransport.SendAndWait (PlasticPipe.PlasticServer plasticServer, PlasticPipe.PlasticProtocol.Messages.PlasticMethods method, Codice.CM.Common.Credentials creds, PlasticPipe.PlasticProtocol.Messages.INetworkMessage msg, PlasticPipe.PlasticProtocol.Messages.INetworkMessage response, System.Boolean bRetryWriteMethod, Codice.Utils.Buffers.FlexibleBufferPool lz4BufferPool, PlasticPipe.PlasticProtocol.Client.ClientTransport+INegotiateActiveDirectory negotiateActiveDirectory, System.Int32 connTimeoutMsec, PlasticPipe.PlasticProtocol.Client.ClientTransport+IResolveCloudServer resolveCloudServer) [0x00342] in <1e51439243a4446392211eb63cd2b663>:0
    at PlasticPipe.PlasticProtocol.Client.ClientTransport.SendAndWaitWithRetry (PlasticPipe.PlasticServer server, PlasticPipe.PlasticProtocol.Messages.PlasticMethods method, Codice.CM.Common.Credentials creds, PlasticPipe.PlasticProtocol.Messages.INetworkMessage msg, PlasticPipe.PlasticProtocol.Messages.INetworkMessage response, Codice.Utils.Buffers.FlexibleBufferPool lz4BufferPool, PlasticPipe.PlasticProtocol.Client.ClientTransport+INegotiateActiveDirectory negotiateActiveDirectory, System.Int32 connTimeoutMsec, PlasticPipe.PlasticProtocol.Client.ClientTransport+IResolveCloudServer resolveCloudServer) [0x00158] in <1e51439243a4446392211eb63cd2b663>:0
    at PlasticPipe.PlasticProtocol.Client.ClientTransport.InvokeMethod (PlasticPipe.PlasticServer server, PlasticPipe.PlasticProtocol.Messages.PlasticMethods method, Codice.CM.Common.Credentials creds, PlasticPipe.PlasticProtocol.Messages.INetworkMessage msg, PlasticPipe.PlasticProtocol.Messages.INetworkMessage response) [0x00008] in <1e51439243a4446392211eb63cd2b663>:0
    at Codice.Client.Common.Connection.PlasticProtocolCmProxy+PlasticProtocolMethodInvoker.DoInvokeMethod (PlasticPipe.PlasticServer server, Codice.CM.Common.Credentials creds, System.Exception& ex) [0x00002] in <1e51439243a4446392211eb63cd2b663>:0
    2022-12-06 23:04:59,678 FALCON-ONE\jaden DEBUG CmProxy - InvokeRemoteMethod failed. Server = Firelight@cloud. Error = These items are exclusively checked out by:
    /Assets/_prefabs/Entities/Interactables/Openables/Cabinet.prefab (wk:hazmats:d799898b-77e6-4942-8b27-cffddf4165af owner:redactedemail@gmail.com)
    . retryOn = Authentication, HostUnreachable, ServerCertificate
    2022-12-06 23:04:59,679 FALCON-ONE\jaden DEBUG WorkspaceTree - Clean() WkId d799898b-77e6-4942-8b27-cffddf4165af
    2022-12-06 23:04:59,747 FALCON-ONE\jaden DEBUG ChannelCall - protocol:plasticproto sec:ssl sentb: 769|sendt: 0|recb: 3716|rect: 300|prt: 401|sert: 330|dest: 0|zip: 0| Firelight@cloud|GetBranchInfoByName
    2022-12-06 23:04:59,748 FALCON-ONE\jaden DEBUG PlasticPipe - prt: 406|GetBranchInfoByName |Firelight@cloud
    2022-12-06 23:05:00,222 FALCON-ONE\jaden DEBUG WorkspaceStatus: DiskChangesSearcher - Process changes: 860
    2022-12-06 23:05:02,740 FALCON-ONE\jaden DEBUG WatcherFsNodeReader - FsWatcher. Event path:'d:\Firelight\hazmats\.plastic' type:Changed
    2022-12-06 23:05:02,740 FALCON-ONE\jaden DEBUG WatcherFsNodeReader - FsWatcher. Event path:'d:\Firelight\hazmats\.plastic\plastic.trees.lck' type:Created
    2022-12-06 23:05:02,740 FALCON-ONE\jaden DEBUG WatcherFsNodeReader - FsWatcher. Event path:'d:\Firelight\hazmats\.plastic' type:Changed
     
  7. sacb0y

    sacb0y

    Joined:
    May 9, 2016
    Posts:
    874
    Oh is this whats happening? I will try closing that window.
     
  8. sacb0y

    sacb0y

    Joined:
    May 9, 2016
    Posts:
    874
    I think this might actually be a thing, I had unity freeze in this same way multiple times after editing two prefabs. And now i've edited like 10 with no issue.

    I'm using 2021.3.14
     
  9. IOU_RAY

    IOU_RAY

    Joined:
    Jul 25, 2017
    Posts:
    127
    It's of course up to preference, but anything 'in' unity is always going to be a buggy mess. I lost all faith with any built-in version control after collab.

    I run Plastic SCM externally and find it a far more confident setup, so it's tracking changes without any reliance on the editor. Not to mention dealing with plastic scm UI in the editor just feels clunky.

    upload_2023-2-24_2-50-27.png

    This isn't a solution obviously as it doesn't fix the built-in plugin; just sharing my experience in using the external version solely, which has been pretty solid.
     
  10. ollieblanks

    ollieblanks

    Unity Technologies

    Joined:
    Aug 21, 2017
    Posts:
    460
    Unfortunately, attempts at reproducing this have been in vain. Im guessing there is something specific within your lock rules. If you have a reproduction case for this, so that we can attempt a fix, please can you share it with us via a support ticket?
     
  11. sacb0y

    sacb0y

    Joined:
    May 9, 2016
    Posts:
    874
    I'll try when i have time, so far I haven't had the tab up for the past few days and not a single freeze.
     
  12. FadiBotoros

    FadiBotoros

    Joined:
    Apr 1, 2022
    Posts:
    4
    I reported this to our assigned ISS rep who brought this forward to the Plastic team, they were able to reproduce the bug and seem to have uploaded a silent fix (not mentioned in the changelog) with the latest version control package 2.0.1. It may have resolved this issue but I have not tested it extensively to make sure. However I have not experienced any freezes since updating it today.
     
  13. ollieblanks

    ollieblanks

    Unity Technologies

    Joined:
    Aug 21, 2017
    Posts:
    460
    As stated by @FadiBotoros, this is now fixed in version 2.0.1. Thanks to everyone who reported this and helped us track it down.
     
    firelight_jaden and sacb0y like this.
  14. sacb0y

    sacb0y

    Joined:
    May 9, 2016
    Posts:
    874
    Awesome! 2.0.1 doesn't seem to have appeared on my end yet, Unity 2021.3.14.