Cloud MRS Timeout issue

Description, details and error message(s)

If a room times out in a cloud MRS environment, something is going wrong with the scene in Cloud, and future rooms that are created are not creating a simulator.

I did a very basic test where I created/joined a room, waited for room to timeout, then tried to create another room. The 2nd room does not instantiate a sim when I connect to it for unknown reason.

In screenshot, you can see where 1st connection is made and sim is created. I disconnected right away.

The room seems to go away after ~2minutes, at which point, sim is destroyed and CoherenceScene tries to reconnect and fails.

After this, I create a 2nd room and join. I connect on client and client object is created, but sim does not appear on client. Also, the MRS logs for the room do not have a 2nd “sim awake”, indicating a simulator object is never created upon 2nd connection as is done in the first.

Expected behaviour

I should be able to leave a room, have it timeout, then create another room some time later and it works as expected.

How to reproduce

  1. Setup base MRS scene with client and simulator object then upload to cloud
  2. Create and join room on cloud, then disconnect after joining
  3. Wait for room to automatically timeout on cloud (~2m it seems)
  4. Create and join a 2nd room, simulator object will not be created

Environment

SDK: 1.0.5
Unity: 2022.3
OS/Platform: Win10

1 Like

Thanks for the report, @Neodamus! We not got our eyes on this :eyes:

Hey again Neodamus!

I’ve been trying really hard to reproduce this but I can’t.

I’ve searched through the logs for the very moment in time this issue happened for you, but there’s nothing indicating any problems. Sadly, it is Simulator that holds the critical information but it has very sparse logging. I’ll make sure that it gets improved.

In the meantime, could you verify if it is still happening for you?

2 Likes

Yes, still happening for me.

I was experiencing this issue consistently and predictably in my test project, so I tested in a barebones project and got the same result.

I could put this project on bitbucket, but I feel like its kind of a waste to do that because I’m testing on about as basic of a project as you can get.

Starting with empty project:

  • I added all base components needed for MRS, per MRS Wizard – Bridge, LiveQuery, Scene, and MRS
  • I set the client and simulator prefab in Bridge
  • I set the “Scene Name” in the MRS component to be the scene I setup – “Game”

This is all I’ve done, which seems like the absolute minimum to get a project running.

The only thing I can think is that maybe you’re testing on a Cloud account with different settings, that maybe has different auto-timeout configuration? I tried looking for a setting in the developer portal to increase the time it takes for a room to timeout (purely for testing), but it does not appear to be exposed.

Maybe when you test, you can use my account to upload to (doesn’t hurt me any) and see if you experience the issue that way.

I’ll also add before I ran into this timeout issue, I was testing room stability, and I stayed connected to a room for ~1h without any issues at all. It was only when I left that room without a client that the issue appeared.

This feels like it’s an issue in how the Cloud is being managed on the backend to me based on current evidence/results.

I’ve used the very settings from your project, including region. No success.

Could you make a Simulator build with debug logging turned on? To do so, add a COHERENCE_LOG_DEBUG symbol to the Dedicated Server build settings:

I added the define and recreated the error in room 180048

1 Like

The problem was caused by Simulator falling back to TCP transport, which is blocked on a base tier.

As a temporary workaround, UDP transport can be enforced via RuntimeSettings:
image

We’ll be removing transport fallback for cloud Simulators in the next release.

Thanks a bunch for reporting and troubleshooting this!

2 Likes