|
From: Dave G. <go...@mc...> - 2011-01-21 00:20:37
|
On Jan 20, 2011, at 6:07 PM CST, john skaller wrote: > Hmmm ..ok did some client request stuff .. looks like I found a bug in OSX! > > First, what's this? > > ==7005== Command: tools/flx_ls > ==7005== > --7005-- warning: addVar: in range 0xcb2 .. 0xcd7 outside segment 0x100000000 .. 0x1000eefff (top) > --7005-- warning: addVar: in range 0xcf4 .. 0xd88 outside segment 0x100000000 .. 0x1000eefff (top) > --7005-- warning: addVar: in range 0xd89 .. 0xde1 outside segment 0x100000000 .. 0x1000eefff (top) > ... [more] ... Dunno. Someone else probably does. > Here's the bug? in OSX: > > ==7005== Conditional jump or move depends on uninitialised value(s) > ==7005== at 0x10031BC28: pthread_rwlock_init (in /usr/lib/libSystem.B.dylib) > ==7005== by 0x10000161F: re2::Mutex::Mutex() (mutex.h:108) > ==7005== by 0x100031605: re2::RE2::Init(re2::StringPiece const&, re2::RE2::Options const&) (re2.cc:147) > ==7005== by 0x100031FEF: re2::RE2::RE2(std::string const&) (re2.cc:98) > ==7005== by 0x10000767C: flxusr::flx_ls::_init_::resume() (in tools/flx_ls) > ==7005== Uninitialised value was created by a heap allocation > ==7005== at 0x1001CA374: operator new(unsigned long) (vg_replace_malloc.c:261) > ==7005== by 0x1000315F2: re2::RE2::Init(re2::StringPiece const&, re2::RE2::Options const&) (re2.cc:147) > ==7005== by 0x100031FEF: re2::RE2::RE2(std::string const&) (re2.cc:98) > ==7005== by 0x10000767C: flxusr::flx_ls::_init_::resume() (in tools/flx_ls) > ==7005== > > A rwlock (BSD) is an int. It is not initialised by re2. AFAICS it shouldn't have to be > either, since that's what pthread_rwlock_init is for, but that routine appears > to be doing a conditional jump on it. Looks like a regression or variant of https://bugs.kde.org/show_bug.cgi?id=196528. -Dave |