[Quickfix-developers] UMR in FIX::Dictionary::getDay
Brought to you by:
orenmnero
|
From: Igor S. <se...@ma...> - 2007-04-18 11:12:28
|
Hi,
Using Purify tool under Linux I catch the following UMR (unrelated data I've
replaced with "..."):
<error type="UMR" desc="Uninitialized memory read (9 times)">
This is occurring while in thread 23611
Reading 8 bytes from 0x7fbfffe1c0 on the stack of thread 23611 (7 bytes at
0x7fbfffe1c1 uninit)
Address 0x7fbfffe1c0 is 488 bytes below frame pointer in function
_Unwind_RaiseException
<stack>
<frame func="*unknown func*" file="pc=0x3f68b0ecee"/>
<frame func="_Unwind_RaiseException" file="/lib64/libgcc_s.so.1"/>
<frame func="__cxa_throw" file="/usr/lib64/libstdc++.so.6"/>
<frame func="FIX::Dictionary::getDay(std::string<char,
std::char_traits<char>, std::allocator<char>> const&) const"
file="/.../quickfix/1.12.4/src/src/C++/Dictionary.cpp" line="110"/>
<frame func="FIX::SessionFactory::create(FIX::SessionID const&,
FIX::Dictionary const&)"
file="/.../quickfix/1.12.4/src/src/C++/SessionFactory.cpp" line="103"/>
...
<frame func="__libc_start_main" file="/lib64/tls/libc.so.6"/>
<frame func="_start" file="/usr/lib64/crt1.o"/>
</stack>
</error>
Does anyone know why this is reported and how it can be avoided, if possible
at all?
The "tricky" point is that I set values for START_TIME/END_TIME and do not
set anything for START_DAY/END_DAY, in the 'settings' Dicionary passed into
SessionFactor::create().
If I set START_DAY/END_DAY too, there is no UMR because ConfigError isn't
thrown in this case.
Any help is very appreciated!
Thanks in advance,
Igor
|