How to post a Bug Report

:warning: Reports without the following information will NOT be investigated :warning:


Replies to bug reports must also follow these guidelines where possible. This means “Me too!” replies are not acceptable.

Anyone can now file bug reports! No need to join the DevForum group previously mentioned.

Basics

You can find ‘Report Bug’ on the DevForum homepage:
image_360

Your bug report must have:

  • An accurate title - Engineers should know what the bug is before opening the thread. Be specific!
  • A detailed description - Explain what you expect, and what happens instead.
  • Where it happens - Include links if it happens with specific places / users / groups / etc.
  • When it happens - Include the date and time (including timezone) when it started happening.
  • Videos and images - Include visuals to demonstrate the problem.
  • Reproduction instructions and files - See below
  • :exclamation: Required information - See below

See some examples.


Reproduction Steps

Provide step-by-step instructions that cause the bug to happen.
These steps must be:

  • Minimal - Simplify complicated steps or conditions as much as possible.
  • Specific - Steps must be clear and detailed. Don’t assume engineers know what you mean.
  • Consistent - Ideally, your steps reproduce the issue 100% of the time. Specifically mention how often your steps reproduce the bug (100% / 50% / Rarely?)

Reproduction Files

If your bug is with Studio or the Roblox engine, upload a very simple place file to your thread that can be used to reproduce the bug. This file should contain the bare minimum to cause the bug to happen.

Always include reproduction (repro) files for bugs that only happen with specific scripts / place setups / instances / etc!

If your repro file contains private content, you should DM it to the Logs / Crash Dumps / Other Bug Files group. Include a link to the DM in your thread. This link is only viewable by Roblox employees

How to create a repro placefile

If you are seeing an issue that you can reproduce 100% of time, or at least intermittently (e.g. it happens 1 out of 10 times), the best way to report this is - to attach a “minimal repro” placefile:

  1. Take the place where you see the problem and make a duplicate of it.
  2. Remove as much content as possible to reduce it to the bare minimum that still exhibits the issue.
  3. If some actions need to be taken to see the problem, consider scripting it so that this happens automatically.
  4. Attach the placefile to your report.
  5. Describe what happens vs what you expected.
  6. If you know you did something special (e.g. set some property to an unusual value etc), specify those details in the description.

An example description:

Just load this into Studio and press Run.
You will see an explosion, which will run for a few seconds, but then abruptly disappear before finishing the animation.
I expect the explosion to finish fading.
This happens because I changed TimeScale on the explosion to a very small value.


:exclamation: Required Information :exclamation:

You must include this extra supporting information:

If your bug is happening on the website:

  • Make sure the bug still happens if you disable all of your browser extensions.

  • Include what browser version you are using.

If your bug only happens to a specific game / user / group / etc:

  • Make a repro file as simple as possible that causes the bug. Otherwise, include direct links to the affected game / user / group; engineers will not know what “my group” or “game-name” means.

If your bug is happening in Studio:

If you are crashing / freezing / disconnecting / having problems running Roblox or Studio:
(Review the difference between crashes, freezes, and disconnects, make sure you use the right word!)

If Roblox is lagging or running slowly:

If you have graphics problems or Roblox looks wrong:

1856 Likes

Example Bug Reports

Click to expand

Studio Bugs: Studio crashes when resizing any 5x5x5 part

Roblox Studio will always crash when you try to resize a 5x5x5 size part using the resize tool, the properties widget, or command bar. Parts of any other size do not crash.

This happens only in Studio.
This started happening on December 20.

Repro

With Resize tool or Properties widget:

  • Create a part and set its size to 5,5,5 using the properties widget.
  • Select the part and choose the resize tool, or select the size field in the properties widget.
  • Try to resize the part, Studio will crash.

With script run from command bar:

local p = Instance.new("Part", workspace)
p.Size = Vector3.new(5,5,5)
p.Size = Vector3.new(10,10,10) -- Crashes

Both methods will crash 100% of the time.

Crash Dump

https://devforum.roblox.com/t/link-to-dm-to-studio-bug-files/######




Engine Bugs: Character spawns with green head in live games

When your character spawns in-game, your head will always be green.
This does not happen in Studio, it only happens in a real game.

This started happening today.
As far as I can tell, this happens 100% of the time with both R6 and R15 characters.

Repro




Engine Bugs: Glass material renders completely black

In-game and in Studio the glass material renders completely black.

This happens 100% of the time for me, but other people I’ve asked don’t have this problem.
This has been happening since I got my new GPU on December 20.

