Closed mmatyas closed 5 years ago
@kvark the long backtrace is created because rendy-memory
allocators have these relevant
fields, and as it's is described in relevant we can't just drop those allocators, we have to call their dispose
function, which we do in our Device::deinit
.
However if we run into a crash we don't call this dispose, just drop the heaps
field, and this causes these relevant
fields yell at us, spamming the backtrace with a lot of errors.
Thanks @zakorgy ! It looks like a problem with Relevant
to me. I filed to https://github.com/omni-viral/relevant/issues/1 to discuss.
I will close this because the issue is fixed in https://github.com/szeged/webrender/pull/287
This patch implements the
Drop
trait forDevice<hal::Backend>
, which fixes the very long rendy-related backtraces that occur on errors and crashes.Note: Because fields can't be moved out of types which implement the
Drop
trait (eg. indrop()
), some of them were made intoOption
as a workaround. I'd be happy to update the code if there's a better way to implement this.