[ https://issues.apache.org/jira/browse/LOGCXX-416?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13876194#comment-13876194 ]
Jin Qing commented on LOGCXX-416: --------------------------------- It crashes on a normal log4j.xml. Tested on: x86_64-redhat-linux gcc 4.4.5 Red Hat Enterprise Linux Server release 6.1 (santiago) Got crash on VC2010Express also. log4cxx Revision: 1559537 apr-1.5.0-win32-src.zip apr-iconv-1.2.1-win32-src-r2.zip Link log4cxx static. No crash if using log4cxx.dll. Call Stack: > TestLog.exe!allocator_alloc(apr_allocator_t * allocator, unsigned int > in_size) Line 241 + 0x6 bytes C TestLog.exe!apr_pool_create_ex(apr_pool_t * * newpool, apr_pool_t * parent, int (int)* abort_fn, apr_allocator_t * allocator) Line 892 + 0xe bytes C TestLog.exe!log4cxx::helpers::Pool::Pool() Line 34 + 0x13 bytes C++ TestLog.exe!log4cxx::helpers::FileWatchdog::checkAndConfigure() Line 47 + 0x8 bytes C++ TestLog.exe!log4cxx::helpers::FileWatchdog::run(apr_thread_t * __formal, void * data) Line 80 C++ TestLog.exe!launcher(apr_thread_t * thread, void * data) Line 132 + 0x19 bytes C++ TestLog.exe!dummy_worker(void * opaque) Line 80 C msvcr100d.dll!_callthreadstartex() Line 314 + 0xf bytes C msvcr100d.dll!_threadstartex(void * ptd) Line 297 C kernel32.dll!7c80b729() [Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll] Line241: if (index <= allocator->max_index) allocator = 0xfeeefeee Because APRInitializer static variable is already decontructed. > FileWatchdog thread crash on exit() > ----------------------------------- > > Key: LOGCXX-416 > URL: https://issues.apache.org/jira/browse/LOGCXX-416 > Project: Log4cxx > Issue Type: Bug > Components: Configurator > Affects Versions: 0.10.0 > Reporter: Jin Qing > Assignee: Joseph Southwell > Priority: Critical > > On exit(), FileWatchdog::checkAndConfigure() calls apr_pool_creae() and crash. > Test code: > #include <log4cxx/xml/comconfigurator.h> > class A > { > public: > A() {}; > ~A() { > for (int i = 0; i < 1000000; i++) > for (int i = 0; i < 1000000; i++) > ; > } > } g_a; > int main() > { > log4cxx::xml::DOMConfigurator::configureAndWatch("log4j.xml", 1000); > return 0; > } > After main() returned, but main thread is still running, watchdog thread > will crash when checkAdnConfigure(). -- This message was sent by Atlassian JIRA (v6.1.5#6160)