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

Tricky enum leads to unclean exit #1079

Closed
pianofingers opened this Issue Jun 8, 2018 · 1 comment

Comments

Projects
None yet
3 participants
@pianofingers

pianofingers commented Jun 8, 2018

pub const VkResult = extern enum {
    VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VkResult.VK_ERROR_OUT_OF_POOL_MEMORY,
    VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,
};

pub fn main() void {
    var s : VkResult = VkResult.VK_SUCCESS;
}

That's as much as I can reduce it, of course it looks very strange at this point. Note the "VkResult.VK.." in the enum. I'm not expecting the enum to work.

The specific error I get is:

The following command terminated unexpectedly: .... error: UncleanExit

@andrewrk andrewrk added the bug label Jun 9, 2018

@andrewrk andrewrk added this to the 0.3.0 milestone Jun 9, 2018

@isaachier

This comment has been minimized.

Contributor

isaachier commented Jun 21, 2018

The issue is an illegal access to a null name pointer, causing a segmentation fault. This is one of the cases where not null checking is the main issue (something clang-tidy is very vocal about).

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