From: Konstantin S. <kon...@gm...> - 2009-04-13 08:53:07
|
On Mon, Apr 13, 2009 at 12:22 PM, Bart Van Assche <bar...@gm...> wrote: > On Mon, Mar 30, 2009 at 8:40 PM, Konstantin Serebryany > <kon...@gm...> wrote: >> [changed subject] >> >> On Mon, Mar 30, 2009 at 2:10 PM, Bart Van Assche >> <bar...@gm...> wrote: >>> On Mon, Mar 30, 2009 at 4:53 PM, Konstantin Serebryany >>> <kon...@gm...> wrote: >>>>> Did you check whether DRD reports a false positive on your TLS test case ? >>>> >>>> DRD says nothing about TLS in this test (it prints lots of reports >>>> about _dl_lookup_symbol_x though) >>> >>> On which distro did this occur ? >> >> We have (a slightly modified) Ubuntu Hardy Heron LTS (8.04). >> >>> The following command does not >>> complain about _dl_lookup_symbol_x on Ubuntu 7.10 nor on openSUSE >>> 11.1: >>> >>> ./vg-in-place --tool=drd --check-stack-var=yes >>> drt/unittest/racecheck_unittest 130 >> >> using recent trunk: >> % ./vg-in-place --tool=drd --check-stack-var=yes >> ~/drt/trunk/unittest/racecheck_unittest 130 >> ==6335== Conflicting load by thread 1/1 at 0x0cb363a8 size 8 >> ==6335== at 0xC927332: _dl_lookup_symbol_x (in >> /usr/grte/v1/lib64/ld-2.3.6.so) >> ==6335== by 0xC92AB31: fixup (in /usr/grte/v1/lib64/ld-2.3.6.so) >> ==6335== by 0xC92A861: _dl_runtime_resolve (in >> /usr/grte/v1/lib64/ld-2.3.6.so) >> ==6335== by 0x41EB38: MyThreadArray::Start() (racecheck_unittest.cc:267) >> ==6335== by 0x40CB3C: test130::Run() (racecheck_unittest.cc:6059) >> ==6335== by 0x41F104: Test::Run() (racecheck_unittest.cc:161) >> ==6335== by 0x41616C: main (racecheck_unittest.cc:230) >> ... <more> >> >> the file default.supp does not seem to have anything relevant. >> In tsan I simply ignore everything inside ld-*.so. Helps with performance too. > > Are you sure this also occurs on a stock Ubuntu 8.04 ? I am not sure. :( We have our own libraries, which are not understood by default.supp. The stock Ubuntu 8.04 might be alright. --kcc > I can't > reproduce the above behavior with neither the 32-bit nor the 64-bit > version of Ubuntu 8.04: > > ==7481== drd, a thread error detector. > ==7481== Copyright (C) 2006-2009, and GNU GPL'd, by Bart Van Assche. > ==7481== Using LibVEX rev 1888, a library for dynamic binary translation. > ==7481== Copyright (C) 2004-2009, and GNU GPL'd, by OpenWorks LLP. > ==7481== Using valgrind-3.5.0.SVN, a dynamic binary instrumentation framework. > ==7481== Copyright (C) 2000-2009, and GNU GPL'd, by Julian Seward et al. > ==7481== For more details, rerun with: -v > ==7481== > test130: Per-thread > per_thread_global=0 > ==7481== > ==7481== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 23 from 2) > > Between the time you observed the false positive and the time I ran > the above test a DRD-specific Qt4-suppression pattern and a > glib-specific suppression pattern have been generalized, but that > shouldn't have any influence on the behavior you reported. > > Bart. > |