This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Race condition in localedata tests?


On Tue, Nov 18, 2014 at 8:28 AM, Carlos O'Donell <carlos@redhat.com> wrote:
> On 11/18/2014 11:17 AM, H.J. Lu wrote:
>> Hi,
>>
>> When machine is under heavy load, I saw
>>
>> FAIL: localedata/bug-iconv-trans
>> FAIL: localedata/tst-mbswcs6
>> FAIL: localedata/tst-trans
>> FAIL: localedata/tst-wctype
>> FAIL: localedata/tst_mbrlen
>> FAIL: localedata/tst_mbrtowc
>> FAIL: localedata/tst_mbsrtowcs
>> FAIL: localedata/tst_mbstowcs
>> FAIL: localedata/tst_mbtowc
>> FAIL: localedata/tst_swscanf
>> FAIL: localedata/tst_wcrtomb
>> FAIL: localedata/tst_wcsrtombs
>> FAIL: localedata/tst_wcstombs
>> FAIL: localedata/tst_wctob
>> FAIL: localedata/tst_wctomb
>>
>> Has anyone else seen it?
>
> No.
>
> Failing memory allocations?

I have plenty of memory.

> Do the tests have explicit dependencies on the locales they use?
> Perhaps it just happens that de_DE.UTF-8 hits the filesystem by
> the time the test runs.
>

localedata/Makefile has

# Dependency for the locale files.  We actually make it depend only on
# one of the files.
$(addprefix $(objpfx),$(CTYPE_FILES)): %: \
  gen-locale.sh $(common-objpfx)locale/localedef Makefile \
  $(addprefix charmaps/,$(CHARMAPS)) $(addprefix locales/,$(LOCALE_SRCS))
        @$(SHELL) gen-locale.sh $(common-objpfx) \
                  '$(built-program-cmd-before-env)' '$(run-program-env)' \
                  '$(built-program-cmd-after-env)' $@; \
        $(evaluate-test)

$(addsuffix .out,$(addprefix $(objpfx),$(tests))): %: \
  $(addprefix $(objpfx),$(CTYPE_FILES))

$(objpfx)sort-test.out: sort-test.sh $(objpfx)collate-test $(objpfx)xfrm-test \
                       $(test-input-data) $(addprefix $(objpfx),$(CTYPE_FILES))
        $(SHELL) $< $(common-objpfx) '$(test-program-prefix-before-env)' \
          '$(run-program-env)' '$(test-program-prefix-after-env)' \
          $(test-input) \
          > $@; \
        $(evaluate-test)

However, there is no $(CTYPE_FILES) dependency for those tests
above, which fail at random under heavy load with parallel build.


-- 
H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]