Skip to content
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

Async appender in msys2 ucrt-x86_64-g++ occasionally blocks #402

Closed
swebb2066 opened this issue Jul 25, 2024 · 6 comments · Fixed by #416
Closed

Async appender in msys2 ucrt-x86_64-g++ occasionally blocks #402

swebb2066 opened this issue Jul 25, 2024 · 6 comments · Fixed by #416

Comments

@swebb2066
Copy link
Contributor

The frequency varies from about 1 in 10 in Github CI build machines to 1 in 3000 on a AMD Ryzen 7 3750H.

The debugger shows all threads blocking on condition_variable::wait

@swebb2066
Copy link
Contributor Author

The cause was a failure to lock the mutex before calling notify_all(), which seems to be a problem in newer compilers (gcc 14, MSVC 2022 Release builds).

No re-occurance during tens of thousands of invocations of asyncappendertestcase.exe testMultiThread

@swebb2066
Copy link
Contributor Author

Reopening this as it seems to still be a problem on Github CI build machines. Unable to reproduce on AMD Ryzen 7 3750H in tens of thousands of invocations of asyncappendertestcase.exe testMultiThread even when using 10 as the BufferSize so the wait conditions are more frequent.

@swebb2066 swebb2066 reopened this Aug 4, 2024
@atari83
Copy link

atari83 commented Aug 11, 2024

Hello Stephen,
Unrelated to this topic, when we could expect the new release ? and if it is safe to build the 'master' and ship it with software ?

Many thanks

@rm5248
Copy link
Contributor

rm5248 commented Aug 11, 2024

Releases are somewhat periodic, but I think we do have enough to do one soon.

Using master is always at your own risk

@swebb2066
Copy link
Contributor Author

swebb2066 commented Oct 16, 2024

The following is the stack trace obtained in #415 suggesting some sort of race condition in ring buffer slot mangement:

(gdb)   Id   Target Id          Frame 
  1    Thread 4336.0x8ec  0x00007ff96661f904 in ntdll!ZwWaitForSingleObject ()
   from C:\Windows\SYSTEM32\ntdll.dll
  2    Thread 4336.0x1770 0x00007ff9666233d4 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\Windows\SYSTEM32\ntdll.dll
  3    Thread 4336.0x6e8  0x00007ff9666233d4 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\Windows\SYSTEM32\ntdll.dll
  4    Thread 4336.0x18bc 0x00007ff9666233d4 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\Windows\SYSTEM32\ntdll.dll
  5    Thread 4336.0x1a74 0x00007ff930fe606c in std::__atomic_base<unsigned long long>::compare_exchange_weak (this=0x14616e86c00, __i1=@0x17fbfff408: 428, 
    __i2=429, __m1=std::memory_order::release, __m2=std::memory_order::relaxed)
    at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/atomic_base.h:536
  6    Thread 4336.0x764  0x00007ff930fe606c in std::__atomic_base<unsigned long long>::compare_exchange_weak (this=0x14616e86c00, __i1=@0x17fc1ff848: 430, 
    __i2=431, __m1=std::memory_order::release, __m2=std::memory_order::relaxed)
    at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/atomic_base.h:536
  7    Thread 4336.0x1410 0x00007ff930fe6074 in std::__atomic_base<unsigned long long>::compare_exchange_weak (this=0x14616e86c00, __i1=@0x17fc3ff2a8: 429, 
    __i2=430, __m1=std::memory_order::release, __m2=std::memory_order::relaxed)
    at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/atomic_base.h:536
  8    Thread 4336.0x90c  0x00007ff9310a3de1 in std::_Vector_base<std::shared_ptr<log4cxx::Appender>, std::allocator<std::shared_ptr<log4cxx::Appender> > >::_M_get_Tp_allocator (this=0x17fc5ffab0)
    at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/stl_vector.h:300
  9    Thread 4336.0x664  0x00007ff6a9a1cb21 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_is_local (
    this=0x17fc7ff810)
    at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/basic_string.h:267
  10   Thread 4336.0xe94  0x00007ff94bb92f73 in ?? ()
   from D:\a\_temp\msys64\ucrt64\bin\libwinpthread-1.dll
  11   Thread 4336.0x93c  0x00007ff930fe606c in std::__atomic_base<unsigned long long>::compare_exchange_weak (this=0x14616e86c00, __i1=@0x17fcbff4b8: 431, 
    __i2=432, __m1=std::memory_order::release, __m2=std::memory_order::relaxed)
    at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/atomic_base.h:536
* 12   Thread 4336.0x1a18 0x00007ff966623431 in ntdll!DbgBreakPoint ()
   from C:\Windows\SYSTEM32\ntdll.dll
(gdb) 
Thread 12 (Thread 4336.0x1a18):
#0  0x00007ff966623431 in ntdll!DbgBreakPoint () from C:\Windows\SYSTEM32\ntdll.dll
#1  0x00007ff96664fc1e in ntdll!DbgUiRemoteBreakin () from C:\Windows\SYSTEM32\ntdll.dll
#2  0x00007ff966154cb0 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
#3  0x00007ff9665fecdb in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
#4  0x0000000000000000 in ?? ()

Thread 11 (Thread 4336.0x93c):
#0  0x00007ff930fe606c in std::__atomic_base<unsigned long long>::compare_exchange_weak (this=0x14616e86c00, __i1=@0x17fcbff4b8: 431, __i2=432, __m1=std::memory_order::release, __m2=std::memory_order::relaxed) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/atomic_base.h:536
#1  std::__atomic_base<unsigned long long>::compare_exchange_weak (this=0x14616e86c00, __i1=<optimized out>, __i2=432, __m=std::memory_order::release) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/atomic_base.h:555
#2  log4cxx::AsyncAppender::append (this=0x14616e642c0, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, p=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/asyncappender.cpp:314
#3  0x00007ff930fe401f in log4cxx::AppenderSkeleton::doAppendImpl (this=0x14616e642c8, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, pool1=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/appenderskeleton.cpp:131
#4  0x00007ff930fe5a04 in log4cxx::AsyncAppender::doAppend (this=0x14616e642c0, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, pool1=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/asyncappender.cpp:280
#5  0x00007ff930fe2886 in log4cxx::helpers::AppenderAttachableImpl::appendLoopOnAppenders (this=0x14616e30958, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, p=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/appenderattachableimpl.cpp:83
#6  0x00007ff93100ff4c in log4cxx::Logger::callAppenders (this=0x14616e64830, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, p=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/logger.cpp:140
#7  0x00007ff931010146 in log4cxx::Logger::addEvent (this=0x14616e64830, level=std::shared_ptr<log4cxx::Level> (use count 435, weak count 0) = {...}, message=..., location=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/logger.cpp:175
#8  0x00007ff931010380 in log4cxx::Logger::addDebugEvent (this=0x14616e64830, message=..., location=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/logger.cpp:200
#9  0x00007ff6a9a2acbb in AsyncAppenderTestCase::testMultiThread()::{lambda()#1}::operator()() const (__closure=0x14616e786f8) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/test/cpp/asyncappendertestcase.cpp:253
#10 0x00007ff6a9a28b80 in std::__invoke_impl<void, AsyncAppenderTestCase::testMultiThread()::{lambda()#1}>(std::__invoke_other, AsyncAppenderTestCase::testMultiThread()::{lambda()#1}&&) (__f=...) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/invoke.h:61
#11 0x00007ff6a9a2a735 in std::__invoke<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}>(AsyncAppenderTestCase::testMultiThread()::{lambda()#1}&&) (__fn=...) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/invoke.h:96
#12 0x00007ff6a9a22bf8 in std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> >::_M_invoke<0ull>(std::_Index_tuple<0ull>) (this=0x14616e786f8) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:301
#13 0x00007ff6a9a22c78 in std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> >::operator()() (this=0x14616e786f8) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:308
#14 0x00007ff6a9a22a6c in std::thread::_State_impl<std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> > >::_M_run() (this=0x14616e786f0) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:253
#15 0x00007ff948042c3f in ?? () from D:\a\_temp\msys64\ucrt64\bin\libstdc++-6.dll
#16 0x00007ff94bb94e0b in ?? () from D:\a\_temp\msys64\ucrt64\bin\libwinpthread-1.dll
#17 0x00007ff963e76b4c in ucrtbase!_recalloc () from C:\Windows\System32\ucrtbase.dll
#18 0x00007ff966154cb0 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
#19 0x00007ff9665fecdb in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
#20 0x0000000000000000 in ?? ()