Specs

OS: Windows 10 Home
GPU: NVIDIA GeForce GTX 1070

This is what a default part inserted in Studio and changed to the glass material looks like for me.

image




Engine Bugs: Lag when creating ParticleEmitters

Sometimes when a ParticleEmitter is created by either the server or the client, Roblox will have a brief lag spike. Parenting the ParticleEmitter is not required, simply creating it with a script will cause the problem.

This started happening today.
This happens in-game, and in Studio about 50% of the time a ParticleEmitter is created.
This only happens with ParticleEmitters.

Repro

  • Run the below code.
  • Roblox will freeze briefly about 50% of the time after “Creating” is printed.
while wait(1) do
	print("Creating")
	local p = Instance.new("ParticleEmitter")
	print("Created")
end

ParticleEmitterLagExample.rbxl (17.2 KB)

Demonstration

If you look closely, you can see Roblox freezing briefly.

GIF | Gfycat

Microprofiler Dump

You can clearly see one of the lag spikes in this dump.
microprofile-20191220-022927.html (1.1 MB)



704 Likes

How to Find Log Files


NOTE:

  • :warning: These log files may contain sensitive information, so it’s important they’re NOT posted publicly, send them to Logs / Crash Dumps / Other Bug Files.

  • It is important you identify the correct log files! Make sure you are sorting by last modified or finding the most recent logs by timestamp.


Roblox / Studio successfully opens

Windows
  • Go to %localappdata%/Roblox/logs.
  • Sort the directory you opened by Last Modified.
  • Take the latest log_xxxxx_x.txt file.

Mac
  • Go to ~Library/Logs/Roblox.
  • Library can be found under Go > Library (you may need to hold down Option if it isn’t there).
  • Sort the directory you opened by Last Modified.
  • Take the latest log_xxxxx_x.txt file.

Roblox / Studio does not open properly

Include the logs from the above section if they exist.

Windows
  • Go to %localappdata%\Temp and sort the folder by Last Modified
  • Take the latest two RBX-xxxxxxxx.log files

Mac
  • Go to ~Library/Logs/Roblox and sort the folder by Last Modified
  • Library can be found under Go > Library (you may need to hold down Option if it isn’t there).
  • Take the latest bootstrapper_xxxxxx_x.txt file.

If the issue is freezing, loading forever, or similar, wait a few minutes before following these instructions to copy the log files so that there is enough time for long operations to get logged.


DM the log files to the Logs / Crash Dumps / Other Bug Files group. Include a link to the DM in your thread. This link is only viewable by Roblox employees.

519 Likes

How to Get Dump Files


NOTE:


How to find dumps automatically generated on crash

Crashes are when you get a crash dialog/popup or the program closes on its own. If you get a white screen / spinning beachball cursor, this is NOT a crash! See the freezes/hangs section below.

Windows
  • Go to %localappdata%/Roblox/logs and sort the folder by Last Modified.
  • Take the first .DMP file (if you don’t see one, it may be in /archive).

Mac
  • Open the terminal and run open $TMPDIR
  • Sort the folder by Last Modified.
  • Take the first .DMP file.

How to generate dump files for freezes/hangs

If your problem is with Studio, FIRST, make sure all plugins are disabled from File > Advanced > Manage Plugins to verify the cause is Studio. Include in your bug report that you tested with all plugins disabled.

Windows
  • Open the Task Manager with Ctrl+Shift+Escape.
  • Find RobloxStudio in either the Details (Windows 10) or Processes tab.
  • Right click and select “Create dump file”.
  • Take the .DMP file shown in the resulting popup dialog.

Mac
  • Open the Activity Monitor from within Applications > Utilities.
  • Select Roblox / Roblox Studio.
  • Click the action menu in the toolbar (Gear Dropdown) > Sample Process.
  • Take the .txt file saved in the proceeding dialog.

Generate 3 or more dump files like this, each a few minutes apart.


Once you have the dumps/samples from either of the above steps, they are too large to share on the forum. You will need to upload them to a file hosting service (e.g. Google Drive, Dropbox). Zipping and compressing these first will often make them a manageable size.

DM the dump files to the Logs / Crash Dumps / Other Bug Files group. Include a link to the DM in your thread. This link is only viewable by Roblox employees.

463 Likes

How to Get Microprofiler Dumps


