FPCGPoints being overwritten by something unrelated to our generation code on PCG

[Image Removed]

Got this 1% bug with PCG :

On generation, we got one or more FPCGPoints being overwritten by something unrelated to our generation code. We’re thinking about a data race on this, but it can take several hours to reproduce this bug (latest test with ue5.5.1)

sample bug :

[Image Removed]

between those 2 prints there’s only 2 branch.

Despite this, the in/output Point pin (blue line) goes from

3900.000, 1500.000, 450.0000
0.000000, 0.000000, -0.000000
1.000000, 1.000000, 1.000000

on first print, to

900.0000, -450.000, 710.0000
-0.00000, -90.0000, 0.000000
1.000000, 1.000000, 1.000000

for the second.

for more detail:

the following code print points before generation, and all print will lead to the pcglog.txt attached with the blueprint above

[Image Removed]

you can find the bug by searching for the first occurence of -900.000000,-450.000000,710.000000 in the log

We dont find any clue for this peculiar data to be modified even in multithreaded environment.

Hope someone also encoutered this issue

[Image Removed]Switched to unreal 5.6.1

Triggered the error on this node

Point 900, -900, 250 on first print

900, -900, 362.5 on second for no reason

Hi Matthieu, thanks for reaching out.

While this should behave like you’re expecting it to, the issue here is *most likely* that you have some a blueprint node that affects the input instead of doing a copy.

For example, that ShufflePoints node could be a good culprit!

It’s expected/understood that on a node basis, inputs are ALWAYS constant. However, since this is BP, const-correctness can go out of the window, and you could have a blueprint that writes on the input data.

In this specific case, this means that while there’s clearly nothing writing to your points in the first image, something else in parallel could have been executed on the same data.

Let me know if you are able to find more or want more information!

Cheers,

Julien