Roblox client process carries on in background when closed after crash

Whenever you crash and then close Roblox, the game client still remains ongoing in the background. You can check this by opening up task manager and seeing it under Background processes. The only way to fully stop it is by ending the task from the task manager, or waiting around one minute until it stops by itself.

This is annoying because if there was music going on while you crashed, you’ll continue to hear that music until the process ends. It’s also annoying because if you try to join another game, you’ll get a message saying “You are already playing a game” and you’ll be forced to leave.

I have no idea when this started happening. Ever since the beginning of Roblox? It does however happen 100% of the time as far as I’ve seen. To reproduce the bug, all you have to do is crash. Download the following rbxl file to try it out for yourself. Once you’re in the game, open the console and go to the server section. Wait a few seconds after you freeze, then close the application, and you should still hear the music playing and see Roblox in background processes of task manager.
crash.rbxl (13.2 KB)

Or if you'd rather not download the file, here's the script
function a()
    spawn(function()
        while true do
            wait()
            print("a")
        end
    end)
    spawn(function()
        while true do
            wait()
            print("a")
        end
    end)
    spawn(function()
        while true do
            wait()
            print("a")
        end
    end)
    spawn(function()
        while true do
            wait()
            print("a")
        end
    end)
    spawn(function()
        while true do
            wait()
            print("a")
        end
    end)
    spawn(function()
        while true do
            wait()
            print("a")
        end
    end)
    spawn(function()
        while true do
            wait()
            print("a")
        end
    end)
    spawn(function()
        while true do
            wait()
            print("a")
        end
    end)
    spawn(function()
        while true do
            wait()
            print("a")
        end
    end)
    spawn(function()
        while true do
            wait()
            print("a")
        end
    end)
    spawn(function()
        while true do
            wait()
            print("a")
        end
    end)
    spawn(function()
        while true do
            wait()
            print("a")
        end
    end)
    spawn(function()
        while true do
            wait()
            print("a")
        end
    end)
    spawn(function()
        while true do
            wait()
            print("a")
        end
    end)
    spawn(function()
        while true do
            wait()
            print("a")
        end
    end)
    spawn(function()
        while true do
            wait()
            print("a")
        end
    end)
    spawn(function()
        while true do
            wait()
            print("a")
        end
    end)
    spawn(function()
        while true do
            wait()
            print("a")
        end
    end)
    spawn(function()
        while true do
            wait()
            print("a")
        end
    end)
    spawn(function()
        while true do
            wait()
            print("a")
        end
    end)
    spawn(function()
        while true do
            wait()
            print("a")
        end
    end)
    spawn(function()
        while true do
            wait()
            print("a")
        end
    end)
end

while true do
    wait()
    a()
end

My device isn’t the most powerful, it’s just a £200 laptop, so it may take a bit more to crash you if you have a more powerful device.

37 Likes

This problem has still not been solved. Earlier today, I was also experiencing this problem.

Somehow I’ve waited around 30 minutes and the problem still doesn’t stop. But ending the process for sure does work.

For me, I just left the game and this problem started occurring. My device or the game didn’t crash, neither did I get kicked out; I left the game and this problem started occurring.

Also for me, when I join another game, both music just overlap each other; hope this problem gets fixed soon!

18 Likes

This is still happening and I have no idea on how to fix it! The game doesn’t even have to crash for me. When I leave the game it just keeps playing (all the audio and stuff) so I have to open up task manager all the time. Why is this still happening?

12 Likes

This is still happening, ridiculous.

12 Likes

This isn’t actually a bug at all, it’s more of a technical limitation.


If Roblox freezes, it cannot fully close because the engine is already busy doing other things, so it never gets to run its close hook. In most cases if Roblox is frozen it isn’t a crash, it’s a result of something in the engine using up all the resources and never allowing Roblox to continue to do something else like close (i.e. in your case a ridiculously expensive script).

Your reproduction code does not actually cause a crash at all, it is simply exhausting the client’s resources endlessly, thus, Roblox can never process its close hook, because it’s too busy doing all these expensive loops.

This is very similar to just doing this and trying to close the client:

while true do end

It won’t close at all.

Your repro might still seem like it allows the client to start closing, but, really, you’ve likely only given it enough resources to simply hide the window.

2 Likes

My Roblox game crashes every time I leave a game and I’m left with no choice but to forcefully close the Roblox application via Task Manager to play again.

17 Likes

Even baseplate without scripts huh? That’s a bug.

3 Likes