If Roblox or Studio is stuttering or running slowly, but not completely frozen, you can provide a microprofiler dump to help engineers find the problem.

  • Open the microprofiler with Ctrl+F6.
  • Once the stuttering / slowness happens, press Ctrl+P to pause the microprofiler.
  • From the top menu bar, click Dump > 32 frames.
  • Go to your logs folder
  • Sort the folder by Last Modified.
  • Find the latest microprofile-yyyymmdd-xxxxxx.html file.
  • Open the file in your browser and make sure that it captured the performance problem (there should be a spike near the right side of the timeline at the top).

You can directly upload this HTML file to your bug report.

451 Likes

Providing System Information


Minimal Information

This information is usually enough for a bug report unless asked for by an engineer.

If you’re on Mac, engineers prefer if you follow the steps below, even if you already know your system information. If you’re on Windows and know your system information, you can just include your OS, CPU & GPU models, and RAM amount in your bug report (otherwise, follow the steps below).

Mac
  • Click the Apple icon in the top left of the screen and select About This Mac.
  • Include a screenshot of the dialog that appears.

Windows 10
  • Open Task Manager with Ctrl + Shift + Escape.
  • Go to the Performance tab.
  • Click the CPU, Memory, and GPU tabs and include the information in the top-right in your bug report.
    • e.g. Intel(R) … @ 3.0 GHz, 16 GB, NVIDIA GeForce GTX 970

Older versions of Windows
  • Type dxdiag in the start menu (or in the Run dialog) and press enter.
  • If a popup appears about “digitally signed drivers”, click “Yes”.
  • Include the values from Operating System, Processor, and Memory on the System page, and the Name from the Display 1 page in your bug report.

Advanced Information

Engineers will ask you for this information if needed.

Mac
  • Click the Apple icon in the top left of the screen and select About This Mac.
  • Include a screenshot of the dialog that appears.
  • Click System Report....
  • Click File > Save.
  • :warning: This full system report contains sensitive information, so it’s important it’s NOT posted publicly.

Windows
  • Type dxdiag in the start menu (or in the Run dialog) and press enter.
  • If a popup appears about “digitally signed drivers”, click “Yes”.
  • Click “Save All Information” and upload the generated DxDiag.txt file to your bug report thread.
418 Likes

Helping Correlate Backend Logs


If there is a problem on the backend / server (Roblox’s side), engineers will need to investigate their own logs. To find them (since they have too many to look through manually), they need:

  • The user ID of the account you were using when you had the issue.
  • The place ID / game ID of the game you were using when you had the issue.
  • If the issue is in Team Create, does it happen in a live game as well?
  • The date and time (including timezone) you had the issue. Be as precise as possible.
  • Your log files.
  • As much information that was shown to you as possible.
    • e.g. screenshots of errors and popups, HTTP status codes displayed in the UI, log files, etc.
417 Likes

What is the difference between crashes / hangs / disconnects?


It’s important to know which kind of bug you are reporting in order to be able to provide the right information in the bug report.


Crashes

The entire application closes unexpectedly, usually with a dialog like
image

If the entire application doesn’t close (e.g. it just goes back to the start page) or an “Updating Roblox…” dialog appears shortly after, then it isn’t a crash. When a crash occurs, please include the crash dump and log files.


Freezes / Hangs

The application stops responding and is unable to be used, but is still open. On Mac, you will generally get the infinite spinning beachball cursor, while on Windows, the application will usually be marked with “(Not Responding)” and become slightly whiter like

image

Please include manually generated dumps for freezes / hangs.


Disconnects

The current session to the open place disconnects, but the application can otherwise be interacted with. In the game client, you will get a dialog like
image

while in Studio it will look like
image

Please include information to help us correlate backend logs for disconnects.

479 Likes

How to launch Studio without plugins enabled


User-installed plugins can change the behavior of Roblox Studio. If you have problems with crashing, freezing, strange behavior, etc. you should attempt to reproduce your bug with all of your plugins disabled before reporting it.

If the issue is caused by plugins, try to include a link to the plugin causing the problem, and try to check that your bug is not caused by faulty plugin programming, but instead is caused by faulty engine/Studio API that the plugin is using.


Windows 10
  • Shift + right click on your Roblox Studio shortcut, and choose “Open file location”.
  • Backspace the file path in the address bar in the explorer, and type “cmd”. Press enter.
    explorer_2021-03-26_20-34-52
  • In the black window that appears, type RobloxStudioBeta.exe -disableLoadUserPlugins. Press Enter.
  • Roblox Studio will start with all user plugins temporarily disabled.

