Random Studio Bug Phenomenon #1,000 - Hard to Explain But Super Real

This issue is sorta hard to explain but it’s very specific and very repeatable. This issue/glitch/bug/whatever it is is a little inconvenient but can make problem-solving confusing. However I fear that it will be a twilight zone bug where only I am the one who experiences it.

I am making a game that has a main script that dispatches a single script clone into Humanoids, and enables it.

Upon entering each Humanoid (which I will refer to them as Rig for now on), since I’m developing their AI, the script does a :WaitForChild() for a BillboardUI that is in the Head of each Rig I am using to test some things the AI does. Since I am only working on one Rig right now, and only have the BillboardUI in the Head of that one Rig, all the others show a “Infinite yield”.

The phantom problem is that when I look at the output, to my amazement, it shows a confusing mess. Instead of saying, you know,

for Rigs A,B,C, and D (B having the BillboardUI, thus making it found and no infinite yield):

Infinite yield possible on ‘Workspace.Rigs.RigA.Head:WaitForChild(“BillboardUI”)’
Stack Begin - Studio
Script ‘Workspace.Rigs.RigA.Script’, Line 3
Infinite yield possible on ‘Workspace.Rigs.RigC.Head:WaitForChild(“BillboardUI”)’
Stack Begin - Studio
Script ‘Workspace.Rigs.RigC.Script’, Line 3
Infinite yield possible on ‘Workspace.Rigs.RigD.Head:WaitForChild(“BillboardUI”)’
Stack Begin - Studio
Script ‘Workspace.Rigs.RigD.Script’, Line 3

IT SAYS

Infinite yield possible on ‘Workspace.Rigs.RigA.Head:WaitForChild(“BillboardUI”)’
Stack Begin - Studio
Script ‘Workspace.Rigs.RigA.Script’, Line 3
Infinite yield possible on ‘Workspace.Rigs.RigC.Head:WaitForChild(“BillboardUI”)’
Stack Begin - Studio
Script ‘Workspace.Rigs.RigA.Script’, Line 3
Infinite yield possible on ‘Workspace.Rigs.RigD.Head:WaitForChild(“BillboardUI”)’
Stack Begin - Studio
Script ‘Workspace.Rigs.RigA.Script’, Line 3

If you don’t notice, it shows ALL the Stack Begins as the same part. You might think it’s a typo of me or something, but that’s literally the output.

I made a separate test experience for more confirmation, and sure enough it shows in the output.

image

Here’s the running game:

Here’s the “Finder” script and the main one “Inserter”:

Place itself:
Place1.rbxl (47.7 KB)

[System Information]:
CPU: 11th Gen Intel(R) Core™ i7 - 1165G7 @ 2.80GHz
Memory: 16GB
GPU: Intel(R) Iris(R) Xe Graphics
OS: Microsoft Windows 10 Pro

2 Likes

I too have an issue like this regarding stack traces.

I use Handlers for mobs in my game. The Handler is cloned and named appropriately to the mob it controls.

Any anytime there is a stack trace in any of the Handlers, it will always point to the first cloned (and named) handler that was ever cloned.

This must be an issue with how stack traces are handled in scripts that have been cloned.

1 Like

I was able to re-produce this in a simplified manner.

The quick link to the script source of any outputs seem to be correct (as shown in the output screenshot)
However in the error stack trace the line number appears to point to only the name of the first handler. This is also the case in the OP’s infinite yield warning. In an error I made it output the correct name of the script immediately after so you can see the difference.

Script that creates the handler:

Code inside handler itself:

Output when ran:

Repo:
RepoFile.rbxl (54.1 KB)

1 Like