[ https://issues.apache.org/jira/browse/LOGCXX-491?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Robert Middleton resolved LOGCXX-491. ------------------------------------- Resolution: Fixed With the merge of LOGCXX-518, all of the multiprocess stuff has been broken out into separate classes so that the specific case of multiprocess logging doesn't affect the default rolling file behavior. > SizeBasedRollingTest cases fail when defining LOG4CXX_MULTI_PROCESS > ------------------------------------------------------------------- > > Key: LOGCXX-491 > URL: https://issues.apache.org/jira/browse/LOGCXX-491 > Project: Log4cxx > Issue Type: Bug > Components: Tests > Affects Versions: 0.11.0 > Environment: gcc version 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) > gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) > Reporter: Sean P. Miller > Priority: Minor > Fix For: 1.0.0 > > > I've encountered this with revisions 1755031 and 1802636 on both environments > listed. Abbreviated debugging session: > {noformat} > ubuntu@ip-[...]:~/dev/log4cxx$ gdb src/test/cpp/.libs/lt-testsuite > [...] > Reading symbols from src/test/cpp/.libs/lt-testsuite...done. > (gdb) run -v sizebasedrollingtest > Starting program: /home/ubuntu/dev/log4cxx/src/test/cpp/.libs/lt-testsuite -v > sizebasedrollingtest > [Thread debugging using libthread_db enabled] > Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". > LC_CTYPE: en_US.UTF-8 > sizebasedrollingtest: -2017-07-21 19:28:52,889 DEBUG > org.apache.log4j.rolling.SizeBasedRollingTest -Hello---0 > 2017-07-21 19:28:52,889 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest > -Hello---1 > [...] > 2017-07-21 19:28:52,898 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest > -Hello---9 > 2017-07-21 19:28:52,898 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest > -Hello--10 > log4cxx: Exception during rollover > Program received signal SIGSEGV, Segmentation fault. > log4cxx::rolling::RollingFileAppenderSkeleton::subAppend (this=0x757d40, > event=..., p=...) at rollingfileappender.cpp:378 > 378 apr_file_t* _fd = > getWriter()->getOutPutStreamPtr()->getFileOutPutStreamPtr().getFilePtr(); > (gdb) bt > #0 log4cxx::rolling::RollingFileAppenderSkeleton::subAppend (this=0x757d40, > event=..., p=...) at rollingfileappender.cpp:378 > #1 0x00007ffff766adc2 in log4cxx::AppenderSkeleton::doAppend (this=0x757d40, > event=..., pool1=...) at appenderskeleton.cpp:142 > #2 0x00007ffff7668abf in > log4cxx::helpers::AppenderAttachableImpl::appendLoopOnAppenders > (this=0x7574e0, event=..., p=...) at appenderattachableimpl.cpp:69 > #3 0x00007ffff76b07e8 in log4cxx::Logger::callAppenders > (this=this@entry=0x757400, event=..., p=...) at logger.cpp:96 > #4 0x00007ffff76b0a3e in log4cxx::Logger::forcedLog (this=0x757400, > level1=..., message="Hello--10", location=...) at logger.cpp:127 > #5 0x00000000004845e3 in SizeBasedRollingTest::common (logger1=..., > this=0x7fffffffe150) at rolling/sizebasedrollingtest.cpp:88 > #6 SizeBasedRollingTest::test6 (this=0x7fffffffe150) at > rolling/sizebasedrollingtest.cpp:339 > #7 0x0000000000489366 in LogUnit::runTest<SizeBasedRollingTest> > (tc=0x7fffffffe3a0, func=(void (SizeBasedRollingTest::*)(SizeBasedRollingTest > * const)) 0x483e30 <SizeBasedRollingTest::test6()>) at > rolling/../logunit.h:112 > #8 0x00000000004898c0 in > SizeBasedRollingTest::RegisterSuite::test6Registration::run (tc=<optimized > out>) at rolling/sizebasedrollingtest.cpp:57 > #9 0x00000000004b4005 in abts_run_test (ts=ts@entry=0x74ee20, f=0x4898b0 > <SizeBasedRollingTest::RegisterSuite::test6Registration::run(abts_case*, > void*)>, value=value@entry=0x0) at abts.cpp:174 > #10 0x00000000004c7cf1 in LogUnit::TestSuite::run (this=0x734f20 > <SizeBasedRollingTest::getSuite()::suite>, suite=suite@entry=0x74ee20) at > logunit.cpp:232 > #11 0x00000000004c7f28 in abts_run_suites (suite=0x74ee20, suite@entry=0x0) > at logunit.cpp:59 > #12 0x000000000041bd7d in main (argc=3, argv=0x7fffffffe558) at abts.cpp:433 > (gdb) > {noformat} > Diff applied for multi-process support: > {noformat} > diff -urN log4cxx-0.11.0.orig/configure.ac log4cxx-0.11.0/configure.ac > --- log4cxx-0.11.0.orig/configure.ac 2016-08-26 16:32:29.205000000 +0000 > +++ log4cxx-0.11.0/configure.ac 2016-08-26 16:32:55.919000000 +0000 > @@ -55,6 +55,8 @@ > AC_PROG_CXXCPP > AC_LANG(C++) > > +AC_DEFINE(LOG4CXX_MULTI_PROCESS) > + > # CXX fine tuning > case "$host" in > *-dec-osf*) > {noformat} > Tests run via {{make check}}. I believe this is v0.11.0 code (?). -- This message was sent by Atlassian Jira (v8.20.10#820010)