Reproduction Steps
Attached below is a place file with a contraption that will fall asleep at random. Run the file to activate the contraption. The physics assembly will cycle through a few motions that repeat indefinitely. A video showing the problem is also attached below. In the video, the physics assembly will fall asleep after only 3 cycles. However, it usually takes at least a minute or two before the mechanism locks up. If it takes too long, consider duplicating the models a few times to make the issue appear faster.
sleep_bug.rbxl (39.2 KB)
The physics parts falling asleep seem to be tied to the usage of the PrismaticConstraint. Whenever the TargetPosition property is set of one of the PrismaticConstraint objects in the contraption, there is a chance that the whole assembly will fall asleep.
Expected Behavior
I expect the motion of the contraption in the video above to repeat itself indefinitely. I do not expect the mechanism to lock up at random.
Actual Behavior
After a short while the contraption will lock up and the physics parts will fall asleep. When exactly this happens differs per run. The location of the mechanism locking up also differs per run, but it always seems to be right before the mechanism starts moving along one of its PrismaticConstraints. Sometimes the physics parts fall asleep within a minute / a few full cycles. Other times it may take a few dozen cycles before the physics parts fall asleep.
Workaround
The work-around is to slightly change the CFrame of one of the parts in the assembly whenever the mechanism locks up. This will force the assembly to make up and continue as normal (until it freezes up again).
Issue Area: Engine
Issue Type: Other
Impact: Moderate
Frequency: Constantly
Date First Experienced: 2023-02-26 00:02:00 (+01:00)
Date Last Experienced: 2023-03-16 00:03:00 (+01:00)