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)
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.
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.
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:
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:
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.