Thread 10 (Thread 4336.0xe94):
#0  0x00007ff94bb92f73 in ?? () from D:\a\_temp\msys64\ucrt64\bin\libwinpthread-1.dll
#1  0x00007ff930fe1406 in __gthread_mutex_lock (__mutex=0x14616e642f8) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/x86_64-w64-mingw32/bits/gthr-default.h:762
#2  0x00007ff9310e0688 in std::mutex::lock (this=0x14616e642f8) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_mutex.h:113
#3  0x00007ff93108d04a in std::lock_guard<std::mutex>::lock_guard (this=0x17fc9ff3e8, __m=...) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_mutex.h:250
#4  0x00007ff930fe294f in log4cxx::helpers::AppenderAttachableImpl::getAllAppenders (this=0x14616e86b48) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/appenderattachableimpl.cpp:96
#5  0x00007ff930fe281a in log4cxx::helpers::AppenderAttachableImpl::appendLoopOnAppenders (this=0x14616e86b48, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 3, weak count 0) = {...}, p=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/appenderattachableimpl.cpp:80
#6  0x00007ff930fe7895 in log4cxx::AsyncAppender::dispatch (this=0x14616e642c0) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/asyncappender.cpp:558
#7  0x00007ff93110e916 in std::__invoke_impl<void, void (log4cxx::AsyncAppender::*)(), log4cxx::AsyncAppender*> (__f=@0x14616e78220: (void (log4cxx::AsyncAppender::*)(log4cxx::AsyncAppender * const)) 0x7ff930fe710c <log4cxx::AsyncAppender::dispatch()>, __t=@0x14616e78218: 0x14616e642c0) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/invoke.h:74
#8  0x00007ff93111e75c in std::__invoke<void (log4cxx::AsyncAppender::*)(), log4cxx::AsyncAppender*> (__fn=@0x14616e78220: (void (log4cxx::AsyncAppender::*)(log4cxx::AsyncAppender * const)) 0x7ff930fe710c <log4cxx::AsyncAppender::dispatch()>) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/invoke.h:96
#9  0x00007ff9310e3725 in std::thread::_Invoker<std::tuple<void (log4cxx::AsyncAppender::*)(), log4cxx::AsyncAppender*> >::_M_invoke<0ull, 1ull> (this=0x14616e78218) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:301
#10 0x00007ff9310e3798 in std::thread::_Invoker<std::tuple<void (log4cxx::AsyncAppender::*)(), log4cxx::AsyncAppender*> >::operator() (this=0x14616e78218) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:308
#11 0x00007ff9310e323c in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (log4cxx::AsyncAppender::*)(), log4cxx::AsyncAppender*> > >::_M_run (this=0x14616e78210) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:253
#12 0x00007ff948042c3f in ?? () from D:\a\_temp\msys64\ucrt64\bin\libstdc++-6.dll
#13 0x00007ff94bb94e0b in ?? () from D:\a\_temp\msys64\ucrt64\bin\libwinpthread-1.dll
#14 0x00007ff963e76b4c in ucrtbase!_recalloc () from C:\Windows\System32\ucrtbase.dll
#15 0x00007ff966154cb0 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
#16 0x00007ff9665fecdb in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
#17 0x0000000000000000 in ?? ()

Thread 9 (Thread 4336.0x664):
#0  0x00007ff6a9a1cb21 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_is_local (this=0x17fc7ff810) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/basic_string.h:267
#1  0x00007ff6a9a246b8 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose (this=0x17fc7ff880) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/basic_string.h:287
#2  0x00007ff6a9a262b8 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string (this=0x17fc7ff880, __in_chrg=<optimized out>) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/basic_string.h:809
#3  0x00007ff6a9a2acc7 in AsyncAppenderTestCase::testMultiThread()::{lambda()#1}::operator()() const (__closure=0x14616e64618) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/test/cpp/asyncappendertestcase.cpp:253
#4  0x00007ff6a9a28b80 in std::__invoke_impl<void, AsyncAppenderTestCase::testMultiThread()::{lambda()#1}>(std::__invoke_other, AsyncAppenderTestCase::testMultiThread()::{lambda()#1}&&) (__f=...) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/invoke.h:61
#5  0x00007ff6a9a2a735 in std::__invoke<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}>(AsyncAppenderTestCase::testMultiThread()::{lambda()#1}&&) (__fn=...) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/invoke.h:96
#6  0x00007ff6a9a22bf8 in std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> >::_M_invoke<0ull>(std::_Index_tuple<0ull>) (this=0x14616e64618) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:301
#7  0x00007ff6a9a22c78 in std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> >::operator()() (this=0x14616e64618) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:308
#8  0x00007ff6a9a22a6c in std::thread::_State_impl<std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> > >::_M_run() (this=0x14616e64610) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:253
#9  0x00007ff948042c3f in ?? () from D:\a\_temp\msys64\ucrt64\bin\libstdc++-6.dll
#10 0x00007ff94bb94e0b in ?? () from D:\a\_temp\msys64\ucrt64\bin\libwinpthread-1.dll
#11 0x00007ff963e76b4c in ucrtbase!_recalloc () from C:\Windows\System32\ucrtbase.dll
#12 0x00007ff966154cb0 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
#13 0x00007ff9665fecdb in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
#14 0x0000000000000000 in ?? ()

Thread 8 (Thread 4336.0x90c):
#0  0x00007ff9310a3de1 in std::_Vector_base<std::shared_ptr<log4cxx::Appender>, std::allocator<std::shared_ptr<log4cxx::Appender> > >::_M_get_Tp_allocator (this=0x17fc5ffab0) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/stl_vector.h:300
#1  0x00007ff9310ea9f8 in std::vector<std::shared_ptr<log4cxx::Appender>, std::allocator<std::shared_ptr<log4cxx::Appender> > >::~vector (this=0x17fc5ffb10, __in_chrg=<optimized out>) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/stl_vector.h:736
#2  0x00007ff930fe28c5 in log4cxx::helpers::AppenderAttachableImpl::appendLoopOnAppenders (this=0x14616e30958, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 3, weak count 0) = {...}, p=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/appenderattachableimpl.cpp:86
#3  0x00007ff93100ff4c in log4cxx::Logger::callAppenders (this=0x14616e64830, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 3, weak count 0) = {...}, p=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/logger.cpp:140
#4  0x00007ff931010146 in log4cxx::Logger::addEvent (this=0x14616e64830, level=std::shared_ptr<log4cxx::Level> (use count 435, weak count 0) = {...}, message=..., location=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/logger.cpp:175
#5  0x00007ff931010380 in log4cxx::Logger::addDebugEvent (this=0x14616e64830, message=..., location=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/logger.cpp:200
#6  0x00007ff6a9a2acbb in AsyncAppenderTestCase::testMultiThread()::{lambda()#1}::operator()() const (__closure=0x14616e64498) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/test/cpp/asyncappendertestcase.cpp:253
#7  0x00007ff6a9a28b80 in std::__invoke_impl<void, AsyncAppenderTestCase::testMultiThread()::{lambda()#1}>(std::__invoke_other, AsyncAppenderTestCase::testMultiThread()::{lambda()#1}&&) (__f=...) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/invoke.h:61
#8  0x00007ff6a9a2a735 in std::__invoke<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}>(AsyncAppenderTestCase::testMultiThread()::{lambda()#1}&&) (__fn=...) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/invoke.h:96
#9  0x00007ff6a9a22bf8 in std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> >::_M_invoke<0ull>(std::_Index_tuple<0ull>) (this=0x14616e64498) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:301
#10 0x00007ff6a9a22c78 in std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> >::operator()() (this=0x14616e64498) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:308
#11 0x00007ff6a9a22a6c in std::thread::_State_impl<std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> > >::_M_run() (this=0x14616e64490) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:253
#12 0x00007ff948042c3f in ?? () from D:\a\_temp\msys64\ucrt64\bin\libstdc++-6.dll
#13 0x00007ff94bb94e0b in ?? () from D:\a\_temp\msys64\ucrt64\bin\libwinpthread-1.dll
#14 0x00007ff963e76b4c in ucrtbase!_recalloc () from C:\Windows\System32\ucrtbase.dll
#15 0x00007ff966154cb0 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
#16 0x00007ff9665fecdb in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
#17 0x0000000000000000 in ?? ()