MacOS
  • Open Spotlight with Command + Space.
  • Search for and open “Terminal”.
  • Type open /Applications/RobloxStudio.app --args -disableLoadUserPlugins and press Enter.
  • Roblox Studio will start with all user plugins temporarily disabled.
384 Likes

How to copy terrain from one place into a repro file

If you have an issue with terrain in a place and don’t want to send your whole private game as a repro file, you can extract just the terrain. Even if the place isn’t sensitive, this can help reduce noise in the place when engineers are troubleshooting the bug.

Step 1: Open the place you want to copy terrain from in Studio and run the following in the command bar

workspace.Terrain:CopyRegion(workspace.Terrain.MaxExtents).Parent = workspace.Terrain

image

Step 2: Right click > Save As (.rbxm) the generated TerrainRegion parented under workspace.Terrain
Step 3: Create a new, empty baseplate and delete the baseplate + spawn
Step 4: Insert the TerrainRegion saved in step 2 through the Model tab > Model button and parent it to workspace.Terrain
Step 5: Run the following in the command bar:

workspace.Terrain:PasteRegion(workspace.Terrain.TerrainRegion, Vector3int16.new(-32000, -32000, -32000), false)

Step 6: Verify the bug still repros in the new place
Step 7: Delete the TerrainRegion, save the place as a repro file, and attach it to your bug report

226 Likes

Handling hyperion related solutions

NOTE: This text has been drawn from ‘Hyperion related solutions’ - for the original post, see here: https://devforum.roblox.com/t/hyperion-related-solutions/2322367

The document reads as follows:

"This short write-up is an attempt to have a centralized document that we can link to when guidance is needed.

Mini Q&A:

Q: Why is my Roblox player crashing?

A: There are basically two major categories of crashes:

  1. Crashes due to bugs in the Roblox player.

  2. Crashes induced by Hyperion due to the detection of unusual access to the Roblox player process.

Q: How can I distinguish between a Hyperion crash and a crash caused by Roblox player bugs?
A: Hyperion-induced crashes happen typically rather quickly right after starting the Roblox player.

If you suspect a Hyperion crash, what should you do?

Hyperion is rather strict when other processes attempt to access the address space belonging to the Roblox player, as this sort of behavior is typically a hallmark of malicious software. However, there is quite a high number of programs that are generally not malicious but demand unreasonable access rights to the process space of our Roblox player.

A typical example is tools simply needing to query statistics from processes in the system but, rather than opening the process with humble PROCESS_QUERY_LIMITED_INFORMATION access rights, attempting to open the process with PROCESS_ALL_ACCESS.

It is important to point out that proper digitally signed software is not subject to limited access. The keyword here is “proper,” as signatures can be outdated or otherwise invalid. In other words, the simple presence of a signature is not necessarily a guarantee that the signature is accepted.

To find the offending process, there are several strategies:

Strategy one:

  1. Terminate all processes and Windows services that are not absolutely necessary and try to rerun the Roblox player again.

  2. If the Roblox player runs, try starting the usual programs and Windows services one by one until the Roblox player crashes again.

Strategy Two:

Perform a clean boot as described by Microsoft and rerun the Roblox player.

support.microsoft.com

How to perform a clean boot in Windows - Microsoft Support

Describes how to use the clean boot process to troubleshoot a problem in Windows 8.1, Windows 8, Windows 7, or Windows Vista.

Strategy Three:

Enable full crash dump for the Roblox crash uploader by following these simple steps:

  1. Create a file %LOCALAPPDATA%\Roblox\Versions<your-current-client-version-here>\ClientSettings\ClientAppSettings.json.

  2. Open the newly created file and add the following: {"DFIntWriteFullDmpPercent": 100}

  3. Rerun the Roblox player and let it crash.

  4. File a bug report as outlined here and attach the crash report as well as all log files to the report.

Strategy Four:

Use ProcDump to create a crash dump by following these steps:

  1. Download and extract ProcDump: ProcDump - Sysinternals | Microsoft Learn 25.

  2. Create a folder called dumps (e.g., C:\dumps).

  3. Open an elevated command prompt where you extracted procdump and run this command: procdump -ma -i C:\dumps. Click Yes if any prompts appear.

  4. Now run Roblox player again, and it will automatically create a crash dump in C:\dumps. You can send us one of the dumps that are created there (there will likely be two of the same crash).

We hope this helps, and as always, please don’t hesitate to reach out to us. Thank you for your patience."

297 Likes