Log4cxx
  1. Log4cxx
  2. LOGCXX-175

APRCharsetEncoder is not thread safe

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.10.0
    • Fix Version/s: 0.10.0
    • Component/s: None
    • Labels:
      None
    • Environment:
      linux debian i686 SMP
      build with: ant -Dhas.wchar_t=0

      Description

      It looks like the way apr_xlate is used in APRCharsetEncoder is not thread safe.

      It is used when wchar_t is disabled and all LOG4CXX_LOCALE_ENCODING_* defines are set to 0. The bug disappears when wchar_t is enabled (WcstombsCharsetEncoder is used) or when LOG4CXX_LOCALE_ENCODING_UTF8 is set to 1 (TrivialCharsetEncoder is used).

      I did not investigate further since no wchar_t and LOG4CXX_LOCALE_ENCODING_UTF8 set to 1 fit my needs.

      Some links that might help if they are not too old (from google):

      http://svn.haxx.se/dev/archive-2002-11/0567.shtml
      http://comments.gmane.org/gmane.comp.apache.apr.devel/2480

      PS: the problem is still in SVN revision 517601.

      Regards,


      Arnaud.

        Issue Links

          Activity

          Hide
          Curt Arnold added a comment -

          I have not been able to reproduce the problem on my available development environments, but there are multiple reports that would suggest that either iconv, apr_iconv or the usage of those in APRCharsetEncoder may not be thread-safe in at least some environments. The links are vague about the error that the Subversion team made in 2002 that seemed to be replicated here. It seems that apr_xlate is thread-safe, but then again it isn't since it affects the memory pool that it was allocated on and that access needs to be synchronized. APRCharsetDecoder seemed to already have been changed to use synchronization blocks around the calls to apr_xlate, so I just modified APRCharsetEncoder to do the same.

          I wrote a test that attempted to detect data corruption in the conversion of logchar string to ISO-8859-1. However, the test passed on all environments that I had access to. I would appreciate anyone who had seen data corruption that is attributed to APRCharsetEncoder to attempt to run the test with the old APRCharsetEncoder (prior to 581489) and see if the test fails.

          rev 581488: added thread1 test to charsetencodertestcase (but would fail since I left in ISO-8859-1 where it should have been UTF-8)
          rev 581489: updated implementation to synchronize access to apr_xlate
          rev 581494: modified test to pass when encoding is ISO-8859-1

          Show
          Curt Arnold added a comment - I have not been able to reproduce the problem on my available development environments, but there are multiple reports that would suggest that either iconv, apr_iconv or the usage of those in APRCharsetEncoder may not be thread-safe in at least some environments. The links are vague about the error that the Subversion team made in 2002 that seemed to be replicated here. It seems that apr_xlate is thread-safe, but then again it isn't since it affects the memory pool that it was allocated on and that access needs to be synchronized. APRCharsetDecoder seemed to already have been changed to use synchronization blocks around the calls to apr_xlate, so I just modified APRCharsetEncoder to do the same. I wrote a test that attempted to detect data corruption in the conversion of logchar string to ISO-8859-1. However, the test passed on all environments that I had access to. I would appreciate anyone who had seen data corruption that is attributed to APRCharsetEncoder to attempt to run the test with the old APRCharsetEncoder (prior to 581489) and see if the test fails. rev 581488: added thread1 test to charsetencodertestcase (but would fail since I left in ISO-8859-1 where it should have been UTF-8) rev 581489: updated implementation to synchronize access to apr_xlate rev 581494: modified test to pass when encoding is ISO-8859-1
          Hide
          Myles Bunbury added a comment -

          The following are the results of running:
          /home/mbunbury/apache-ant-1.7.0/bin/ant -Ddebug=true -Dlib.type=static -Doptimize=speed

          Revision #581487 built successfully.

          Revision #581488 exhibits the failure I believe you were expecting:

          Buildfile: build.xml

          os-detect:

          win-init:

          mac-init:

          unix-init:

          init:

          build-apr:

          os-detect:

          win-init:

          unix-init:

          init:

          configure-check:

          unix-configure:

          win-configure:

          configure:

          build:
          [cc] Starting dependency analysis for 67 files.
          [cc] 67 files are up to date.
          [cc] 0 files to be recompiled from dependency analysis.
          [cc] 0 total files to be compiled.

          build-aprutil:

          os-detect:

          win-init:

          unix-init:

          init:

          configure-check:

          unix-configure:

          win-configure:

          configure:

          build:
          [cc] Starting dependency analysis for 45 files.
          [cc] 45 files are up to date.
          [cc] 0 files to be recompiled from dependency analysis.
          [cc] 0 total files to be compiled.

          config-check:

          unix-configure:
          [copy] Copying 1 file to /home/mbunbury/log4cxx/log4cxx-0.10.0/src/main/include/log4cxx/private

          win-configure:

          configure:
          [echo] Configuring with has.wchar_t=1
          [echo] Configuring with has.wcout=1
          [echo] Configuring with logchar_type=utf-8

          build:
          [cc] Starting dependency analysis for 146 files.
          [cc] 131 files are up to date.
          [cc] 15 files to be recompiled from dependency analysis.
          [cc] 15 total files to be compiled.
          [cc] Starting link
          [cc] ar: creating liblog4cxx.a
          [cc] a - log4cxx_obj/socket.o
          [cc] a - log4cxx_obj/transcoder.o
          [cc] a - log4cxx_obj/patternconverter.o
          [cc] a - log4cxx_obj/optionconverter.o
          [cc] a - log4cxx_obj/objectptr.o
          [cc] a - log4cxx_obj/basicconfigurator.o
          [cc] a - log4cxx_obj/integerpatternconverter.o
          [cc] a - log4cxx_obj/loggingeventpatternconverter.o
          [cc] a - log4cxx_obj/filelocationpatternconverter.o
          [cc] a - log4cxx_obj/fileinputstream.o
          [cc] a - log4cxx_obj/configurator.o
          [cc] a - log4cxx_obj/sockethubappender.o
          [cc] a - log4cxx_obj/bytebuffer.o
          [cc] a - log4cxx_obj/cyclicbuffer.o
          [cc] a - log4cxx_obj/triggeringpolicy.o
          [cc] a - log4cxx_obj/fulllocationpatternconverter.o
          [cc] a - log4cxx_obj/datelayout.o
          [cc] a - log4cxx_obj/formattinginfo.o
          [cc] a - log4cxx_obj/nameabbreviator.o
          [cc] a - log4cxx_obj/logmanager.o
          [cc] a - log4cxx_obj/datepatternconverter.o
          [cc] a - log4cxx_obj/ttcclayout.o
          [cc] a - log4cxx_obj/writer.o
          [cc] a - log4cxx_obj/propertyconfigurator.o
          [cc] a - log4cxx_obj/charsetdecoder.o
          [cc] a - log4cxx_obj/htmllayout.o
          [cc] a - log4cxx_obj/dateformat.o
          [cc] a - log4cxx_obj/loggingevent.o
          [cc] a - log4cxx_obj/datagramsocket.o
          [cc] a - log4cxx_obj/fileappender.o
          [cc] a - log4cxx_obj/transform.o
          [cc] a - log4cxx_obj/action.o
          [cc] a - log4cxx_obj/xmlsocketappender.o
          [cc] a - log4cxx_obj/cacheddateformat.o
          [cc] a - log4cxx_obj/socketoutputstream.o
          [cc] a - log4cxx_obj/strftimedateformat.o
          [cc] a - log4cxx_obj/integer.o
          [cc] a - log4cxx_obj/odbcappender.o
          [cc] a - log4cxx_obj/rollingpolicy.o
          [cc] a - log4cxx_obj/simplelayout.o
          [cc] a - log4cxx_obj/namepatternconverter.o
          [cc] a - log4cxx_obj/rolloverdescription.o
          [cc] a - log4cxx_obj/level.o
          [cc] a - log4cxx_obj/socketimpl.o
          [cc] a - log4cxx_obj/systemoutwriter.o
          [cc] a - log4cxx_obj/writerappender.o
          [cc] a - log4cxx_obj/loader.o
          [cc] a - log4cxx_obj/filerenameaction.o
          [cc] a - log4cxx_obj/simpledateformat.o
          [cc] a - log4cxx_obj/throwableinformationpatternconverter.o
          [cc] a - log4cxx_obj/condition.o
          [cc] a - log4cxx_obj/loggerpatternconverter.o
          [cc] a - log4cxx_obj/objectimpl.o
          [cc] a - log4cxx_obj/telnetappender.o
          [cc] a - log4cxx_obj/filewatchdog.o
          [cc] a - log4cxx_obj/propertyresourcebundle.o
          [cc] a - log4cxx_obj/linelocationpatternconverter.o
          [cc] a - log4cxx_obj/system.o
          [cc] a - log4cxx_obj/systemerrwriter.o
          [cc] a - log4cxx_obj/inetaddress.o
          [cc] a - log4cxx_obj/locationinfo.o
          [cc] a - log4cxx_obj/onlyonceerrorhandler.o
          [cc] a - log4cxx_obj/stringmatchfilter.o
          [cc] a - log4cxx_obj/propertysetter.o
          [cc] a - log4cxx_obj/mdc.o
          [cc] a - log4cxx_obj/rootlogger.o
          [cc] a - log4cxx_obj/filedatepatternconverter.o
          [cc] a - log4cxx_obj/nteventlogappender.o
          [cc] a - log4cxx_obj/stringhelper.o
          [cc] a - log4cxx_obj/dailyrollingfileappender.o
          [cc] a - log4cxx_obj/bytearrayinputstream.o
          [cc] a - log4cxx_obj/obsoleterollingfileappender.o
          [cc] a - log4cxx_obj/patternlayout.o
          [cc] a - log4cxx_obj/file.o
          [cc] a - log4cxx_obj/timebasedrollingpolicy.o
          [cc] a - log4cxx_obj/charsetencoder.o
          [cc] a - log4cxx_obj/levelpatternconverter.o
          [cc] a - log4cxx_obj/thread.o
          [cc] a - log4cxx_obj/serversocket.o
          [cc] a - log4cxx_obj/locale.o
          [cc] a - log4cxx_obj/rollingpolicybase.o
          [cc] a - log4cxx_obj/lineseparatorpatternconverter.o
          [cc] a - log4cxx_obj/datagrampacket.o
          [cc] a - log4cxx_obj/fileoutputstream.o
          [cc] a - log4cxx_obj/propertiespatternconverter.o
          [cc] a - log4cxx_obj/exception.o
          [cc] a - log4cxx_obj/xmllayout.o
          [cc] a - log4cxx_obj/syslogwriter.o
          [cc] a - log4cxx_obj/relativetimedateformat.o
          [cc] a - log4cxx_obj/threadspecificdata.o
          [cc] a - log4cxx_obj/levelmatchfilter.o
          [cc] a - log4cxx_obj/date.o
          [cc] a - log4cxx_obj/patternparser.o
          [cc] a - log4cxx_obj/consoleappender.o
          [cc] a - log4cxx_obj/socketappenderskeleton.o
          [cc] a - log4cxx_obj/messagebuffer.o
          [cc] a - log4cxx_obj/aprinitializer.o
          [cc] a - log4cxx_obj/layout.o
          [cc] a - log4cxx_obj/levelrangefilter.o
          [cc] a - log4cxx_obj/messagepatternconverter.o
          [cc] a - log4cxx_obj/fallbackerrorhandler.o
          [cc] a - log4cxx_obj/domconfigurator.o
          [cc] a - log4cxx_obj/unicodehelper.o
          [cc] a - log4cxx_obj/threadlocal.o
          [cc] a - log4cxx_obj/mutex.o
          [cc] a - log4cxx_obj/syslogappender.o
          [cc] a - log4cxx_obj/classnamepatternconverter.o
          [cc] a - log4cxx_obj/rollingfileappender.o
          [cc] a - log4cxx_obj/socketnode.o
          [cc] a - log4cxx_obj/resourcebundle.o
          [cc] a - log4cxx_obj/defaultloggerfactory.o
          [cc] a - log4cxx_obj/synchronized.o
          [cc] a - log4cxx_obj/timezone.o
          [cc] a - log4cxx_obj/pool.o
          [cc] a - log4cxx_obj/reader.o
          [cc] a - log4cxx_obj/smtpappender.o
          [cc] a - log4cxx_obj/filterbasedtriggeringpolicy.o
          [cc] a - log4cxx_obj/fixedwindowrollingpolicy.o
          [cc] a - log4cxx_obj/literalpatternconverter.o
          [cc] a - log4cxx_obj/appenderskeleton.o
          [cc] a - log4cxx_obj/relativetimepatternconverter.o
          [cc] a - log4cxx_obj/inputstreamreader.o
          [cc] a - log4cxx_obj/stringtokenizer.o
          [cc] a - log4cxx_obj/threadpatternconverter.o
          [cc] a - log4cxx_obj/properties.o
          [cc] a - log4cxx_obj/sizebasedtriggeringpolicy.o
          [cc] a - log4cxx_obj/ndcpatternconverter.o
          [cc] a - log4cxx_obj/inputstream.o
          [cc] a - log4cxx_obj/outputstream.o
          [cc] a - log4cxx_obj/logger.o
          [cc] a - log4cxx_obj/hierarchy.o
          [cc] a - log4cxx_obj/ndc.o
          [cc] a - log4cxx_obj/classregistration.o
          [cc] a - log4cxx_obj/loglog.o
          [cc] a - log4cxx_obj/socketinputstream.o
          [cc] a - log4cxx_obj/class.o
          [cc] a - log4cxx_obj/asyncappender.o
          [cc] a - log4cxx_obj/methodlocationpatternconverter.o
          [cc] a - log4cxx_obj/socketappender.o
          [cc] a - log4cxx_obj/outputdebugstringappender.o
          [cc] a - log4cxx_obj/appenderattachableimpl.o
          [cc] a - log4cxx_obj/manualtriggeringpolicy.o
          [cc] a - log4cxx_obj/bufferedwriter.o
          [cc] a - log4cxx_obj/outputstreamwriter.o
          [cc] a - log4cxx_obj/logstream.o
          [cc] a - log4cxx_obj/defaultconfigurator.o

          build-shortsocketserver:
          [cc] Starting dependency analysis for 1 files.
          [cc] 1 files are up to date.
          [cc] 0 files to be recompiled from dependency analysis.
          [cc] 0 total files to be compiled.
          [cc] Starting link

          build-cppunit:

          get-cppunit-src:

          untar-cppunit-src:

          os-detect:

          win-init:

          unix-init:

          init:

          configure-check:

          unix-configure:

          win-configure:

          configure:

          build:
          [cc] Starting dependency analysis for 49 files.
          [cc] 49 files are up to date.
          [cc] 0 files to be recompiled from dependency analysis.
          [cc] 0 total files to be compiled.

          build-unittest:
          [cc] Starting dependency analysis for 86 files.
          [cc] 74 files are up to date.
          [cc] 12 files to be recompiled from dependency analysis.
          [cc] 13 total files to be compiled.
          [cc] Starting link

          build-defaultinit-unittest:
          [cc] Starting dependency analysis for 5 files.
          [cc] 5 files are up to date.
          [cc] 0 files to be recompiled from dependency analysis.
          [cc] 0 total files to be compiled.
          [cc] Starting link

          run-defaultinit-unittest:
          [copy] Copying 1 file to /home/mbunbury/log4cxx/log4cxx-0.10.0/target/debug/static
          [exec] .

          [exec] OK (1 tests)

          [copy] Copying 1 file to /home/mbunbury/log4cxx/log4cxx-0.10.0/target/debug/static

          [exec] OK (1 tests)

          [exec] .
          [delete] Deleting: /home/mbunbury/log4cxx/log4cxx-0.10.0/target/debug/static/log4cxx.properties
          [delete] Deleting: /home/mbunbury/log4cxx/log4cxx-0.10.0/target/debug/static/log4j.properties
          [copy] Copying 1 file to /home/mbunbury/log4cxx/log4cxx-0.10.0/target/debug/static

          [exec] OK (1 tests)

          [exec] .
          [delete] Deleting 97 files from /home/mbunbury/log4cxx/log4cxx-0.10.0/src/test/resources/output
          [exec] .

          [exec] OK (1 tests)

          [exec] .

          [exec] OK (1 tests)

          clean-output:

          run-unittest:
          [delete] Deleting 1 files from /home/mbunbury/log4cxx/log4cxx-0.10.0/src/test/resources/output
          [exec] ............................................................................................................log4cxx: Empty conversion specifier
          [exec] .log4cxx: Empty conversion specifier
          [exec] ..................................................log4cxx: Cannot get information about host: unknown.invalid
          [exec] Waiting until next second and 100 millis.Done waiting.09:06:10,100 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test1:124 - Hello---0
          [exec] 09:06:10,600 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test1:124 - Hello---1
          [exec] 09:06:11,100 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test1:124 - Hello---2
          [exec] 09:06:11,600 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test1:124 - Hello---3
          [exec] 09:06:12,099 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test1:124 - Hello---4
          [exec] 09:06:13,099 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test2:168 - Hello---0
          [exec] 09:06:13,599 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test2:168 - Hello---1
          [exec] 09:06:14,099 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test2:168 - Hello---2
          [exec] 09:06:14,600 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test2:190 - Hello---3
          [exec] 09:06:15,100 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test2:190 - Hello---4
          [exec] Waiting until next second and 100 millis.Done waiting.09:06:16,100 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test4:290 - Hello---0
          [exec] 09:06:16,600 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test4:290 - Hello---1
          [exec] 09:06:17,100 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test4:290 - Hello---2
          [exec] 09:06:17,601 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test4:312 - Hello---3
          [exec] 09:06:18,100 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test4:312 - Hello---4
          [exec] Waiting until next second and 100 millis.Done waiting.09:06:19,100 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test5:361 - Hello---0
          [exec] 09:06:19,600 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test5:361 - Hello---1
          [exec] 09:06:20,100 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test5:361 - Hello---2
          [exec] 09:06:20,600 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test5:361 - Hello---3
          [exec] 09:06:21,100 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test5:361 - Hello---4
          [exec] ...............................................log4cxx: Attempted to append to closed appender named [async-CloseTest].
          [exec] .log4cxx: Attempted to append to closed appender named [async-test2].
          [exec] .log4cxx: Attempted to append to closed appender named [async-test3].
          [exec] .log4cxx: Attempted to append to closed appender named [].
          [exec] log4cxx: Attempted to append to closed appender named [].
          [exec] log4cxx: Attempted to append to closed appender named [].
          [exec] log4cxx: Attempted to append to closed appender named [].
          [exec] log4cxx: Attempted to append to closed appender named [].
          [exec] log4cxx: Attempted to append to closed appender named [].
          [exec] log4cxx: Attempted to append to closed appender named [].
          [exec] log4cxx: Attempted to append to closed appender named [].
          [exec] log4cxx: Attempted to append to closed appender named [].
          [exec] log4cxx: Attempted to append to closed appender named [].
          [exec] log4cxx: Attempted to append to closed appender named [].
          [exec] log4cxx: Attempted to append to closed appender named [].
          [exec] log4cxx: Attempted to append to closed appender named [].
          [exec] log4cxx: Attempted to append to closed appender named [].
          [exec] log4cxx: Attempted to append to closed appender named [].
          [exec] log4cxx: Attempted to append to closed appender named [].
          [exec] log4cxx: Attempted to append to closed appender named [].
          [exec] log4cxx: Attempted to append to closed appender named [].
          [exec] log4cxx: Attempted to append to closed appender named [].
          [exec] log4cxx: Attempted to append to closed appender named [].
          [exec] log4cxx: Attempted to append to closed appender named [].
          [exec] log4cxx: Attempted to append to closed appender named [].
          [exec] log4cxx: Attempted to append to closed appender named [].
          [exec] log4cxx: Attempted to append to closed appender named [].
          [exec] ......log4cxx: No appender could be found for logger .
          [exec] log4cxx: Please initialize the log4cxx system properly.
          [exec] ................................log4cxx: Cannot get information about host: unknown.invalid
          [exec] log4cxx: Could not find unknown.invalid. All logging will FAIL.
          [exec] log4cxx: Cannot get information about host: unknown.invalid
          [exec] .............F.........log4cxx: Threshold ="".
          [exec] log4cxx: Retreiving an instance of Logger.
          [exec] log4cxx: Setting [org.apache.log4j.rolling.FilterBasedRollingTest] additivity to [false].
          [exec] log4cxx: Class name: [org.apache.log4j.rolling.RollingFileAppender]
          [exec] log4cxx: Parsing rolling policy of class: "org.apache.log4j.rolling.FixedWindowRollingPolicy"
          [exec] log4cxx: Setting option name=[fileNamePattern], value=[output/filterBased-test1.%i]
          [exec] log4cxx: Setting option name=[minIndex], value=[0]
          [exec] log4cxx: Parsing triggering policy of class: "org.apache.log4j.rolling.FilterBasedTriggeringPolicy"
          [exec] log4cxx: Setting option name=[levelMin], value=[info]
          [exec] log4cxx: OptionConverter::toLevel: no class name specified, level=[info]
          [exec] log4cxx: Parsing layout of class: "org.apache.log4j.PatternLayout"
          [exec] log4cxx: Setting option name=[ConversionPattern], value=[%m%n]
          [exec] log4cxx: Setting option name=[file], value=[output/filterBased-test1.log]
          [exec] log4cxx: Setting option name=[append], value=[false]
          [exec] log4cxx: Adding appender named [ROLLING] to logger [org.apache.log4j.rolling.FilterBasedRollingTest].
          [exec] log4cxx: Level value for org.apache.log4j.rolling.FilterBasedRollingTest is [debug].
          [exec] log4cxx: OptionConverter::toLevel: no class name specified, level=[debug]
          [exec] log4cxx: org.apache.log4j.rolling.FilterBasedRollingTest level set to DEBUG
          [exec] log4cxx: Level value for root is [info].
          [exec] log4cxx: OptionConverter::toLevel: no class name specified, level=[info]
          [exec] log4cxx: root level set to INFO
          [exec] log4cxx: Class name: [org.apache.log4j.ConsoleAppender]
          [exec] log4cxx: Parsing layout of class: "org.apache.log4j.PatternLayout"
          [exec] log4cxx: Setting option name=[ConversionPattern], value=[%m%n]
          [exec] log4cxx: Adding appender named [CONSOLE] to logger [root].
          [exec] 2007-10-03 09:06:45,293 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--0
          [exec] 2007-10-03 09:06:45,293 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--1
          [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--2
          [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--3
          [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--4
          [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--5
          [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--6
          [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--7
          [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--8
          [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--9
          [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-10
          [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-11
          [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-12
          [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-13
          [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-14
          [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-15
          [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-16
          [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-17
          [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-18
          [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-19
          [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-20
          [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-21
          [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-22
          [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-23
          [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-24
          [exec] 2007-10-03 09:06:45,295 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--0
          [exec] 2007-10-03 09:06:45,295 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--1
          [exec] 2007-10-03 09:06:45,295 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--2
          [exec] 2007-10-03 09:06:45,295 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--3
          [exec] 2007-10-03 09:06:45,295 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--4
          [exec] 2007-10-03 09:06:45,295 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--5
          [exec] 2007-10-03 09:06:45,295 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--6
          [exec] 2007-10-03 09:06:45,295 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--7
          [exec] 2007-10-03 09:06:45,295 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--8
          [exec] 2007-10-03 09:06:45,295 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--9
          [exec] 2007-10-03 09:06:45,295 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-10
          [exec] 2007-10-03 09:06:45,296 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-11
          [exec] 2007-10-03 09:06:45,296 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-12
          [exec] 2007-10-03 09:06:45,296 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-13
          [exec] 2007-10-03 09:06:45,296 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-14
          [exec] 2007-10-03 09:06:45,296 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-15
          [exec] 2007-10-03 09:06:45,296 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-16
          [exec] 2007-10-03 09:06:45,296 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-17
          [exec] 2007-10-03 09:06:45,296 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-18
          [exec] 2007-10-03 09:06:45,296 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-19
          [exec] 2007-10-03 09:06:45,296 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-20
          [exec] 2007-10-03 09:06:45,296 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-21
          [exec] 2007-10-03 09:06:45,296 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-22
          [exec] 2007-10-03 09:06:45,296 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-23
          [exec] 2007-10-03 09:06:45,296 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-24
          [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--0
          [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--1
          [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--2
          [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--3
          [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--4
          [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--5
          [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--6
          [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--7
          [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--8
          [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--9
          [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-10
          [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-11
          [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-12
          [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-13
          [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-14
          [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-15
          [exec] 2007-10-03 09:06:45,298 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-16
          [exec] 2007-10-03 09:06:45,298 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-17
          [exec] 2007-10-03 09:06:45,298 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-18
          [exec] 2007-10-03 09:06:45,298 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-19
          [exec] 2007-10-03 09:06:45,298 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-20
          [exec] 2007-10-03 09:06:45,298 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-21
          [exec] 2007-10-03 09:06:45,298 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-22
          [exec] 2007-10-03 09:06:45,298 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-23
          [exec] 2007-10-03 09:06:45,298 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-24
          [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--0
          [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--1
          [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--2
          [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--3
          [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--4
          [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--5
          [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--6
          [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--7
          [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--8
          [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello--9
          [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-10
          [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-11
          [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-12
          [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-13
          [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-14
          [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-15
          [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-16
          [exec] 2007-10-03 09:06:45,300 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-17
          [exec] 2007-10-03 09:06:45,300 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-18
          [exec] 2007-10-03 09:06:45,300 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-19
          [exec] 2007-10-03 09:06:45,300 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-20
          [exec] 2007-10-03 09:06:45,300 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-21
          [exec] 2007-10-03 09:06:45,300 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-22
          [exec] 2007-10-03 09:06:45,300 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-23
          [exec] 2007-10-03 09:06:45,300 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello-24
          [exec] ............

          [exec] !!Unable to render embedded object: File (FAILURES) not found.!!
          [exec] Test Results:
          [exec] Run: 281 Failures: 1 Errors: 0

          [exec] 1) test: CharsetEncoderTestCase::thread1 (F) line: 292 /home/mbunbury/log4cxx/log4cxx-0.10.0/src/test/cpp/helpers/charsetencodertestcase.cpp
          [exec] equality assertion failed
          [exec] - Expected: 0
          [exec] - Actual : 100000

          BUILD FAILED
          /home/mbunbury/log4cxx/log4cxx-0.10.0/build.xml:1030: exec returned: 1

          Total time: 1 minute 13 seconds

          Revision #581489 exhibits the same failed output as revision #581488.

          Revision #581494 built successfully.

          Show
          Myles Bunbury added a comment - The following are the results of running: /home/mbunbury/apache-ant-1.7.0/bin/ant -Ddebug=true -Dlib.type=static -Doptimize=speed Revision #581487 built successfully. Revision #581488 exhibits the failure I believe you were expecting: — Buildfile: build.xml os-detect: win-init: mac-init: unix-init: init: build-apr: os-detect: win-init: unix-init: init: configure-check: unix-configure: win-configure: configure: build: [cc] Starting dependency analysis for 67 files. [cc] 67 files are up to date. [cc] 0 files to be recompiled from dependency analysis. [cc] 0 total files to be compiled. build-aprutil: os-detect: win-init: unix-init: init: configure-check: unix-configure: win-configure: configure: build: [cc] Starting dependency analysis for 45 files. [cc] 45 files are up to date. [cc] 0 files to be recompiled from dependency analysis. [cc] 0 total files to be compiled. config-check: unix-configure: [copy] Copying 1 file to /home/mbunbury/log4cxx/log4cxx-0.10.0/src/main/include/log4cxx/private win-configure: configure: [echo] Configuring with has.wchar_t=1 [echo] Configuring with has.wcout=1 [echo] Configuring with logchar_type=utf-8 build: [cc] Starting dependency analysis for 146 files. [cc] 131 files are up to date. [cc] 15 files to be recompiled from dependency analysis. [cc] 15 total files to be compiled. [cc] Starting link [cc] ar: creating liblog4cxx.a [cc] a - log4cxx_obj/socket.o [cc] a - log4cxx_obj/transcoder.o [cc] a - log4cxx_obj/patternconverter.o [cc] a - log4cxx_obj/optionconverter.o [cc] a - log4cxx_obj/objectptr.o [cc] a - log4cxx_obj/basicconfigurator.o [cc] a - log4cxx_obj/integerpatternconverter.o [cc] a - log4cxx_obj/loggingeventpatternconverter.o [cc] a - log4cxx_obj/filelocationpatternconverter.o [cc] a - log4cxx_obj/fileinputstream.o [cc] a - log4cxx_obj/configurator.o [cc] a - log4cxx_obj/sockethubappender.o [cc] a - log4cxx_obj/bytebuffer.o [cc] a - log4cxx_obj/cyclicbuffer.o [cc] a - log4cxx_obj/triggeringpolicy.o [cc] a - log4cxx_obj/fulllocationpatternconverter.o [cc] a - log4cxx_obj/datelayout.o [cc] a - log4cxx_obj/formattinginfo.o [cc] a - log4cxx_obj/nameabbreviator.o [cc] a - log4cxx_obj/logmanager.o [cc] a - log4cxx_obj/datepatternconverter.o [cc] a - log4cxx_obj/ttcclayout.o [cc] a - log4cxx_obj/writer.o [cc] a - log4cxx_obj/propertyconfigurator.o [cc] a - log4cxx_obj/charsetdecoder.o [cc] a - log4cxx_obj/htmllayout.o [cc] a - log4cxx_obj/dateformat.o [cc] a - log4cxx_obj/loggingevent.o [cc] a - log4cxx_obj/datagramsocket.o [cc] a - log4cxx_obj/fileappender.o [cc] a - log4cxx_obj/transform.o [cc] a - log4cxx_obj/action.o [cc] a - log4cxx_obj/xmlsocketappender.o [cc] a - log4cxx_obj/cacheddateformat.o [cc] a - log4cxx_obj/socketoutputstream.o [cc] a - log4cxx_obj/strftimedateformat.o [cc] a - log4cxx_obj/integer.o [cc] a - log4cxx_obj/odbcappender.o [cc] a - log4cxx_obj/rollingpolicy.o [cc] a - log4cxx_obj/simplelayout.o [cc] a - log4cxx_obj/namepatternconverter.o [cc] a - log4cxx_obj/rolloverdescription.o [cc] a - log4cxx_obj/level.o [cc] a - log4cxx_obj/socketimpl.o [cc] a - log4cxx_obj/systemoutwriter.o [cc] a - log4cxx_obj/writerappender.o [cc] a - log4cxx_obj/loader.o [cc] a - log4cxx_obj/filerenameaction.o [cc] a - log4cxx_obj/simpledateformat.o [cc] a - log4cxx_obj/throwableinformationpatternconverter.o [cc] a - log4cxx_obj/condition.o [cc] a - log4cxx_obj/loggerpatternconverter.o [cc] a - log4cxx_obj/objectimpl.o [cc] a - log4cxx_obj/telnetappender.o [cc] a - log4cxx_obj/filewatchdog.o [cc] a - log4cxx_obj/propertyresourcebundle.o [cc] a - log4cxx_obj/linelocationpatternconverter.o [cc] a - log4cxx_obj/system.o [cc] a - log4cxx_obj/systemerrwriter.o [cc] a - log4cxx_obj/inetaddress.o [cc] a - log4cxx_obj/locationinfo.o [cc] a - log4cxx_obj/onlyonceerrorhandler.o [cc] a - log4cxx_obj/stringmatchfilter.o [cc] a - log4cxx_obj/propertysetter.o [cc] a - log4cxx_obj/mdc.o [cc] a - log4cxx_obj/rootlogger.o [cc] a - log4cxx_obj/filedatepatternconverter.o [cc] a - log4cxx_obj/nteventlogappender.o [cc] a - log4cxx_obj/stringhelper.o [cc] a - log4cxx_obj/dailyrollingfileappender.o [cc] a - log4cxx_obj/bytearrayinputstream.o [cc] a - log4cxx_obj/obsoleterollingfileappender.o [cc] a - log4cxx_obj/patternlayout.o [cc] a - log4cxx_obj/file.o [cc] a - log4cxx_obj/timebasedrollingpolicy.o [cc] a - log4cxx_obj/charsetencoder.o [cc] a - log4cxx_obj/levelpatternconverter.o [cc] a - log4cxx_obj/thread.o [cc] a - log4cxx_obj/serversocket.o [cc] a - log4cxx_obj/locale.o [cc] a - log4cxx_obj/rollingpolicybase.o [cc] a - log4cxx_obj/lineseparatorpatternconverter.o [cc] a - log4cxx_obj/datagrampacket.o [cc] a - log4cxx_obj/fileoutputstream.o [cc] a - log4cxx_obj/propertiespatternconverter.o [cc] a - log4cxx_obj/exception.o [cc] a - log4cxx_obj/xmllayout.o [cc] a - log4cxx_obj/syslogwriter.o [cc] a - log4cxx_obj/relativetimedateformat.o [cc] a - log4cxx_obj/threadspecificdata.o [cc] a - log4cxx_obj/levelmatchfilter.o [cc] a - log4cxx_obj/date.o [cc] a - log4cxx_obj/patternparser.o [cc] a - log4cxx_obj/consoleappender.o [cc] a - log4cxx_obj/socketappenderskeleton.o [cc] a - log4cxx_obj/messagebuffer.o [cc] a - log4cxx_obj/aprinitializer.o [cc] a - log4cxx_obj/layout.o [cc] a - log4cxx_obj/levelrangefilter.o [cc] a - log4cxx_obj/messagepatternconverter.o [cc] a - log4cxx_obj/fallbackerrorhandler.o [cc] a - log4cxx_obj/domconfigurator.o [cc] a - log4cxx_obj/unicodehelper.o [cc] a - log4cxx_obj/threadlocal.o [cc] a - log4cxx_obj/mutex.o [cc] a - log4cxx_obj/syslogappender.o [cc] a - log4cxx_obj/classnamepatternconverter.o [cc] a - log4cxx_obj/rollingfileappender.o [cc] a - log4cxx_obj/socketnode.o [cc] a - log4cxx_obj/resourcebundle.o [cc] a - log4cxx_obj/defaultloggerfactory.o [cc] a - log4cxx_obj/synchronized.o [cc] a - log4cxx_obj/timezone.o [cc] a - log4cxx_obj/pool.o [cc] a - log4cxx_obj/reader.o [cc] a - log4cxx_obj/smtpappender.o [cc] a - log4cxx_obj/filterbasedtriggeringpolicy.o [cc] a - log4cxx_obj/fixedwindowrollingpolicy.o [cc] a - log4cxx_obj/literalpatternconverter.o [cc] a - log4cxx_obj/appenderskeleton.o [cc] a - log4cxx_obj/relativetimepatternconverter.o [cc] a - log4cxx_obj/inputstreamreader.o [cc] a - log4cxx_obj/stringtokenizer.o [cc] a - log4cxx_obj/threadpatternconverter.o [cc] a - log4cxx_obj/properties.o [cc] a - log4cxx_obj/sizebasedtriggeringpolicy.o [cc] a - log4cxx_obj/ndcpatternconverter.o [cc] a - log4cxx_obj/inputstream.o [cc] a - log4cxx_obj/outputstream.o [cc] a - log4cxx_obj/logger.o [cc] a - log4cxx_obj/hierarchy.o [cc] a - log4cxx_obj/ndc.o [cc] a - log4cxx_obj/classregistration.o [cc] a - log4cxx_obj/loglog.o [cc] a - log4cxx_obj/socketinputstream.o [cc] a - log4cxx_obj/class.o [cc] a - log4cxx_obj/asyncappender.o [cc] a - log4cxx_obj/methodlocationpatternconverter.o [cc] a - log4cxx_obj/socketappender.o [cc] a - log4cxx_obj/outputdebugstringappender.o [cc] a - log4cxx_obj/appenderattachableimpl.o [cc] a - log4cxx_obj/manualtriggeringpolicy.o [cc] a - log4cxx_obj/bufferedwriter.o [cc] a - log4cxx_obj/outputstreamwriter.o [cc] a - log4cxx_obj/logstream.o [cc] a - log4cxx_obj/defaultconfigurator.o build-shortsocketserver: [cc] Starting dependency analysis for 1 files. [cc] 1 files are up to date. [cc] 0 files to be recompiled from dependency analysis. [cc] 0 total files to be compiled. [cc] Starting link build-cppunit: get-cppunit-src: untar-cppunit-src: os-detect: win-init: unix-init: init: configure-check: unix-configure: win-configure: configure: build: [cc] Starting dependency analysis for 49 files. [cc] 49 files are up to date. [cc] 0 files to be recompiled from dependency analysis. [cc] 0 total files to be compiled. build-unittest: [cc] Starting dependency analysis for 86 files. [cc] 74 files are up to date. [cc] 12 files to be recompiled from dependency analysis. [cc] 13 total files to be compiled. [cc] Starting link build-defaultinit-unittest: [cc] Starting dependency analysis for 5 files. [cc] 5 files are up to date. [cc] 0 files to be recompiled from dependency analysis. [cc] 0 total files to be compiled. [cc] Starting link run-defaultinit-unittest: [copy] Copying 1 file to /home/mbunbury/log4cxx/log4cxx-0.10.0/target/debug/static [exec] . [exec] OK (1 tests) [copy] Copying 1 file to /home/mbunbury/log4cxx/log4cxx-0.10.0/target/debug/static [exec] OK (1 tests) [exec] . [delete] Deleting: /home/mbunbury/log4cxx/log4cxx-0.10.0/target/debug/static/log4cxx.properties [delete] Deleting: /home/mbunbury/log4cxx/log4cxx-0.10.0/target/debug/static/log4j.properties [copy] Copying 1 file to /home/mbunbury/log4cxx/log4cxx-0.10.0/target/debug/static [exec] OK (1 tests) [exec] . [delete] Deleting 97 files from /home/mbunbury/log4cxx/log4cxx-0.10.0/src/test/resources/output [exec] . [exec] OK (1 tests) [exec] . [exec] OK (1 tests) clean-output: run-unittest: [delete] Deleting 1 files from /home/mbunbury/log4cxx/log4cxx-0.10.0/src/test/resources/output [exec] ............................................................................................................log4cxx: Empty conversion specifier [exec] .log4cxx: Empty conversion specifier [exec] ..................................................log4cxx: Cannot get information about host: unknown.invalid [exec] Waiting until next second and 100 millis.Done waiting.09:06:10,100 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test1:124 - Hello---0 [exec] 09:06:10,600 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test1:124 - Hello---1 [exec] 09:06:11,100 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test1:124 - Hello---2 [exec] 09:06:11,600 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test1:124 - Hello---3 [exec] 09:06:12,099 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test1:124 - Hello---4 [exec] 09:06:13,099 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test2:168 - Hello---0 [exec] 09:06:13,599 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test2:168 - Hello---1 [exec] 09:06:14,099 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test2:168 - Hello---2 [exec] 09:06:14,600 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test2:190 - Hello---3 [exec] 09:06:15,100 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test2:190 - Hello---4 [exec] Waiting until next second and 100 millis.Done waiting.09:06:16,100 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test4:290 - Hello---0 [exec] 09:06:16,600 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test4:290 - Hello---1 [exec] 09:06:17,100 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test4:290 - Hello---2 [exec] 09:06:17,601 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test4:312 - Hello---3 [exec] 09:06:18,100 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test4:312 - Hello---4 [exec] Waiting until next second and 100 millis.Done waiting.09:06:19,100 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test5:361 - Hello---0 [exec] 09:06:19,600 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test5:361 - Hello---1 [exec] 09:06:20,100 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test5:361 - Hello---2 [exec] 09:06:20,600 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test5:361 - Hello---3 [exec] 09:06:21,100 [0xb7f2b6d0] DEBUG log4j.TimeBasedRollingTest#test5:361 - Hello---4 [exec] ...............................................log4cxx: Attempted to append to closed appender named [async-CloseTest] . [exec] .log4cxx: Attempted to append to closed appender named [async-test2] . [exec] .log4cxx: Attempted to append to closed appender named [async-test3] . [exec] .log4cxx: Attempted to append to closed appender named []. [exec] log4cxx: Attempted to append to closed appender named []. [exec] log4cxx: Attempted to append to closed appender named []. [exec] log4cxx: Attempted to append to closed appender named []. [exec] log4cxx: Attempted to append to closed appender named []. [exec] log4cxx: Attempted to append to closed appender named []. [exec] log4cxx: Attempted to append to closed appender named []. [exec] log4cxx: Attempted to append to closed appender named []. [exec] log4cxx: Attempted to append to closed appender named []. [exec] log4cxx: Attempted to append to closed appender named []. [exec] log4cxx: Attempted to append to closed appender named []. [exec] log4cxx: Attempted to append to closed appender named []. [exec] log4cxx: Attempted to append to closed appender named []. [exec] log4cxx: Attempted to append to closed appender named []. [exec] log4cxx: Attempted to append to closed appender named []. [exec] log4cxx: Attempted to append to closed appender named []. [exec] log4cxx: Attempted to append to closed appender named []. [exec] log4cxx: Attempted to append to closed appender named []. [exec] log4cxx: Attempted to append to closed appender named []. [exec] log4cxx: Attempted to append to closed appender named []. [exec] log4cxx: Attempted to append to closed appender named []. [exec] log4cxx: Attempted to append to closed appender named []. [exec] log4cxx: Attempted to append to closed appender named []. [exec] log4cxx: Attempted to append to closed appender named []. [exec] ......log4cxx: No appender could be found for logger . [exec] log4cxx: Please initialize the log4cxx system properly. [exec] ................................log4cxx: Cannot get information about host: unknown.invalid [exec] log4cxx: Could not find unknown.invalid. All logging will FAIL. [exec] log4cxx: Cannot get information about host: unknown.invalid [exec] .............F.........log4cxx: Threshold ="". [exec] log4cxx: Retreiving an instance of Logger. [exec] log4cxx: Setting [org.apache.log4j.rolling.FilterBasedRollingTest] additivity to [false] . [exec] log4cxx: Class name: [org.apache.log4j.rolling.RollingFileAppender] [exec] log4cxx: Parsing rolling policy of class: "org.apache.log4j.rolling.FixedWindowRollingPolicy" [exec] log4cxx: Setting option name= [fileNamePattern] , value= [output/filterBased-test1.%i] [exec] log4cxx: Setting option name= [minIndex] , value= [0] [exec] log4cxx: Parsing triggering policy of class: "org.apache.log4j.rolling.FilterBasedTriggeringPolicy" [exec] log4cxx: Setting option name= [levelMin] , value= [info] [exec] log4cxx: OptionConverter::toLevel: no class name specified, level= [info] [exec] log4cxx: Parsing layout of class: "org.apache.log4j.PatternLayout" [exec] log4cxx: Setting option name= [ConversionPattern] , value= [%m%n] [exec] log4cxx: Setting option name= [file] , value= [output/filterBased-test1.log] [exec] log4cxx: Setting option name= [append] , value= [false] [exec] log4cxx: Adding appender named [ROLLING] to logger [org.apache.log4j.rolling.FilterBasedRollingTest] . [exec] log4cxx: Level value for org.apache.log4j.rolling.FilterBasedRollingTest is [debug] . [exec] log4cxx: OptionConverter::toLevel: no class name specified, level= [debug] [exec] log4cxx: org.apache.log4j.rolling.FilterBasedRollingTest level set to DEBUG [exec] log4cxx: Level value for root is [info] . [exec] log4cxx: OptionConverter::toLevel: no class name specified, level= [info] [exec] log4cxx: root level set to INFO [exec] log4cxx: Class name: [org.apache.log4j.ConsoleAppender] [exec] log4cxx: Parsing layout of class: "org.apache.log4j.PatternLayout" [exec] log4cxx: Setting option name= [ConversionPattern] , value= [%m%n] [exec] log4cxx: Adding appender named [CONSOLE] to logger [root] . [exec] 2007-10-03 09:06:45,293 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --0 [exec] 2007-10-03 09:06:45,293 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --1 [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --2 [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --3 [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --4 [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --5 [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --6 [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --7 [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --8 [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --9 [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -10 [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -11 [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -12 [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -13 [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -14 [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -15 [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -16 [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -17 [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -18 [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -19 [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -20 [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -21 [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -22 [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -23 [exec] 2007-10-03 09:06:45,294 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -24 [exec] 2007-10-03 09:06:45,295 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --0 [exec] 2007-10-03 09:06:45,295 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --1 [exec] 2007-10-03 09:06:45,295 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --2 [exec] 2007-10-03 09:06:45,295 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --3 [exec] 2007-10-03 09:06:45,295 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --4 [exec] 2007-10-03 09:06:45,295 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --5 [exec] 2007-10-03 09:06:45,295 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --6 [exec] 2007-10-03 09:06:45,295 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --7 [exec] 2007-10-03 09:06:45,295 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --8 [exec] 2007-10-03 09:06:45,295 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --9 [exec] 2007-10-03 09:06:45,295 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -10 [exec] 2007-10-03 09:06:45,296 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -11 [exec] 2007-10-03 09:06:45,296 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -12 [exec] 2007-10-03 09:06:45,296 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -13 [exec] 2007-10-03 09:06:45,296 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -14 [exec] 2007-10-03 09:06:45,296 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -15 [exec] 2007-10-03 09:06:45,296 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -16 [exec] 2007-10-03 09:06:45,296 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -17 [exec] 2007-10-03 09:06:45,296 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -18 [exec] 2007-10-03 09:06:45,296 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -19 [exec] 2007-10-03 09:06:45,296 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -20 [exec] 2007-10-03 09:06:45,296 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -21 [exec] 2007-10-03 09:06:45,296 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -22 [exec] 2007-10-03 09:06:45,296 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -23 [exec] 2007-10-03 09:06:45,296 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -24 [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --0 [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --1 [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --2 [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --3 [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --4 [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --5 [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --6 [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --7 [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --8 [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --9 [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -10 [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -11 [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -12 [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -13 [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -14 [exec] 2007-10-03 09:06:45,297 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -15 [exec] 2007-10-03 09:06:45,298 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -16 [exec] 2007-10-03 09:06:45,298 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -17 [exec] 2007-10-03 09:06:45,298 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -18 [exec] 2007-10-03 09:06:45,298 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -19 [exec] 2007-10-03 09:06:45,298 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -20 [exec] 2007-10-03 09:06:45,298 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -21 [exec] 2007-10-03 09:06:45,298 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -22 [exec] 2007-10-03 09:06:45,298 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -23 [exec] 2007-10-03 09:06:45,298 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -24 [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --0 [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --1 [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --2 [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --3 [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --4 [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --5 [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --6 [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --7 [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --8 [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello --9 [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -10 [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -11 [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -12 [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -13 [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -14 [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -15 [exec] 2007-10-03 09:06:45,299 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -16 [exec] 2007-10-03 09:06:45,300 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -17 [exec] 2007-10-03 09:06:45,300 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -18 [exec] 2007-10-03 09:06:45,300 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -19 [exec] 2007-10-03 09:06:45,300 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -20 [exec] 2007-10-03 09:06:45,300 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -21 [exec] 2007-10-03 09:06:45,300 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -22 [exec] 2007-10-03 09:06:45,300 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -23 [exec] 2007-10-03 09:06:45,300 DEBUG org.apache.log4j.rolling.SizeBasedRollingTest Hello -24 [exec] ............ [exec] !! Unable to render embedded object: File (FAILURES) not found. !! [exec] Test Results: [exec] Run: 281 Failures: 1 Errors: 0 [exec] 1) test: CharsetEncoderTestCase::thread1 (F) line: 292 /home/mbunbury/log4cxx/log4cxx-0.10.0/src/test/cpp/helpers/charsetencodertestcase.cpp [exec] equality assertion failed [exec] - Expected: 0 [exec] - Actual : 100000 BUILD FAILED /home/mbunbury/log4cxx/log4cxx-0.10.0/build.xml:1030: exec returned: 1 Total time: 1 minute 13 seconds — Revision #581489 exhibits the same failed output as revision #581488. Revision #581494 built successfully.
          Hide
          Curt Arnold added a comment -

          I committed the test first so that you could do exactly the experiment that you just did, but my first commit of the test was in an inconsistent state, converting with ISO-8859-1 but checking against UTF-8 results, which would result every iteration failing. To see if the test actually detects the problem, you need to update charsetencodertestcase.cpp to rev 581494 while charsetencoder.cpp is rev 581488 or earlier.

          Show
          Curt Arnold added a comment - I committed the test first so that you could do exactly the experiment that you just did, but my first commit of the test was in an inconsistent state, converting with ISO-8859-1 but checking against UTF-8 results, which would result every iteration failing. To see if the test actually detects the problem, you need to update charsetencodertestcase.cpp to rev 581494 while charsetencoder.cpp is rev 581488 or earlier.
          Hide
          Myles Bunbury added a comment -

          With charsetencoder.cpp at revision #581488 and all other files at revision #581717, the build successfully ran.

          Show
          Myles Bunbury added a comment - With charsetencoder.cpp at revision #581488 and all other files at revision #581717, the build successfully ran.
          Hide
          Curt Arnold added a comment -

          Looks like resolved with addition of synchronization block.

          Show
          Curt Arnold added a comment - Looks like resolved with addition of synchronization block.

            People

            • Assignee:
              Curt Arnold
              Reporter:
              Arnaud de Bossoreille de Ribou
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development