You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stdcxx.apache.org by Andrew Black <ab...@roguewave.com> on 2006/11/02 00:38:02 UTC
AIX locale failures
Greetings all.
I've been glancing at the failures observed with automated testing on
AIX, specifically in the locale testing.
It appears that the majority of the failures result from one of a two or
three sources.
The first source is a 399 (E_INVAL) error from the locale utility.
> RWSTD_SRC_ROOT=/amd/devco/ablack/stdcxx/etc/nls
> export RWSTD_SRC_ROOT
> mkdir -p /tmp/locale.26600/stage.1/charmaps
> ./localedef -w -c -f /amd/devco/ablack/stdcxx/etc/nls/charmaps/ISO-8859-1 -i /amd/devco/ablack/stdcxx/etc/nls/src/uz_UZ /tmp/locale.26600/stage.1/uz_UZ.ISO-8859-1 >/dev/tty 2>&1
> LC_ALL=/tmp/locale.26600/stage.1/uz_UZ.ISO-8859-1 ./locale --charmap -l >/tmp/locale.26600/stage.1/charmaps/ISO-8859-1 2>/dev/tty
> LC_ALL=/tmp/locale.26600/stage.1/uz_UZ.ISO-8859-1 ./locale -ck -h -l LC_ALL >/tmp/locale.26600/stage.1/uz_UZ.src 2>/dev/tty
> mkdir -p /tmp/locale.26600/stage.2/charmaps
> ./localedef -w -c -f /tmp/locale.26600/stage.1/charmaps/ISO-8859-1 -i /tmp/locale.26600/stage.1/uz_UZ.src /tmp/locale.26600/stage.2/uz_UZ.ISO-8859-1 >/dev/tty 2>&1
> /tmp/locale.26600/stage.1/uz_UZ.src:382: Error 399: 255 is an invalid int_p_cs_precedes value
> p_sign_posn 1
> ^^^
> rm -rf /tmp/locale.26600
The second source is an out of memory condition in the localedef utility
> RWSTD_SRC_ROOT=/amd/devco/ablack/stdcxx/etc/nls
> export RWSTD_SRC_ROOT
> mkdir -p /tmp/locale.27352/stage.1/charmaps
> ./localedef -w -c -f /amd/devco/ablack/stdcxx/etc/nls/charmaps/EUC-TW -i /amd/devco/ablack/stdcxx/etc/nls/src/zh_TW /tmp/locale.27352/stage.1/zh_TW.EUC-TW >/dev/tty 2>&1
> Error: bad_alloc: out of memory
> rm -rf /tmp/locale.27352
The final source may be a symptom of the previous, or it may be a
separate one. The locale utility either exits with a return code of 1,
or an assertion fails like the following. I have also observed the
behavior in the previous source. The exact behavior is highly sporadic.
> ar_YE.ISO-8859-6.sh.out
> /amd/devco/ablack/stdcxx/include/fstream.cc:660: std::basic_filebuf<char,std::char_traits<char> >::setbuf: Assertion '0 != this->_C_buffer' failed.
> ./run_utils[27]: 20786 IOT/Abort trap(coredump)
--Andrew Black