You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4cxx-dev@logging.apache.org by Rhys Ulerich <rh...@gmail.com> on 2014/01/30 15:55:57 UTC

Seeing cacheddateformattestcase regression from r1559522.

Hi all,

On trunk I've just recently started seeing make check fail repeat-ably
on cacheddateformattestcase.

Running the bisection (using
http://search.cpan.org/~infinoid/App-SVN-Bisect-1.1/bin/svn-bisect)
   svn-bisect --min 1556710 --max 1562827 start
identifies r1559522 as the culprit.  Thorsten, I think it's related to
changes made to address LOG4CXX-420.

Does anyone else see this 'make check' failure?

I'm working on my x86_64 Scientific Linux-based workstation using GCC
4.4.6.  The distribution is a RedHat variant.

- Rhys

Re: Seeing cacheddateformattestcase regression from r1559522.

Posted by Rhys Ulerich <rh...@gmail.com>.
FYI, r1567530 tweaks the unit test harness to get e.what() when e
inherits from std::exception.

$ ./src/test/cpp/testsuite -v cacheddateformattestcase
...
Line -1: Unexpected std::exception: basic_string::compare
Line -1: Unexpected std::exception: basic_string::compare
Line -1: Unexpected std::exception: basic_string::compare

Hope that helps you isolate it,
Rhys

Re: Seeing cacheddateformattestcase regression from r1559522.

Posted by Rhys Ulerich <rh...@gmail.com>.
> I'm guessing the problem is in the test cases themselves-- I'll try to
> hook up a debugger to verify soon.

Finally got that debugger attached.  The unexpected exceptions are
std::out_of_range, I think, from bad invocations of
std::string::compare.  The backtraces all resemble

__cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
std::__throw_out_of_range(char const*) () from
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
std::string::compare(unsigned long, unsigned long, std::string const&,
unsigned long, unsigned long) const () from
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
log4cxx::pattern::CachedDateFormat::regionMatches at
log4cxx/src/main/cpp/cacheddateformat.cpp:311
log4cxx::pattern::CachedDateFormat::findMillisecondStart at
log4cxx/src/main/cpp/cacheddateformat.cpp:144
log4cxx::pattern::CachedDateFormat::format at
log4cxx/src/main/cpp/cacheddateformat.cpp:225
CachedDateFormatTestCase::test10 at
log4cxx/src/test/cpp/helpers/cacheddateformattestcase.cpp:384
LogUnit::runTest<CachedDateFormatTestCase> at
log4cxx/src/test/cpp/helpers/logunit.h:111
CachedDateFormatTestCase::RegisterSuite::test10Registration::run at
log4cxx/src/test/cpp/helpers/cacheddateformattestcase.cpp:68
abts_run_test at log4cxx/src/test/cpp/abts.cpp:174
LogUnit::TestSuite::run at log4cxx/src/test/cpp/logunit.cpp:232
abts_run_suites at log4cxx/src/test/cpp/logunit.cpp:59
main at log4cxx/src/test/cpp/abts.cpp:433

- Rhys

Re: Seeing cacheddateformattestcase regression from r1559522.

Posted by Rhys Ulerich <rh...@gmail.com>.
> May others have a look at LOG4CXX-420 and -422 and the code before I
> changed it? If you come to the conclusion I wrote nonsense, I will
> simply revert the patch and have a later look at this again. Else we
> may comment the failing tests after creating an issue.

I'm guessing the problem is in the test cases themselves-- I'll try to
hook up a debugger to verify soon.

- Rhys

Re: Seeing cacheddateformattestcase regression from r1559522.

Posted by Thorsten Schöning <ts...@am-soft.de>.
Guten Tag Rhys Ulerich,
am Donnerstag, 30. Januar 2014 um 16:40 schrieben Sie:

> I must admit to being a bit of a dunce with respect to the unit tests.

May others have a look at LOG4CXX-420 and -422 and the code before I
changed it? If you come to the conclusion I wrote nonsense, I will
simply revert the patch and have a later look at this again. Else we
may comment the failing tests after creating an issue.

Alternatively I could revert and branch in any case, but Log4cxx
reproducible crashed for us without those changes and LOG4CXX-422
claims it works again/currently/whatever.

Mit freundlichen Grüßen,

Thorsten Schöning

-- 
Thorsten Schöning       E-Mail:Thorsten.Schoening@AM-SoFT.de
AM-SoFT IT-Systeme      http://www.AM-SoFT.de/

Telefon...........05151-  9468- 55
Fax...............05151-  9468- 88
Mobil..............0178-8 9468- 04

AM-SoFT GmbH IT-Systeme, Brandenburger Str. 7c, 31789 Hameln
AG Hannover HRB 207 694 - Geschäftsführer: Andreas Muchow


Re: Seeing cacheddateformattestcase regression from r1559522.

Posted by Rhys Ulerich <rh...@gmail.com>.
> Which test fails with which error?

I must admit to being a bit of a dunce with respect to the unit tests.

I see

$ ./src/test/cpp/testsuite cacheddateformattestcase
LC_CTYPE: en_US.UTF-8
cacheddateformattestcase: FAILED 4 of 19
Failed Tests   Total Fail Failed %
===================================================
cacheddateformattestcase   19   4 21.05%

but I'm unsure how to dig into the specific failures.  My attempts so
far include

$ ./src/test/cpp/testsuite cacheddateformattestcase -v
LC_CTYPE: en_US.UTF-8
cacheddateformattestcase: /Line -1: Unexpected exception
|Line -1: Unexpected exception
\Line -1: Unexpected exception
-Line -1: Unexpected exception
FAILED 4 of 19
Failed Tests   Total Fail Failed %
===================================================
cacheddateformattestcase   19   4 21.05%

which show 4 unexpected exceptions but no indication of what/where.

Anyone know the innards of logunit.h well enough to coax out the details?

- Rhys

Re: Seeing cacheddateformattestcase regression from r1559522.

Posted by Thorsten Schöning <ts...@am-soft.de>.
Guten Tag Rhys Ulerich,
am Donnerstag, 30. Januar 2014 um 15:55 schrieben Sie:

> On trunk I've just recently started seeing make check fail repeat-ably
> on cacheddateformattestcase.

Which test fails with which error?

Mit freundlichen Grüßen,

Thorsten Schöning

-- 
Thorsten Schöning       E-Mail:Thorsten.Schoening@AM-SoFT.de
AM-SoFT IT-Systeme      http://www.AM-SoFT.de/

Telefon...........05151-  9468- 55
Fax...............05151-  9468- 88
Mobil..............0178-8 9468- 04

AM-SoFT GmbH IT-Systeme, Brandenburger Str. 7c, 31789 Hameln
AG Hannover HRB 207 694 - Geschäftsführer: Andreas Muchow