my Roblox is also having the same issue every time I close Roblox it’s still running in the background having to force close it in Task Manager, and sometimes a crash message popups

2 Likes

Then Roblox is actually probably still like… saving log messages or sending some information to a server, the crash message should mean that Roblox is still actually doing something important.

The Roblox tabs stay open in task manager even after having the game closed for a few hours, it shouldn’t take them that long to do that “important” stuff while it never use to do that, nor does any other app do it. nor am I the only one having this issue

4 Likes

Is this happening on every game? Are you on the Roblox UWP version? For me (on Roblox UWP, not the web version) Roblox closes fully after about 6 or so seconds.

2 Likes

Yes every game and I have no idea I am clicking from the web browser (Firefox) but I believe it now uses another app to play Roblox, comes up with that annoying “back to home” message popup when you click X (I click it 2 times for the app to close) but mine stays open in task manager leaving me to force close it in task manager each time.

2 Likes

Yes… Even baseplate without scripts… It still genuinely isn’t a bug, and I explained why.

The reproduction steps in the original post requires inserting an intentionally very expensive script, which, no longer makes it a “baseplate without scripts.” The script in question permanently exhausts Roblox’s resources. It will simply never finish running because just about everything in the client runs on one thread. Roblox will never get to run the code it does before closing because the script is blocking the thread from continuing. This makes it impossible for Roblox to actually finish closing, and there is genuinely nothing that can be done about this.

Other single-threaded programs often experience this exact issue themselves, it’s just that purely single-threaded programs are getting extremely uncommon (Roblox itself isn’t really even single-threaded anymore but it still does a lot of stuff on its main thread). The fact that it appears in a “baseplate without scripts” is simply because it applies to the entire Roblox program as a whole and even to lots of other programs too, there are many many ways that this behaviour can happen in Roblox, which is why it’s so common to see it.

This doesn’t mean there aren’t various bugs which are causing this behaviour to occur, but this itself, as reported in the original post, isn’t a bug, nor is it some specific thing. It’s only what happens when Roblox is busy doing other things, and never gets to move on to its close hook.

Now, sure, maybe there is a bug here to be found that is another completely unrelated issue, but, it has nothing to do with what the original post seems to be reporting.


When Roblox encounters a crash, it generates a dump file and automatically uploads the dump. This can take some time, and often times results in the client staying in the background for a period of time. It can frequently get stuck trying to upload the crash dump, I don’t exactly recall what happens in this case.

This itself is likely a bug but it isn’t what’s being brought up in the original post.

2 Likes

Shouldn’t the automatic execution timeout exit the script after 30 seconds?

3 Likes

Nope, not really, because the script timeout is pretty specific to certain cases. It’s only when the code in question doesn’t ever yield that it will be timed out. Every time code yields, the engine resets the timer.

I forget if it’s specific to each thread or if there’s a like global timer or something, but, something as simple as this is enough:

local lastYieldTime = os.clock()
while true do
	if os.clock() - lastYieldTime >= 4 then -- If it's been at least 4 seconds since the last yield
		task.wait()
		lastYieldTime = os.clock() -- Reset the yield time
	end
end

Plus, it doesn’t even have to be lua to cause the engine to hang, there’s really nothing special about lua. In any cases where the engine would hang, it’d definitely be a bug then, but, the particular behaviour outlined in the original post isn’t really a bug at all.

3 Likes

This became even more problematic recently for me after the major Roblox client update. My Roblox client 99% of the time stays in the background after I leave any experience. I am not sure if this is related or not.

14 Likes

Is there literally any way to fix this? This has been happening to me for like several months now it’s really annoying

11 Likes

Still happening to me. I wish they would finally fix this because it’s so annoying when I try to leave a game and this happens to me.

2 Likes

This happens to me currently since the new client update, as many people are saying.

For people who also find this annoying I’ve found a pretty decent fix that works at least for myself (@Grimoirees - this may help) :

The issue goes away if instead of pressing the “x” button on your window, you open the escape menu and press “Leave” instead. I assume this is because it takes you to the new roblox built in client homepage, whilst actually closing the application doesn’t do that.

Unsure if this new issue is related to the original post, it seems like a separate issue, however the actual bug itself seems to be the same.

3 Likes

I believe this problem is worsening now in the new client update.
If you normally use esc + L to leave it’ll go to the new app, and it seems the app is automatically open when you play a game (if you hover your mouse on the top it tells you)

It not closing properly could be a problem with the forcing of the app, since the roblox app and client are both the same application.

4 Likes