Thread 7 (Thread 4336.0x1410):
#0  0x00007ff930fe6074 in std::__atomic_base<unsigned long long>::compare_exchange_weak (this=0x14616e86c00, __i1=@0x17fc3ff2a8: 429, __i2=430, __m1=std::memory_order::release, __m2=std::memory_order::relaxed) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/atomic_base.h:536
#1  std::__atomic_base<unsigned long long>::compare_exchange_weak (this=0x14616e86c00, __i1=<optimized out>, __i2=430, __m=std::memory_order::release) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/atomic_base.h:555
#2  log4cxx::AsyncAppender::append (this=0x14616e642c0, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, p=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/asyncappender.cpp:314
#3  0x00007ff930fe401f in log4cxx::AppenderSkeleton::doAppendImpl (this=0x14616e642c8, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, pool1=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/appenderskeleton.cpp:131
#4  0x00007ff930fe5a04 in log4cxx::AsyncAppender::doAppend (this=0x14616e642c0, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, pool1=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/asyncappender.cpp:280
#5  0x00007ff930fe2886 in log4cxx::helpers::AppenderAttachableImpl::appendLoopOnAppenders (this=0x14616e30958, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, p=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/appenderattachableimpl.cpp:83
#6  0x00007ff93100ff4c in log4cxx::Logger::callAppenders (this=0x14616e64830, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, p=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/logger.cpp:140
#7  0x00007ff931010146 in log4cxx::Logger::addEvent (this=0x14616e64830, level=std::shared_ptr<log4cxx::Level> (use count 435, weak count 0) = {...}, message=..., location=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/logger.cpp:175
#8  0x00007ff931010380 in log4cxx::Logger::addDebugEvent (this=0x14616e64830, message=..., location=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/logger.cpp:200
#9  0x00007ff6a9a2acbb in AsyncAppenderTestCase::testMultiThread()::{lambda()#1}::operator()() const (__closure=0x14616e64438) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/test/cpp/asyncappendertestcase.cpp:253
#10 0x00007ff6a9a28b80 in std::__invoke_impl<void, AsyncAppenderTestCase::testMultiThread()::{lambda()#1}>(std::__invoke_other, AsyncAppenderTestCase::testMultiThread()::{lambda()#1}&&) (__f=...) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/invoke.h:61
#11 0x00007ff6a9a2a735 in std::__invoke<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}>(AsyncAppenderTestCase::testMultiThread()::{lambda()#1}&&) (__fn=...) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/invoke.h:96
#12 0x00007ff6a9a22bf8 in std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> >::_M_invoke<0ull>(std::_Index_tuple<0ull>) (this=0x14616e64438) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:301
#13 0x00007ff6a9a22c78 in std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> >::operator()() (this=0x14616e64438) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:308
#14 0x00007ff6a9a22a6c in std::thread::_State_impl<std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> > >::_M_run() (this=0x14616e64430) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:253
#15 0x00007ff948042c3f in ?? () from D:\a\_temp\msys64\ucrt64\bin\libstdc++-6.dll
#16 0x00007ff94bb94e0b in ?? () from D:\a\_temp\msys64\ucrt64\bin\libwinpthread-1.dll
#17 0x00007ff963e76b4c in ucrtbase!_recalloc () from C:\Windows\System32\ucrtbase.dll
#18 0x00007ff966154cb0 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
#19 0x00007ff9665fecdb in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
#20 0x0000000000000000 in ?? ()

Thread 6 (Thread 4336.0x764):
#0  0x00007ff930fe606c in std::__atomic_base<unsigned long long>::compare_exchange_weak (this=0x14616e86c00, __i1=@0x17fc1ff848: 430, __i2=431, __m1=std::memory_order::release, __m2=std::memory_order::relaxed) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/atomic_base.h:536
#1  std::__atomic_base<unsigned long long>::compare_exchange_weak (this=0x14616e86c00, __i1=<optimized out>, __i2=431, __m=std::memory_order::release) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/atomic_base.h:555
#2  log4cxx::AsyncAppender::append (this=0x14616e642c0, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, p=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/asyncappender.cpp:314
#3  0x00007ff930fe401f in log4cxx::AppenderSkeleton::doAppendImpl (this=0x14616e642c8, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, pool1=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/appenderskeleton.cpp:131
#4  0x00007ff930fe5a04 in log4cxx::AsyncAppender::doAppend (this=0x14616e642c0, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, pool1=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/asyncappender.cpp:280
#5  0x00007ff930fe2886 in log4cxx::helpers::AppenderAttachableImpl::appendLoopOnAppenders (this=0x14616e30958, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, p=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/appenderattachableimpl.cpp:83
#6  0x00007ff93100ff4c in log4cxx::Logger::callAppenders (this=0x14616e64830, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, p=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/logger.cpp:140
#7  0x00007ff931010146 in log4cxx::Logger::addEvent (this=0x14616e64830, level=std::shared_ptr<log4cxx::Level> (use count 435, weak count 0) = {...}, message=..., location=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/logger.cpp:175
#8  0x00007ff931010380 in log4cxx::Logger::addDebugEvent (this=0x14616e64830, message=..., location=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/logger.cpp:200
#9  0x00007ff6a9a2acbb in AsyncAppenderTestCase::testMultiThread()::{lambda()#1}::operator()() const (__closure=0x14616e645e8) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/test/cpp/asyncappendertestcase.cpp:253
#10 0x00007ff6a9a28b80 in std::__invoke_impl<void, AsyncAppenderTestCase::testMultiThread()::{lambda()#1}>(std::__invoke_other, AsyncAppenderTestCase::testMultiThread()::{lambda()#1}&&) (__f=...) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/invoke.h:61
#11 0x00007ff6a9a2a735 in std::__invoke<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}>(AsyncAppenderTestCase::testMultiThread()::{lambda()#1}&&) (__fn=...) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/invoke.h:96
#12 0x00007ff6a9a22bf8 in std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> >::_M_invoke<0ull>(std::_Index_tuple<0ull>) (this=0x14616e645e8) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:301
#13 0x00007ff6a9a22c78 in std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> >::operator()() (this=0x14616e645e8) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:308
#14 0x00007ff6a9a22a6c in std::thread::_State_impl<std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> > >::_M_run() (this=0x14616e645e0) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:253
#15 0x00007ff948042c3f in ?? () from D:\a\_temp\msys64\ucrt64\bin\libstdc++-6.dll
#16 0x00007ff94bb94e0b in ?? () from D:\a\_temp\msys64\ucrt64\bin\libwinpthread-1.dll
#17 0x00007ff963e76b4c in ucrtbase!_recalloc () from C:\Windows\System32\ucrtbase.dll
#18 0x00007ff966154cb0 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
#19 0x00007ff9665fecdb in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
#20 0x0000000000000000 in ?? ()

Thread 5 (Thread 4336.0x1a74):
#0  0x00007ff930fe606c in std::__atomic_base<unsigned long long>::compare_exchange_weak (this=0x14616e86c00, __i1=@0x17fbfff408: 428, __i2=429, __m1=std::memory_order::release, __m2=std::memory_order::relaxed) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/atomic_base.h:536
#1  std::__atomic_base<unsigned long long>::compare_exchange_weak (this=0x14616e86c00, __i1=<optimized out>, __i2=429, __m=std::memory_order::release) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/atomic_base.h:555
#2  log4cxx::AsyncAppender::append (this=0x14616e642c0, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, p=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/asyncappender.cpp:314
#3  0x00007ff930fe401f in log4cxx::AppenderSkeleton::doAppendImpl (this=0x14616e642c8, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, pool1=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/appenderskeleton.cpp:131
#4  0x00007ff930fe5a04 in log4cxx::AsyncAppender::doAppend (this=0x14616e642c0, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, pool1=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/asyncappender.cpp:280
#5  0x00007ff930fe2886 in log4cxx::helpers::AppenderAttachableImpl::appendLoopOnAppenders (this=0x14616e30958, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, p=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/appenderattachableimpl.cpp:83
#6  0x00007ff93100ff4c in log4cxx::Logger::callAppenders (this=0x14616e64830, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, p=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/logger.cpp:140
#7  0x00007ff931010146 in log4cxx::Logger::addEvent (this=0x14616e64830, level=std::shared_ptr<log4cxx::Level> (use count 435, weak count 0) = {...}, message=..., location=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/logger.cpp:175
#8  0x00007ff931010380 in log4cxx::Logger::addDebugEvent (this=0x14616e64830, message=..., location=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/logger.cpp:200
#9  0x00007ff6a9a2acbb in AsyncAppenderTestCase::testMultiThread()::{lambda()#1}::operator()() const (__closure=0x14616e64708) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/test/cpp/asyncappendertestcase.cpp:253
#10 0x00007ff6a9a28b80 in std::__invoke_impl<void, AsyncAppenderTestCase::testMultiThread()::{lambda()#1}>(std::__invoke_other, AsyncAppenderTestCase::testMultiThread()::{lambda()#1}&&) (__f=...) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/invoke.h:61
#11 0x00007ff6a9a2a735 in std::__invoke<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}>(AsyncAppenderTestCase::testMultiThread()::{lambda()#1}&&) (__fn=...) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/invoke.h:96
#12 0x00007ff6a9a22bf8 in std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> >::_M_invoke<0ull>(std::_Index_tuple<0ull>) (this=0x14616e64708) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:301
#13 0x00007ff6a9a22c78 in std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> >::operator()() (this=0x14616e64708) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:308
#14 0x00007ff6a9a22a6c in std::thread::_State_impl<std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> > >::_M_run() (this=0x14616e64700) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:253
#15 0x00007ff948042c3f in ?? () from D:\a\_temp\msys64\ucrt64\bin\libstdc++-6.dll
#16 0x00007ff94bb94e0b in ?? () from D:\a\_temp\msys64\ucrt64\bin\libwinpthread-1.dll
#17 0x00007ff963e76b4c in ucrtbase!_recalloc () from C:\Windows\System32\ucrtbase.dll
#18 0x00007ff966154cb0 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
#19 0x00007ff9665fecdb in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
#20 0x0000000000000000 in ?? ()

Thread 4 (Thread 4336.0x18bc):
#0  0x00007ff9666233d4 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\Windows\SYSTEM32\ntdll.dll
#1  0x00007ff96658b77f in ntdll!RtlInitializeResource () from C:\Windows\SYSTEM32\ntdll.dll
#2  0x00007ff966154cb0 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
#3  0x00007ff9665fecdb in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
#4  0x0000000000000000 in ?? ()

Thread 3 (Thread 4336.0x6e8):
#0  0x00007ff9666233d4 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\Windows\SYSTEM32\ntdll.dll
#1  0x00007ff96658b77f in ntdll!RtlInitializeResource () from C:\Windows\SYSTEM32\ntdll.dll
#2  0x00007ff966154cb0 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
#3  0x00007ff9665fecdb in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
#4  0x0000000000000000 in ?? ()

Thread 2 (Thread 4336.0x1770):
#0  0x00007ff9666233d4 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\Windows\SYSTEM32\ntdll.dll
#1  0x00007ff96658b77f in ntdll!RtlInitializeResource () from C:\Windows\SYSTEM32\ntdll.dll
#2  0x00007ff966154cb0 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
#3  0x00007ff9665fecdb in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
#4  0x0000000000000000 in ?? ()

Thread 1 (Thread 4336.0x8ec):
#0  0x00007ff96661f904 in ntdll!ZwWaitForSingleObject () from C:\Windows\SYSTEM32\ntdll.dll
#1  0x00007ff9640dd71e in WaitForSingleObjectEx () from C:\Windows\System32\KernelBase.dll
#2  0x00007ff94bb9690a in ?? () from D:\a\_temp\msys64\ucrt64\bin\libwinpthread-1.dll
#3  0x00007ff947ffd8f7 in ?? () from D:\a\_temp\msys64\ucrt64\bin\libstdc++-6.dll
#4  0x00007ff6a9a16c1a in AsyncAppenderTestCase::testMultiThread (this=0x17fb7ff4f0) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/test/cpp/asyncappendertestcase.cpp:262
#5  0x00007ff6a9a19898 in LogUnit::runTest<AsyncAppenderTestCase> (tc=0x17fb7ff5e0, func=(void (AsyncAppenderTestCase::*)(AsyncAppenderTestCase * const)) 0x7ff6a9a169d0 <AsyncAppenderTestCase::testMultiThread()>) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/test/cpp/logunit.h:115
#6  0x00007ff6a9a15768 in AsyncAppenderTestCase::RegisterSuite::testMultiThreadRegistration::run (tc=0x17fb7ff5e0) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/test/cpp/asyncappendertestcase.cpp:127
#7  0x00007ff6a9a11b63 in abts_run_test (ts=0x14616e3feb0, name=0x7ff6a9a2d137 "testMultiThread", f=0x7ff6a9a15730 <AsyncAppenderTestCase::RegisterSuite::testMultiThreadRegistration::run(abts_case*, void*)>, value=0x0) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/test/cpp/abts.cpp:215
#8  0x00007ff6a9a1364e in LogUnit::TestSuite::run (this=0x7ff6a9a2c120 <AsyncAppenderTestCase::getSuite()::suite>, suite=0x14616e3feb0) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/test/cpp/logunit.cpp:281
#9  0x00007ff6a9a12cec in abts_run_suites (suite=0x0) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/test/cpp/logunit.cpp:66
#10 0x00007ff6a9a1277d in main (argc=2, argv=0x14616e3fcd0) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/test/cpp/abts.cpp:595
warning: Exception condition detected on fd 0

@swebb2066
Copy link
Contributor Author

And another stack trace captured by #415 possibly indicating a race condition problem:

(gdb)   Id   Target Id          Frame 
  1    Thread 3924.0x1374 0x00007ffb7457f904 in ntdll!ZwWaitForSingleObject ()
   from C:\Windows\SYSTEM32\ntdll.dll
  2    Thread 3924.0x1af4 0x00007ffb745833d4 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\Windows\SYSTEM32\ntdll.dll
  3    Thread 3924.0xe84  0x00007ffb745833d4 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\Windows\SYSTEM32\ntdll.dll
  4    Thread 3924.0x66c  0x00007ffb745833d4 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\Windows\SYSTEM32\ntdll.dll
  5    Thread 3924.0x150c 0x00007ffb3e47606c in std::__atomic_base<unsigned long long>::compare_exchange_weak (this=0x16ae8ee4240, __i1=@0x6491fff848: 499, 
    __i2=500, __m1=std::memory_order::release, __m2=std::memory_order::relaxed)
    at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/atomic_base.h:536
  6    Thread 3924.0xf4c  std::__atomic_base<unsigned long long>::compare_exchange_weak (this=0x16ae8ee4240, __i1=<optimized out>, __i2=499, 
    __m=std::memory_order::release)
    at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/atomic_base.h:555
  7    Thread 3924.0xa9c  0x00007ffb55e79f2a in ?? ()
   from D:\a\_temp\msys64\ucrt64\bin\libstdc++-6.dll
  8    Thread 3924.0xf1c  0x00007ffb55ed9901 in ?? ()
   from D:\a\_temp\msys64\ucrt64\bin\libstdc++-6.dll
  9    Thread 3924.0xb98  std::operator& (__m=std::memory_order::release, 
    __mod=std::__memory_order_modifier_mask)
    at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/atomic_base.h:112
  10   Thread 3924.0xf38  0x00007ffb3e5a60a6 in std::__cmpexch_failure_order (
    __m=3907931264)
    at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/atomic_base.h:126
  11   Thread 3924.0x194c 0x00007ffb744fc9ef in ntdll!RtlAllocateHeap ()
   from C:\Windows\SYSTEM32\ntdll.dll
* 12   Thread 3924.0x130c 0x00007ffb74583431 in ntdll!DbgBreakPoint ()
   from C:\Windows\SYSTEM32\ntdll.dll
(gdb) 
Thread 12 (Thread 3924.0x130c):
#0  0x00007ffb74583431 in ntdll!DbgBreakPoint () from C:\Windows\SYSTEM32\ntdll.dll
#1  0x00007ffb745afc1e in ntdll!DbgUiRemoteBreakin () from C:\Windows\SYSTEM32\ntdll.dll
#2  0x00007ffb73314cb0 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
#3  0x00007ffb7455ecdb in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
#4  0x0000000000000000 in ?? ()

Thread 11 (Thread 3924.0x194c):
#0  0x00007ffb744fc9ef in ntdll!RtlAllocateHeap () from C:\Windows\SYSTEM32\ntdll.dll
#1  0x00007ffb744fbf5a in ntdll!RtlAllocateHeap () from C:\Windows\SYSTEM32\ntdll.dll
#2  0x00007ffb71f9ffa6 in ucrtbase!_malloc_base () from C:\Windows\System32\ucrtbase.dll
#3  0x00007ffb55f9135c in ?? () from D:\a\_temp\msys64\ucrt64\bin\libstdc++-6.dll
#4  0x00007ffb3e550233 in std::__new_allocator<std::shared_ptr<log4cxx::Appender> >::allocate (this=0x6492bff8a0, __n=1) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/new_allocator.h:151
#5  0x00007ffb3e533cac in std::allocator<std::shared_ptr<log4cxx::Appender> >::allocate (this=0x6492bff8a0, __n=1) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/allocator.h:196
#6  std::allocator_traits<std::allocator<std::shared_ptr<log4cxx::Appender> > >::allocate (__a=..., __n=1) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/alloc_traits.h:478
#7  std::_Vector_base<std::shared_ptr<log4cxx::Appender>, std::allocator<std::shared_ptr<log4cxx::Appender> > >::_M_allocate (this=0x6492bff8a0, __n=1) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/stl_vector.h:380
#8  0x00007ffb3e57a6eb in std::vector<std::shared_ptr<log4cxx::Appender>, std::allocator<std::shared_ptr<log4cxx::Appender> > >::_M_allocate_and_copy<__gnu_cxx::__normal_iterator<std::shared_ptr<log4cxx::Appender> const*, std::vector<std::shared_ptr<log4cxx::Appender>, std::allocator<std::shared_ptr<log4cxx::Appender> > > > > (this=0x6492bff8a0, __n=1, __first=std::shared_ptr<log4cxx::Appender> (use count 2, weak count 0) = {...}, __last=<error reading variable: Cannot access memory at address 0x8800010018f56200>) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/stl_vector.h:1621
#9  0x00007ffb3e57abb1 in std::vector<std::shared_ptr<log4cxx::Appender>, std::allocator<std::shared_ptr<log4cxx::Appender> > >::operator= (this=0x6492bff8a0, __x=std::vector of length 1, capacity 1 = {...}) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/vector.tcc:238
#10 0x00007ffb3e47296e in log4cxx::helpers::AppenderAttachableImpl::getAllAppenders (this=0x16ae8ee4188) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/appenderattachableimpl.cpp:97
#11 0x00007ffb3e47281a in log4cxx::helpers::AppenderAttachableImpl::appendLoopOnAppenders (this=0x16ae8ee4188, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 3, weak count 0) = {...}, p=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/appenderattachableimpl.cpp:80
#12 0x00007ffb3e477895 in log4cxx::AsyncAppender::dispatch (this=0x16ae8ee4c70) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/asyncappender.cpp:558
#13 0x00007ffb3e59e916 in std::__invoke_impl<void, void (log4cxx::AsyncAppender::*)(), log4cxx::AsyncAppender*> (__f=@0x16ae8ef6cc0: (void (log4cxx::AsyncAppender::*)(log4cxx::AsyncAppender * const)) 0x7ffb3e47710c <log4cxx::AsyncAppender::dispatch()>, __t=@0x16ae8ef6cb8: 0x16ae8ee4c70) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/invoke.h:74
#14 0x00007ffb3e5ae75c in std::__invoke<void (log4cxx::AsyncAppender::*)(), log4cxx::AsyncAppender*> (__fn=@0x16ae8ef6cc0: (void (log4cxx::AsyncAppender::*)(log4cxx::AsyncAppender * const)) 0x7ffb3e47710c <log4cxx::AsyncAppender::dispatch()>) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/invoke.h:96
#15 0x00007ffb3e573725 in std::thread::_Invoker<std::tuple<void (log4cxx::AsyncAppender::*)(), log4cxx::AsyncAppender*> >::_M_invoke<0ull, 1ull> (this=0x16ae8ef6cb8) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:301
#16 0x00007ffb3e573798 in std::thread::_Invoker<std::tuple<void (log4cxx::AsyncAppender::*)(), log4cxx::AsyncAppender*> >::operator() (this=0x16ae8ef6cb8) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:308
#17 0x00007ffb3e57323c in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (log4cxx::AsyncAppender::*)(), log4cxx::AsyncAppender*> > >::_M_run (this=0x16ae8ef6cb0) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:253
#18 0x00007ffb55f92c3f in ?? () from D:\a\_temp\msys64\ucrt64\bin\libstdc++-6.dll
#19 0x00007ffb64164e0b in ?? () from D:\a\_temp\msys64\ucrt64\bin\libwinpthread-1.dll
#20 0x00007ffb71fb6b4c in ucrtbase!_recalloc () from C:\Windows\System32\ucrtbase.dll
#21 0x00007ffb73314cb0 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
#22 0x00007ffb7455ecdb in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
#23 0x0000000000000000 in ?? ()

Thread 10 (Thread 3924.0xf38):
#0  0x00007ffb3e5a60a6 in std::__cmpexch_failure_order (__m=3907931264) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/atomic_base.h:126
#1  0x00007ffb3e475ff3 in std::__atomic_base<unsigned long long>::compare_exchange_weak (this=0x16ae8ee4240, __i1=<optimized out>, __i2=501, __m=std::memory_order::release) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/atomic_base.h:555
#2  log4cxx::AsyncAppender::append (this=0x16ae8ee4c70, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, p=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/asyncappender.cpp:314
#3  0x00007ffb3e47401f in log4cxx::AppenderSkeleton::doAppendImpl (this=0x16ae8ee4c78, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, pool1=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/appenderskeleton.cpp:131
#4  0x00007ffb3e475a04 in log4cxx::AsyncAppender::doAppend (this=0x16ae8ee4c70, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, pool1=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/asyncappender.cpp:280
#5  0x00007ffb3e472886 in log4cxx::helpers::AppenderAttachableImpl::appendLoopOnAppenders (this=0x16ae8eb3a68, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, p=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/appenderattachableimpl.cpp:83
#6  0x00007ffb3e49ff4c in log4cxx::Logger::callAppenders (this=0x16ae8ee49a0, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, p=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/logger.cpp:140
#7  0x00007ffb3e4a0146 in log4cxx::Logger::addEvent (this=0x16ae8ee49a0, level=std::shared_ptr<log4cxx::Level> (use count 505, weak count 0) = {...}, message=..., location=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/logger.cpp:175
#8  0x00007ffb3e4a0380 in log4cxx::Logger::addDebugEvent (this=0x16ae8ee49a0, message=..., location=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/logger.cpp:200
#9  0x00007ff60052acbb in AsyncAppenderTestCase::testMultiThread()::{lambda()#1}::operator()() const (__closure=0x16ae8ef7138) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/test/cpp/asyncappendertestcase.cpp:253
#10 0x00007ff600528b80 in std::__invoke_impl<void, AsyncAppenderTestCase::testMultiThread()::{lambda()#1}>(std::__invoke_other, AsyncAppenderTestCase::testMultiThread()::{lambda()#1}&&) (__f=...) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/invoke.h:61
#11 0x00007ff60052a735 in std::__invoke<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}>(AsyncAppenderTestCase::testMultiThread()::{lambda()#1}&&) (__fn=...) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/invoke.h:96
#12 0x00007ff600522bf8 in std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> >::_M_invoke<0ull>(std::_Index_tuple<0ull>) (this=0x16ae8ef7138) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:301
#13 0x00007ff600522c78 in std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> >::operator()() (this=0x16ae8ef7138) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:308
#14 0x00007ff600522a6c in std::thread::_State_impl<std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> > >::_M_run() (this=0x16ae8ef7130) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:253
#15 0x00007ffb55f92c3f in ?? () from D:\a\_temp\msys64\ucrt64\bin\libstdc++-6.dll
#16 0x00007ffb64164e0b in ?? () from D:\a\_temp\msys64\ucrt64\bin\libwinpthread-1.dll
#17 0x00007ffb71fb6b4c in ucrtbase!_recalloc () from C:\Windows\System32\ucrtbase.dll
#18 0x00007ffb73314cb0 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
#19 0x00007ffb7455ecdb in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
#20 0x0000000000000000 in ?? ()

Thread 9 (Thread 3924.0xb98):
#0  std::operator& (__m=std::memory_order::release, __mod=std::__memory_order_modifier_mask) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/atomic_base.h:112
#1  0x00007ffb3e5a60bd in std::__cmpexch_failure_order (__m=std::memory_order::release) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/atomic_base.h:128
#2  0x00007ffb3e475ff3 in std::__atomic_base<unsigned long long>::compare_exchange_weak (this=0x16ae8ee4240, __i1=<optimized out>, __i2=502, __m=std::memory_order::release) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/atomic_base.h:555
#3  log4cxx::AsyncAppender::append (this=0x16ae8ee4c70, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, p=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/asyncappender.cpp:314
#4  0x00007ffb3e47401f in log4cxx::AppenderSkeleton::doAppendImpl (this=0x16ae8ee4c78, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, pool1=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/appenderskeleton.cpp:131
#5  0x00007ffb3e475a04 in log4cxx::AsyncAppender::doAppend (this=0x16ae8ee4c70, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, pool1=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/asyncappender.cpp:280
#6  0x00007ffb3e472886 in log4cxx::helpers::AppenderAttachableImpl::appendLoopOnAppenders (this=0x16ae8eb3a68, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, p=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/appenderattachableimpl.cpp:83
#7  0x00007ffb3e49ff4c in log4cxx::Logger::callAppenders (this=0x16ae8ee49a0, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, p=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/logger.cpp:140
#8  0x00007ffb3e4a0146 in log4cxx::Logger::addEvent (this=0x16ae8ee49a0, level=std::shared_ptr<log4cxx::Level> (use count 505, weak count 0) = {...}, message=..., location=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/logger.cpp:175
#9  0x00007ffb3e4a0380 in log4cxx::Logger::addDebugEvent (this=0x16ae8ee49a0, message=..., location=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/logger.cpp:200
#10 0x00007ff60052acbb in AsyncAppenderTestCase::testMultiThread()::{lambda()#1}::operator()() const (__closure=0x16ae8ef7078) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/test/cpp/asyncappendertestcase.cpp:253
#11 0x00007ff600528b80 in std::__invoke_impl<void, AsyncAppenderTestCase::testMultiThread()::{lambda()#1}>(std::__invoke_other, AsyncAppenderTestCase::testMultiThread()::{lambda()#1}&&) (__f=...) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/invoke.h:61
#12 0x00007ff60052a735 in std::__invoke<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}>(AsyncAppenderTestCase::testMultiThread()::{lambda()#1}&&) (__fn=...) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/invoke.h:96
#13 0x00007ff600522bf8 in std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> >::_M_invoke<0ull>(std::_Index_tuple<0ull>) (this=0x16ae8ef7078) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:301
#14 0x00007ff600522c78 in std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> >::operator()() (this=0x16ae8ef7078) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:308
#15 0x00007ff600522a6c in std::thread::_State_impl<std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> > >::_M_run() (this=0x16ae8ef7070) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:253
#16 0x00007ffb55f92c3f in ?? () from D:\a\_temp\msys64\ucrt64\bin\libstdc++-6.dll
#17 0x00007ffb64164e0b in ?? () from D:\a\_temp\msys64\ucrt64\bin\libwinpthread-1.dll
#18 0x00007ffb71fb6b4c in ucrtbase!_recalloc () from C:\Windows\System32\ucrtbase.dll
#19 0x00007ffb73314cb0 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
#20 0x00007ffb7455ecdb in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
#21 0x0000000000000000 in ?? ()

Thread 8 (Thread 3924.0xf1c):
#0  0x00007ffb55ed9901 in ?? () from D:\a\_temp\msys64\ucrt64\bin\libstdc++-6.dll
#1  0x00007ffb3e4aac71 in (anonymous namespace)::StringOrStream<char>::BufFromStream (this=0x16ae8f39430) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/messagebuffer.cpp:78
#2  0x00007ffb3e4a98b4 in log4cxx::helpers::CharMessageBuffer::extract_str[abi:cxx11](std::basic_ostream<char, std::char_traits<char> >&) (this=0x16ae8f0ec10) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/messagebuffer.cpp:159
#3  0x00007ffb3e4aa3e1 in log4cxx::helpers::MessageBuffer::extract_str[abi:cxx11](std::basic_ostream<char, std::char_traits<char> >&) (this=0x64925ff928, os=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/messagebuffer.cpp:451
#4  0x00007ff60052aca5 in AsyncAppenderTestCase::testMultiThread()::{lambda()#1}::operator()() const (__closure=0x16ae8ef73d8) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/test/cpp/asyncappendertestcase.cpp:253
#5  0x00007ff600528b80 in std::__invoke_impl<void, AsyncAppenderTestCase::testMultiThread()::{lambda()#1}>(std::__invoke_other, AsyncAppenderTestCase::testMultiThread()::{lambda()#1}&&) (__f=...) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/invoke.h:61
#6  0x00007ff60052a735 in std::__invoke<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}>(AsyncAppenderTestCase::testMultiThread()::{lambda()#1}&&) (__fn=...) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/invoke.h:96
#7  0x00007ff600522bf8 in std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> >::_M_invoke<0ull>(std::_Index_tuple<0ull>) (this=0x16ae8ef73d8) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:301
#8  0x00007ff600522c78 in std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> >::operator()() (this=0x16ae8ef73d8) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:308
#9  0x00007ff600522a6c in std::thread::_State_impl<std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> > >::_M_run() (this=0x16ae8ef73d0) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:253
#10 0x00007ffb55f92c3f in ?? () from D:\a\_temp\msys64\ucrt64\bin\libstdc++-6.dll
#11 0x00007ffb64164e0b in ?? () from D:\a\_temp\msys64\ucrt64\bin\libwinpthread-1.dll
#12 0x00007ffb71fb6b4c in ucrtbase!_recalloc () from C:\Windows\System32\ucrtbase.dll
#13 0x00007ffb73314cb0 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
#14 0x00007ffb7455ecdb in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
#15 0x0000000000000000 in ?? ()

Thread 7 (Thread 3924.0xa9c):
#0  0x00007ffb55e79f2a in ?? () from D:\a\_temp\msys64\ucrt64\bin\libstdc++-6.dll
#1  0x00007ffb55ec012a in ?? () from D:\a\_temp\msys64\ucrt64\bin\libstdc++-6.dll
#2  0x00007ffb55ec1dbc in ?? () from D:\a\_temp\msys64\ucrt64\bin\libstdc++-6.dll
#3  0x00007ffb55ee22f9 in ?? () from D:\a\_temp\msys64\ucrt64\bin\libstdc++-6.dll
#4  0x00007ffb3e4a9a64 in log4cxx::helpers::CharMessageBuffer::operator<< (this=0x16ae8f00710, val=96) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/messagebuffer.cpp:199
#5  0x00007ff60052ac8f in AsyncAppenderTestCase::testMultiThread()::{lambda()#1}::operator()() const (__closure=0x16ae8ee4de8) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/test/cpp/asyncappendertestcase.cpp:253
#6  0x00007ff600528b80 in std::__invoke_impl<void, AsyncAppenderTestCase::testMultiThread()::{lambda()#1}>(std::__invoke_other, AsyncAppenderTestCase::testMultiThread()::{lambda()#1}&&) (__f=...) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/invoke.h:61
#7  0x00007ff60052a735 in std::__invoke<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}>(AsyncAppenderTestCase::testMultiThread()::{lambda()#1}&&) (__fn=...) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/invoke.h:96
#8  0x00007ff600522bf8 in std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> >::_M_invoke<0ull>(std::_Index_tuple<0ull>) (this=0x16ae8ee4de8) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:301
#9  0x00007ff600522c78 in std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> >::operator()() (this=0x16ae8ee4de8) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:308
#10 0x00007ff600522a6c in std::thread::_State_impl<std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> > >::_M_run() (this=0x16ae8ee4de0) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:253
#11 0x00007ffb55f92c3f in ?? () from D:\a\_temp\msys64\ucrt64\bin\libstdc++-6.dll
#12 0x00007ffb64164e0b in ?? () from D:\a\_temp\msys64\ucrt64\bin\libwinpthread-1.dll
#13 0x00007ffb71fb6b4c in ucrtbase!_recalloc () from C:\Windows\System32\ucrtbase.dll
#14 0x00007ffb73314cb0 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
#15 0x00007ffb7455ecdb in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
#16 0x0000000000000000 in ?? ()

Thread 6 (Thread 3924.0xf4c):
#0  std::__atomic_base<unsigned long long>::compare_exchange_weak (this=0x16ae8ee4240, __i1=<optimized out>, __i2=499, __m=std::memory_order::release) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/atomic_base.h:555
#1  log4cxx::AsyncAppender::append (this=0x16ae8ee4c70, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, p=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/asyncappender.cpp:314
#2  0x00007ffb3e47401f in log4cxx::AppenderSkeleton::doAppendImpl (this=0x16ae8ee4c78, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, pool1=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/appenderskeleton.cpp:131
#3  0x00007ffb3e475a04 in log4cxx::AsyncAppender::doAppend (this=0x16ae8ee4c70, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, pool1=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/asyncappender.cpp:280
#4  0x00007ffb3e472886 in log4cxx::helpers::AppenderAttachableImpl::appendLoopOnAppenders (this=0x16ae8eb3a68, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, p=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/appenderattachableimpl.cpp:83
#5  0x00007ffb3e49ff4c in log4cxx::Logger::callAppenders (this=0x16ae8ee49a0, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, p=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/logger.cpp:140
#6  0x00007ffb3e4a0146 in log4cxx::Logger::addEvent (this=0x16ae8ee49a0, level=std::shared_ptr<log4cxx::Level> (use count 505, weak count 0) = {...}, message=..., location=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/logger.cpp:175
#7  0x00007ffb3e4a0380 in log4cxx::Logger::addDebugEvent (this=0x16ae8ee49a0, message=..., location=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/logger.cpp:200
#8  0x00007ff60052acbb in AsyncAppenderTestCase::testMultiThread()::{lambda()#1}::operator()() const (__closure=0x16ae8ee4b18) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/test/cpp/asyncappendertestcase.cpp:253
#9  0x00007ff600528b80 in std::__invoke_impl<void, AsyncAppenderTestCase::testMultiThread()::{lambda()#1}>(std::__invoke_other, AsyncAppenderTestCase::testMultiThread()::{lambda()#1}&&) (__f=...) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/invoke.h:61
#10 0x00007ff60052a735 in std::__invoke<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}>(AsyncAppenderTestCase::testMultiThread()::{lambda()#1}&&) (__fn=...) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/invoke.h:96
#11 0x00007ff600522bf8 in std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> >::_M_invoke<0ull>(std::_Index_tuple<0ull>) (this=0x16ae8ee4b18) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:301
#12 0x00007ff600522c78 in std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> >::operator()() (this=0x16ae8ee4b18) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:308
#13 0x00007ff600522a6c in std::thread::_State_impl<std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> > >::_M_run() (this=0x16ae8ee4b10) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:253
#14 0x00007ffb55f92c3f in ?? () from D:\a\_temp\msys64\ucrt64\bin\libstdc++-6.dll
#15 0x00007ffb64164e0b in ?? () from D:\a\_temp\msys64\ucrt64\bin\libwinpthread-1.dll
#16 0x00007ffb71fb6b4c in ucrtbase!_recalloc () from C:\Windows\System32\ucrtbase.dll
#17 0x00007ffb73314cb0 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
#18 0x00007ffb7455ecdb in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
#19 0x0000000000000000 in ?? ()

Thread 5 (Thread 3924.0x150c):
#0  0x00007ffb3e47606c in std::__atomic_base<unsigned long long>::compare_exchange_weak (this=0x16ae8ee4240, __i1=@0x6491fff848: 499, __i2=500, __m1=std::memory_order::release, __m2=std::memory_order::relaxed) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/atomic_base.h:536
#1  std::__atomic_base<unsigned long long>::compare_exchange_weak (this=0x16ae8ee4240, __i1=<optimized out>, __i2=500, __m=std::memory_order::release) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/atomic_base.h:555
#2  log4cxx::AsyncAppender::append (this=0x16ae8ee4c70, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, p=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/asyncappender.cpp:314
#3  0x00007ffb3e47401f in log4cxx::AppenderSkeleton::doAppendImpl (this=0x16ae8ee4c78, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, pool1=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/appenderskeleton.cpp:131
#4  0x00007ffb3e475a04 in log4cxx::AsyncAppender::doAppend (this=0x16ae8ee4c70, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, pool1=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/asyncappender.cpp:280
#5  0x00007ffb3e472886 in log4cxx::helpers::AppenderAttachableImpl::appendLoopOnAppenders (this=0x16ae8eb3a68, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, p=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/appenderattachableimpl.cpp:83
#6  0x00007ffb3e49ff4c in log4cxx::Logger::callAppenders (this=0x16ae8ee49a0, event=std::shared_ptr<log4cxx::spi::LoggingEvent> (use count 2, weak count 0) = {...}, p=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/logger.cpp:140
#7  0x00007ffb3e4a0146 in log4cxx::Logger::addEvent (this=0x16ae8ee49a0, level=std::shared_ptr<log4cxx::Level> (use count 505, weak count 0) = {...}, message=..., location=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/logger.cpp:175
#8  0x00007ffb3e4a0380 in log4cxx::Logger::addDebugEvent (this=0x16ae8ee49a0, message=..., location=...) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/main/cpp/logger.cpp:200
#9  0x00007ff60052acbb in AsyncAppenderTestCase::testMultiThread()::{lambda()#1}::operator()() const (__closure=0x16ae8ee4a28) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/test/cpp/asyncappendertestcase.cpp:253
#10 0x00007ff600528b80 in std::__invoke_impl<void, AsyncAppenderTestCase::testMultiThread()::{lambda()#1}>(std::__invoke_other, AsyncAppenderTestCase::testMultiThread()::{lambda()#1}&&) (__f=...) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/invoke.h:61
#11 0x00007ff60052a735 in std::__invoke<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}>(AsyncAppenderTestCase::testMultiThread()::{lambda()#1}&&) (__fn=...) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/invoke.h:96
#12 0x00007ff600522bf8 in std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> >::_M_invoke<0ull>(std::_Index_tuple<0ull>) (this=0x16ae8ee4a28) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:301
#13 0x00007ff600522c78 in std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> >::operator()() (this=0x16ae8ee4a28) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:308
#14 0x00007ff600522a6c in std::thread::_State_impl<std::thread::_Invoker<std::tuple<AsyncAppenderTestCase::testMultiThread()::{lambda()#1}> > >::_M_run() (this=0x16ae8ee4a20) at D:/a/_temp/msys64/ucrt64/include/c++/14.2.0/bits/std_thread.h:253
#15 0x00007ffb55f92c3f in ?? () from D:\a\_temp\msys64\ucrt64\bin\libstdc++-6.dll
#16 0x00007ffb64164e0b in ?? () from D:\a\_temp\msys64\ucrt64\bin\libwinpthread-1.dll
#17 0x00007ffb71fb6b4c in ucrtbase!_recalloc () from C:\Windows\System32\ucrtbase.dll
#18 0x00007ffb73314cb0 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
#19 0x00007ffb7455ecdb in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
#20 0x0000000000000000 in ?? ()

Thread 4 (Thread 3924.0x66c):
#0  0x00007ffb745833d4 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\Windows\SYSTEM32\ntdll.dll
#1  0x00007ffb744eb77f in ntdll!RtlInitializeResource () from C:\Windows\SYSTEM32\ntdll.dll
#2  0x00007ffb73314cb0 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
#3  0x00007ffb7455ecdb in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
#4  0x0000000000000000 in ?? ()

Thread 3 (Thread 3924.0xe84):
#0  0x00007ffb745833d4 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\Windows\SYSTEM32\ntdll.dll
#1  0x00007ffb744eb77f in ntdll!RtlInitializeResource () from C:\Windows\SYSTEM32\ntdll.dll
#2  0x00007ffb73314cb0 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
#3  0x00007ffb7455ecdb in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
#4  0x0000000000000000 in ?? ()

Thread 2 (Thread 3924.0x1af4):
#0  0x00007ffb745833d4 in ntdll!ZwWaitForWorkViaWorkerFactory () from C:\Windows\SYSTEM32\ntdll.dll
#1  0x00007ffb744eb77f in ntdll!RtlInitializeResource () from C:\Windows\SYSTEM32\ntdll.dll
#2  0x00007ffb73314cb0 in KERNEL32!BaseThreadInitThunk () from C:\Windows\System32\kernel32.dll
#3  0x00007ffb7455ecdb in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
#4  0x0000000000000000 in ?? ()

Thread 1 (Thread 3924.0x1374):
#0  0x00007ffb7457f904 in ntdll!ZwWaitForSingleObject () from C:\Windows\SYSTEM32\ntdll.dll
#1  0x00007ffb720dd71e in WaitForSingleObjectEx () from C:\Windows\System32\KernelBase.dll
#2  0x00007ffb6416690a in ?? () from D:\a\_temp\msys64\ucrt64\bin\libwinpthread-1.dll
#3  0x00007ffb55f4d8f7 in ?? () from D:\a\_temp\msys64\ucrt64\bin\libstdc++-6.dll
#4  0x00007ff600516c1a in AsyncAppenderTestCase::testMultiThread (this=0x64917ff7b0) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/test/cpp/asyncappendertestcase.cpp:262
#5  0x00007ff600519898 in LogUnit::runTest<AsyncAppenderTestCase> (tc=0x64917ff8a0, func=(void (AsyncAppenderTestCase::*)(AsyncAppenderTestCase * const)) 0x7ff6005169d0 <AsyncAppenderTestCase::testMultiThread()>) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/test/cpp/logunit.h:115
#6  0x00007ff600515768 in AsyncAppenderTestCase::RegisterSuite::testMultiThreadRegistration::run (tc=0x64917ff8a0) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/test/cpp/asyncappendertestcase.cpp:127
#7  0x00007ff600511b63 in abts_run_test (ts=0x16ae8ebe7a0, name=0x7ff60052d137 "testMultiThread", f=0x7ff600515730 <AsyncAppenderTestCase::RegisterSuite::testMultiThreadRegistration::run(abts_case*, void*)>, value=0x0) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/test/cpp/abts.cpp:215
#8  0x00007ff60051364e in LogUnit::TestSuite::run (this=0x7ff60052c120 <AsyncAppenderTestCase::getSuite()::suite>, suite=0x16ae8ebe7a0) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/test/cpp/logunit.cpp:281
#9  0x00007ff600512cec in abts_run_suites (suite=0x0) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/test/cpp/logunit.cpp:66
#10 0x00007ff60051277d in main (argc=2, argv=0x16ae8ebe580) at D:/a/logging-log4cxx/logging-log4cxx/log4cxx/src/test/cpp/abts.cpp:595
warning: Exception condition detected on fd 0
error detected on stdin
(gdb) A debugging session is active.

	Inferior 1 [process 3924] will be detached.

Quit anyway? (y or n) [answered Y; input not from terminal]
[Inferior 1 (process 3924) detached]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants