[
https://issues.apache.org/jira/browse/LOGCXX-422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13886417#comment-13886417
]
Thorsten Schöning edited comment on LOGCXX-422 at 1/30/14 8:52 AM:
-------------------------------------------------------------------
Glad to read that, thanks for your tests. I committed the fix to trunk.
was (Author: tschoening):
Glad to read that, thanks for your tests.
> Sporadic crash in CachedDateFormat::millisecondFormat()
> -------------------------------------------------------
>
> Key: LOGCXX-422
> URL: https://issues.apache.org/jira/browse/LOGCXX-422
> Project: Log4cxx
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.10.1
> Environment: Windows 7, Visual C++ 2008 (SP1)
> Reporter: Jörg Hansen
> Assignee: Thorsten Schöning
> Priority: Critical
>
> The method CachedDateFormat::findMillisecondStart() was changed in rev
> 1559522 for LOG4CXX-420.
> Since then I experience sporadic crashes in the method
> CachedDateFormat::millisecondFormat(). Further investigation showed that the
> specified parameter 'buf' is sometimes undefined, so any try to write
> sporadically fails.
> I have a debugging session open with the crash at the time of this writing.
> The current log message is "Current spot Reichenspergerplatz - EBP at (3,13)
> of entry 582" and should be written to a ConsoleAppender. The current
> conversion pattern is "%d %p [%c] %m%n". The call stack at the crash is
> (sorry, german version of vc2008):
> log4cxx.dll!log4cxx::pattern::CachedDateFormat::millisecondFormat(int
> millis=147018584,
> std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
> & buf=<Schlechtes Ptr>, int offset=22) Zeile 236 + 0x12 Bytes
> log4cxx.dll!log4cxx::pattern::CachedDateFormat::format(std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>
> > & buf="", __int64 now=1390993757666876, log4cxx::helpers::Pool & p={...})
> Zeile 189 + 0x21 Bytes
> log4cxx.dll!log4cxx::pattern::DatePatternConverter::format(const
> log4cxx::helpers::ObjectPtrT<log4cxx::spi::LoggingEvent> & event={...},
> std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
> & toAppendTo="", log4cxx::helpers::Pool & p={...}) Zeile 104 + 0x23 Bytes
> log4cxx.dll!log4cxx::PatternLayout::format(std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>
> > & output="", const
> log4cxx::helpers::ObjectPtrT<log4cxx::spi::LoggingEvent> & event={...},
> log4cxx::helpers::Pool & pool={...}) Zeile 91
> log4cxx.dll!log4cxx::WriterAppender::subAppend(const
> log4cxx::helpers::ObjectPtrT<log4cxx::spi::LoggingEvent> & event={...},
> log4cxx::helpers::Pool & p={...}) Zeile 217
> log4cxx.dll!log4cxx::WriterAppender::append(const
> log4cxx::helpers::ObjectPtrT<log4cxx::spi::LoggingEvent> & event={...},
> log4cxx::helpers::Pool & pool1={...}) Zeile 88 + 0x13 Bytes
> log4cxx.dll!log4cxx::AppenderSkeleton::doAppend(const
> log4cxx::helpers::ObjectPtrT<log4cxx::spi::LoggingEvent> & event={...},
> log4cxx::helpers::Pool & pool1={...}) Zeile 143
> log4cxx.dll!log4cxx::helpers::AppenderAttachableImpl::appendLoopOnAppenders(const
> log4cxx::helpers::ObjectPtrT<log4cxx::spi::LoggingEvent> & event={...},
> log4cxx::helpers::Pool & p={...}) Zeile 69 + 0x29 Bytes
> log4cxx.dll!log4cxx::Logger::callAppenders(const
> log4cxx::helpers::ObjectPtrT<log4cxx::spi::LoggingEvent> & event={...},
> log4cxx::helpers::Pool & p={...}) Zeile 97 + 0x12 Bytes
> log4cxx.dll!log4cxx::Logger::forcedLog(const
> log4cxx::helpers::ObjectPtrT<log4cxx::Level> & level1={...}, const
> std::basic_string<char,std::char_traits<char>,std::allocator<char> > &
> message="Current spot Reichenspergerplatz - EBP at (3,13) of entry 582",
> const log4cxx::spi::LocationInfo & location={...}) Zeile 129
> Translation help:
> Zeile = line
> Schlechtes Ptr = bad pointer
> Please call back if you need further information.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)