AaronBallman wrote:

> Hi @AaronBallman
> 
> I see that if I build clang with ASAN with this patch and run the testcase 
> `clang/test/C/C99/n590.c` it crashes and I see this
> 
> ```
> AddressSanitizer:DEADLYSIGNAL
> =================================================================
> ==2063954==ERROR: AddressSanitizer: SEGV on unknown address 0xb5c8001f7e52 
> (pc 0x7fe2bd0e8baf bp 0x7fe2bd718370 sp 0x7fe2bd7181a0 T0)
> ==2063954==The signal is caused by a WRITE memory access.
>     #0 0x7fe2bd0e8baf in raise (/lib64/libpthread.so.0+0x12baf) (BuildId: 
> 1962602ac5dc3011b6d697b38b05ddc244197114)
>     #1 0x5610e162f93e in SignalHandler(int, siginfo_t*, void*) 
> /repo/llvm/build-all-bbisdk-asan/../lib/Support/Unix/Signals.inc
>     #2 0x7fe2bd0e8d0f  (/lib64/libpthread.so.0+0x12d0f) (BuildId: 
> 1962602ac5dc3011b6d697b38b05ddc244197114)
>     #3 0x5610e888912a in AnalyzeImplicitConversions(clang::Sema&, 
> clang::Expr*, clang::SourceLocation, bool) 
> /repo/llvm/build-all-bbisdk-asan/../../clang/lib/Sema/SemaChecking.cpp:12638
>     #4 0x5610e888a70b in CheckCommaOperand 
> /repo/llvm/build-all-bbisdk-asan/../../clang/lib/Sema/SemaChecking.cpp:11653:3
>     #5 0x5610e888a70b in AnalyzeImplicitConversions 
> /repo/llvm/build-all-bbisdk-asan/../../clang/lib/Sema/SemaChecking.cpp:12510:7
>     #6 0x5610e888a70b in AnalyzeImplicitConversions(clang::Sema&, 
> clang::Expr*, clang::SourceLocation, bool) 
> /repo/llvm/build-all-bbisdk-asan/../../clang/lib/Sema/SemaChecking.cpp:12642:5
>     [...]
>     #730 0x5610e888a70b in CheckCommaOperand 
> /repo/llvm/build-all-bbisdk-asan/../../clang/lib/Sema/SemaChecking.cpp:11653:3
>     #731 0x5610e888a70b in AnalyzeImplicitConversions 
> /repo/llvm/build-all-bbisdk-asan/../../clang/lib/Sema/SemaChecking.cpp:12510:7
>     #732 0x5610e888a70b in AnalyzeImplicitConversions(clang::Sema&, 
> clang::Expr*, clang::SourceLocation, bool) 
> /repo/llvm/build-all-bbisdk-asan/../../clang/lib/Sema/SemaChecking.cpp:12642:5
> 
> AddressSanitizer can not provide additional info.
> SUMMARY: AddressSanitizer: SEGV (/lib64/libpthread.so.0+0x12baf) (BuildId: 
> 1962602ac5dc3011b6d697b38b05ddc244197114) in raise
> ==2063954==ABORTING
> ```

I'm trying to reproduce the issue on Windows with MSVC + ASAN and I'm not 
getting any failures. The stack trace looks valid, but also implies that `E = 
E->IgnoreParenImpCasts();` is somehow resulting in an invalid pointer being 
passed to `AnalyzeImplicitConversions()` which is a surprise; I would expect 
`E->` to be an issue if there was an invalid pointer involved with the changes 
in this PR. I may need a bit of help on this one if I can't reproduce locally.

https://github.com/llvm/llvm-project/pull/138752
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to