Bug ID: 45304
           Summary: clang crashes (SIGSEGV) in
           Product: clang
           Version: unspecified
          Hardware: Macintosh
                OS: MacOS X
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: -New Bugs

Created attachment 23279
Crash Info

I know that Apple is shipping customized versions of clang in Xcode, yet this
issue doesn't seem Apple clang specific as I doubt Apple has touched the
related files in their release.

I can reproducible crash clang with EXC_BAD_ACCESS (SIGSEGV) when compiling an
Objective-C file. It crashes at 

0x00000001098130c1 clang::TypeLoc::findNullabilityLoc() const + 49
(clang load address was 0x10619b000)

See attached file for more details and full call stack.

clang --version identifies it as:
Apple clang version 11.0.3 (clang-1103.0.32.29)

I reported that issue to Apple already when they released the first Xcode 11.4
beta. I updated the bug withe the two betas to follow. There was never any
reaction and now Apple has released Xcode 11.4 final and it still contains a
clang with that problem.

I fail to create a minimal test case and I must not upload the original source
files in public. Also I think there might be issues with the code, yet even
with issues in code, a compiler shouldn't crash, should it?

Apparently the crash won't happen if I remove all
"__attribute__((ns_returns_retained))" from the source files, despite the fact
that these are set correctly (C functions that indeed return objects that
require releasing).

Other information that may be relevant:

- All source files are wrapped in between 
#pragma clang assume_nonnull begin 
#pragma clang assume_nonnull end

- Automatic Reference Counting is active

- The retained object by the C functions mentioned above is always of the type:
id<SomeProtocol> and can never be NULL.

I shared the source code with Apple but as there it isn't public. Let me know
what else you need; as long as it's not the source code itself, I can probably
provide it.

You are receiving this mail because:
You are on the CC list for the bug.
llvm-bugs mailing list

Reply via email to