|
From: Bart V. A. <bva...@ac...> - 2011-12-11 17:56:42
|
On Sun, Dec 11, 2011 at 3:28 PM, Florian Krohm <br...@ac...> wrote: > I noticed two other failures (ignoring the new std_thread testcase). > > Fedora 16: drd/pth_cleanup_handler > > @@ -1,6 +1,5 @@ > > Cleanup handler has been called. > Cleanup handler has been called. > -Test succeeded. > > ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) Not sure what's going on here, but it's probably unrelated to the demangling changes. That test has already failed before these changes - see e.g. http://permalink.gmane.org/gmane.comp.debugging.valgrind.devel/14941. > Rich Coe's "ultra" build: drd/annotate_smart_pointer > > @@ -1,4 +1,16 @@ > > +Conflicting store by thread x at 0x........ size 8 > + at 0x........: AnnotateCondVarSignal (unified_annotations.h:?) > +Allocation context: unknown. > + > +Conflicting load by thread x at 0x........ size 8 > + at 0x........: AnnotateCondVarSignal (unified_annotations.h:?) > + by 0x........: U_AnnotateHappensBefore (unified_annotations.h:?) > + by 0x........: smart_ptr<counter>::set(counter*, AtomicInt32*) > (annotate_smart_pointer.cpp:?) > + by 0x........: smart_ptr<counter>::operator=(counter*) > (annotate_smart_pointer.cpp:?) > + by 0x........: main (annotate_smart_pointer.cpp:?) > +Allocation context: unknown. > + > Done. > > I looked at builds from previous nights and those testcases compared > consistently.. > Do these failures look legitimate to you? These failures should be analyzed further. The above failure looks strange to me: a race is reported on AnnotateCondVarSignal() while that function doesn't contain any store instructions. And since that function is not in a shared library, there is no GOT offset to be initialized. Did the compiler perhaps insert a store instruction ? The definition of that function is as follows: void __attribute__((weak,noinline)) AnnotateCondVarSignal(const char *file, int line, const volatile void *cv) { asm(""); } Bart. |