-
-
Notifications
You must be signed in to change notification settings - Fork 21.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make MessageQueue growable #62303
Make MessageQueue growable #62303
Conversation
The sanitiser is failing in Could this be due to a resize occurring while there is a still a |
@lawnjelly The address can change, but it should be fine because there are no pointers to anything allocated in there. IMO the sanitizer is butting into something it should not. |
* Uses simple vector resizing (po2) Fixes godotengine#35653 Supersedes godotengine#35658
5396633
to
c911001
Compare
@@ -1367,8 +1367,7 @@ | |||
<member name="layer_names/3d_render/layer_9" type="String" setter="" getter="" default=""""> | |||
Optional name for the 3D render layer 9. If left empty, the layer will display as "Layer 9". | |||
</member> | |||
<member name="memory/limits/message_queue/max_size_kb" type="int" setter="" getter="" default="4096"> | |||
Godot uses a message queue to defer some function calls. If you run out of space on it (you will see an error), you can increase the size here. | |||
<member name="memory/limits/message_queue/max_size_mb" type="int" setter="" getter="" default="32"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You need to re-add the description.
Is this backportable for 3.6 (or a 3.5 point release) somehow? I believe this would resolve issues such as #63068. |
Should be. 👍 I just did a test for my idea above for the I was only drawn to this possibility because I've caused similar bugs with vector resizing probably a million times or more. 😁 EDIT: BTW, this patch is primarily to show what might be causing the problem. Making a copy of the For instance keeping 2 queues, setting one as read and one as write, that way neither will be treading on the others toes at the same time. Then swapping the 2 queues at the end of |
Superseded by #75940. |
Fixes #35653
Supersedes #35658