This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Race condition in localedata tests?
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: "Carlos O'Donell" <carlos at redhat dot com>
- Cc: GNU C Library <libc-alpha at sourceware dot org>
- Date: Tue, 18 Nov 2014 08:39:19 -0800
- Subject: Re: Race condition in localedata tests?
- Authentication-results: sourceware.org; auth=none
- References: <CAMe9rOp1ytEWzT8NzBj9-UtG1Ev0378BUj=PsGN2AwNSVa2KMA at mail dot gmail dot com> <546B73C4 dot 2020505 at redhat dot com>
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.