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

Engine crash when calling LuaVBOImpl::InstanceDataFromFeatureIDs on geothermal vent feature #1437

Closed
salinecitrine opened this issue Apr 13, 2024 · 4 comments
Labels
bug Something isn't working

Comments

@salinecitrine
Copy link
Contributor

salinecitrine commented Apr 13, 2024

URL of infolog.txt
https://log.beyondallreason.dev/logs-20240413T1755-op_VmwQP.zip
note: there's a lot of widget debugging messages in there; this crash was encountered while developing a new widget

Engine Version
105.1.1-2314-g9e0bf7d bar

Translated Stack Trace with links

(I don't know how to do this; https://imolarpg.dyndns.org/bar/stacktrace_translator/frontend/index.php didn't work)

Additional context
The last log message before the crash is Error: [MatrixUploader::GetElemOffsetImpl] Supplied invalid CFeature (id:27697) (id varies).

As far as I can tell, the call sequence looks something like this:

LuaVBOImpl::InstanceDataFromFeatureIDs
LuaVBOImpl::InstanceDataFromImpl
LuaVBOImpl::InstanceDataFromGetData
TypedStorageBufferUploader::GetElemOffset
MatrixUploader::GetElemOffsetImpl
Error: [MatrixUploader::GetElemOffsetImpl] Supplied invalid CFeature (id:...)

and then at some point before returning from LuaVBOImpl::InstanceDataFromFeatureIDs, it crashes.

The only feature I've seen this occur with so far is geothermal vents.

@salinecitrine salinecitrine added the bug Something isn't working label Apr 13, 2024
@lhog
Copy link
Collaborator

lhog commented Apr 14, 2024

Can you send your widget so I can reproduce?

@salinecitrine
Copy link
Contributor Author

salinecitrine commented Apr 14, 2024

Can you send your widget so I can reproduce?

Here's a minimal reproducer: https://gist.github.com/salinecitrine/c7633fc6053d20bcd907d4dfae8bc436
To reproduce, load a map with a geo, and enable the widget. Tested on "Rosetta 1.42", "Hotlips Remake 3.1.1", and "Erebos Lakes 1.0".

Here's the original widgets, with crash protection commented out: Widgets.zip
To reproduce, disable "Smart Area Reclaim", enable both of these widgets, activate the reclaim command, alt+leftclick+drag starting on a tree, and expand the area to include a geo. Tested on "Hotlips Remake 3.1.1".

@lhog lhog closed this as completed in ba6fed5 Apr 14, 2024
@salinecitrine
Copy link
Contributor Author

Thank you for the quick fix!

@lhog
Copy link
Collaborator

lhog commented Apr 15, 2024

Always a pleasure when it's easy to reproduce

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants