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