Skip to content
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

Crash in rasterizer_canvas_gles3 due to memory corruption #17305

Closed
endragor opened this issue Mar 6, 2018 · 7 comments
Closed

Crash in rasterizer_canvas_gles3 due to memory corruption #17305

endragor opened this issue Mar 6, 2018 · 7 comments

Comments

@endragor
Copy link
Contributor

endragor commented Mar 6, 2018

Godot version:
Godot 3.0 stable

OS/device including version:
Android 5.0, Android 7.0, different devices, different GPUs (Mali and Adreno)

Issue description:
There is an intermittent crash at https://github.com/godotengine/godot/blob/3.0-stable/drivers/gles3/rasterizer_canvas_gles3.cpp#L215. The crash is SIGSEGV 0x0000000000000097, which means the first byte of texture->render_target address was set to 0x11 by some code (used_in_frame field has 0x86 offset, 0x97 is accessed), which makes the if (texture->render_target) check pass and the crash happen.

Steps to reproduce:
Reproduces rarely after invoking change_scene on a SceneTree with a large active tree.

@vnen vnen added this to the 3.1 milestone Mar 6, 2018
@endragor
Copy link
Contributor Author

endragor commented Mar 6, 2018

Right after filing the issue I realized this doesn't actually matter for 3.1, as this is GLES3-specific :/ And this is likely very hard to track down.

@akien-mga
Copy link
Member

Right after filing the issue I realized this doesn't actually matter for 3.1, as this is GLES3-specific :/

Well GLES3 bugs should still be fixed in 3.1 too.

@maxim-sheronov
Copy link
Contributor

I don't know if it the same bug or not. But on android project crashes if you have any 3d object in scene. You can export project with disabled object, and it will run. If you have scene sync enabled, you can enable this object, and in few seconds project will crash. So there some problem with 3d render.

@endragor
Copy link
Contributor Author

3D rendering in general does work on Android (with Godot 3.0 stable at least). There might be a problem specific to your project or device, so better file a separate issue with your project and other details attached.

@maxim-sheronov
Copy link
Contributor

I have fired an issue #17770

@akien-mga
Copy link
Member

Is it still reproducible in the current master branch? Does it also happen with GLES2, or only GLES3?

@akien-mga akien-mga modified the milestones: 3.1, 3.2 Jan 20, 2019
@akien-mga
Copy link
Member

No answer, so assuming fixed. We can reopen if anyone can still reproduce it in recent builds.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants