https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116863

            Bug ID: 116863
           Summary: TSAN segfault in
                    __sanitizer::CombinedAllocator::Allocate
           Product: gcc
           Version: 14.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: sanitizer
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jpeng_xy at 163 dot com
                CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org,
                    jakub at gcc dot gnu.org, kcc at gcc dot gnu.org
  Target Milestone: ---

The function aio_write() in glibc2.34 (including higher versions of glibc)
calls the internal function __pthread_create() to create a thread. TSAN is
unable to intercept internal function __pthread_create() (nptl: Move
pthread_create, thrd_create into libc:
https://sourceware.org/git/?p=glibc.git;a=commit;h=f47f1d91af985a9028fb399da21eab460d887a15).


segmentation fault call trace:
#0  0x00007ffff6c0b826 in
__sanitizer::CombinedAllocator<__sanitizer::SizeClassAllocator64<__tsan::AP64>,
__sanitizer::LargeMmapAllocatorPtrArrayDynamic>::Allocate(__sanitizer::SizeClassAllocator64LocalCache<__sanitizer::SizeClassAllocator64<__tsan::AP64>
>*, unsigned long, unsigned long) ()                                            
   from /lib64/libtsan.so.2
#1  0x00007ffff6c08f4d in __tsan::user_alloc_internal(__tsan::ThreadState*,
unsigned long, unsigned long, unsigned long, bool) ()
   from /lib64/libtsan.so.2
#2  0x00007ffff6c090b8 in __tsan::user_alloc(__tsan::ThreadState*, unsigned
long, unsigned long) ()
   from /lib64/libtsan.so.2
#3  0x00007ffff6bc365c in __interceptor_malloc () from /lib64/libtsan.so.2
#4  0x00007ffff6a198d3 in __aio_notify_only () from /lib/libc.so.6
#5  0x00007ffff6a1995b in __aio_notify () from /lib/libc.so.6
#6  0x00007ffff6a18e2b in handle_fildes_io () from /lib/libc.so.6
#7  0x00007ffff6a10142 in start_thread () from /lib/libc.so.6
#8  0x00007ffff6a8b8a0 in clone () from /lib/libc.so.6


Testcase preproduce bug:
https://sourceware.org/git/?p=glibc.git;a=blob;f=rt/tst-aio5.c;h=15b6558eb8fc66575a098266229792ac007dd283;hb=HEAD

Compilation command: x86_64-linux-gcc tst-aio5.c -Wall -Wextra
-fsanitize=thread

Reply via email to