Consistent crash with RevertClientProperty

Case A

Steps to reproduce

  1. Drag a mesh into your world.

  2. Add a new script to the entity, and call it concurrencyScript.

  3. Add a new method ClientInit() with the following content:

    function ConcurrencyScript:ClientInit()
    	self:GetEntity().visible = false
    	self:Schedule(function ()
    		Wait(3.0)
        self:GetEntity():RevertClientProperty('visible')
    	end)
    end
    

Expected result

The visible value is reset to true.

Actual result

Crash.

Reproducibility

5/5

Case B

Steps to reproduce

  1. Drag a mesh into your world.

  2. Add a new script to the entity, and call it concurrencyScript.

  3. Add a new method ClientInit() with the following content:

    function ConcurrencyScript:ClientInit()
      self:Schedule(function ()
          Wait(3.0)
          self:RevertClientProperty('nonExistingProperty')
      end)
    end
    

    Note: The property nonExistingProperty is not declared.

Expected result

Nothing happens, or an error message in the console saying the property does not exist.

Actual result

Crash.

Reproducibility

5/5

Many thanks foe the clear repro case. The first scenario is now bugged up, and the second has been fixed to go into a biuld soon. :+1: