Closed swebb2066 closed 1 month ago
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
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.
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
Releases are somewhat periodic, but I think we do have enough to do one soon.
Using master is always at your own risk
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
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]
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