-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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 introduced in commit bc65135 (vk: refactor resource ref-counting) #8288
Comments
A similar question to #8185: any chance this is on Q1 OKRs? I checked again at HEAD just to make sure that this crash wasn't fixed by some other change, and it still occurs. I did a little bit more digging around, and still can't see anything silly that I'm doing to cause an issue here. I'm quite sure that my code is calling engine->destroy() for the existing swap chain, before creating a new one, and still panicing due to VK_ERROR_NATIVE_WINDOW_IN_USE_KHR. |
Yes. I'll be looking at both of these issues in coming days (next couple of weeks). Thanks |
That's wonderful news -- thanks a bunch Powei! |
Because of a recent ref-counting refactor, the swapchains are not being immediately destroyed when destorySwapChain is called. This might cause issue with following calls to createSwapChain. We make sure the ref-counted resources are cleaned-up before new swapchains are created. Fixes #8288
I pulled in this commit and can confirm that it works for me now! And also thank you for fixing the spammy log message. :D |
Describe the bug
Commit bc65135 introduced a crash (Filament panic) when destroying and re-creating a swap chain using the Vulkan backend. I noticed the crash after pulling in recent Filament changes, and then bisected it to this commit. For me it is deterministically reproducible. The commit before this does not ever crash.
I ran it in a debugger; I'm not sure what info you might need but the line it crashes on is:
L249: VkResult result = vkCreateSwapchainKHR(mDevice, &createInfo, VKALLOC, &mSwapchain);
The error is:
I tried to figure out what 0x000000F63378EC70 was supposed to be pointing to, but it wasn't obvious to me.
The error in the panic message is VK_ERROR_NATIVE_WINDOW_IN_USE_KHR, which makes me think that destroy() on the swap chain is not fully destroying it?
To Reproduce
Steps to reproduce the behavior:
Expected behavior
No crash.
Screenshots
N/A
Logs
Desktop (please complete the following information):
Smartphone (please complete the following information):
N/A
Additional context
N/A
The text was updated successfully, but these errors were encountered: