Streaming Error 'No workspace or streaming enabled not active'

Reproduction Steps
This issue occurs seemingly at random. When using Player::RequestStreamAroundAsync, it will sometimes error with ‘No workspace or streaming enabled not active’ even though streaming is enabled. I cannot reproduce it in studio, I only picked up on this as any server errors are logged. The first instance of this occurring is September 27th, 2021 around 9:45 PM EST.

Expected Behavior
I expect the function to not error seemingly at random, or at least produce some meaningful error message.

Actual Behavior
The function errors at random.

Issue Area: Engine
Issue Type: Other
Impact: Moderate
Frequency: Often
Date First Experienced: 2021-09-27 21:09:00 (-04:00)
Date Last Experienced: 2021-10-04 00:10:00 (-04:00)

3 Likes

Can you give us any more information on this? What place is this occurring on? Are you calling RequestStreamAroundAsync on the server or the client? Are you using a custom replication focus or anything unusually (that you know of)?

Sure, this is occurring at my game here. It occurs sometimes when calling RequestStreamAroundAsync from the server. I no longer set a custom ReplicationFocus since the blocking issue was fixed awhile back. This is the exact code that errors:

function RespawnManager:RespawnAtSpawnAsync(player: Player, spawnLocation: SpawnLocation) : ()
	player.RespawnLocation = spawnLocation;
	player:RequestStreamAroundAsync(spawnLocation.Position, 5); -- This line errors
	player:LoadCharacter();
	player.RespawnLocation = nil;
end

Just to update you, this hasn’t occurred in about 3 days now. I’m not sure if an update or FFlag solved it. I will mark this post as solved if it doesn’t occur for an entire week.

Thanks for the update. Please let me know if you see this again. Most likely it was an FFlag that was enabled and then turned off.

1 Like

That error just happened in my game server.
I am using custom replication focus, but that should not have anything to do with the problem because I am requesting a stream around position (Vector3) on a server.

Would you mind sharing the relevant code that requests the stream? Private message is fine if you prefer.

Sure. When player vehicle (tank) dies, after some delay, I teleport the player back to the lobby, without any vehicle. To achieve that, I do the following: on server, I request streamAroundAsync for the player around the lobby primary part, Then I let the player client machine know that he needs to go back to lobby, consequently, on client I set replication focus to the lobby main part.
This is the server code when player has to teleport back to lobby:

StreamSupport.streamRequestPart(Player,workspace.Lobby.MainPart)

this is the relevant snippet from StreamSupport module implementation:

local STREAMING = workspace.StreamingEnabled

function module.streamRequestPos(player,pos)
	if not STREAMING then
		return
	end
	player:RequestStreamAroundAsync(pos)
end

function module.streamRequestPart(player,part)
	module.streamRequestPos(player,part.Position)
end

EDIT:
I don’t know what happened on client as it happened to other player, I just saw the error on server log

After some digging, I found that I was doing the following on client first thing when game loaded:

local lobbyPart = workspace:WaitForChild("Lobby"):WaitForChild("MainPart")

that works fine with streaming, tank spawns, I set replication focus to tank primary part, and then when the tank dies, going back to lobby, what I was doing is:

Player.ReplicationFocus = lobbyPart

instead of

Player.ReplicationFocus = workspace.Lobby:WaitForChild("MainPart")

Because the lobby part I saved as a local variable, might not be streamed in every time I set replication focus to it.

However, this was all client side so I doubt that would be the cause for the server error?

1 Like

Hello @Cuyler,

Is this issue still occurring for your experience? We made some improvements to our error logging so the messages should be different and now call out the actual issue. Hopefully this has been resolved for you and I can close out this post. But if there are any lingering issues I’m happy to take a look and investigate.