Issue Details (XML | Word | Printable)

Key: STDCXX-218
Type: Bug Bug
Status: Open Open
Priority: Minor Minor
Assignee: Unassigned
Reporter: Martin Sebor
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
C++ Standard Library

[Linux] localedef error 308 on yi_US.CP1255

Created: 29/Jun/06 01:08 AM   Updated: 15/Apr/08 09:33 PM
Return to search
Component/s: Utilities
Affects Version/s: 4.1.2, 4.1.3, 4.1.4, 4.2.0
Fix Version/s: 4.2.2

Time Tracking:
Original Estimate: 4h
Original Estimate - 4h
Remaining Estimate: 4h
Remaining Estimate - 4h
Time Spent: Not Specified
Remaining Estimate - 4h

Environment: Linux

Severity: Incorrect Behavior


 Description  « Hide
Moved from the Rogue Wave bug tracking database:

***Created By: sebor @ Jan 06, 2004 03:41:30 PM***
The yi_US.CP1255 locale is known to fail to build with the Rogue Wave localedef utility when using a shared version of the Rogue Wave C++ Standard Library 3.1.2 on some Linux distributions (such as RedHat Advanced Server 3.0 or SuSE Enterprise Server 8.1) with the following error:

Error 308: illegal encoding found in character map file



 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Martin Sebor added a comment - 22/May/07 05:20 AM
Based on nightly test results it looks like this locale still has problems even with gcc 4.1.1 on Red Hat Enterprise Linux 5.

Martin Sebor added a comment - 15/Apr/08 09:25 PM
Still failing:
$ cat /etc/redhat-release && gcc -dumpversion && make yi_US.CP1255
Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
3.4.6
./localedef -w -c -f /amd/devco/sebor/stdcxx/etc/nls/charmaps/CP1255 \
                  -i /amd/devco/sebor/stdcxx/etc/nls/src/yi_US \
                  /build/sebor/stdcxx-gcc-3.4.6_3-15D/nls/yi_US.CP1255
Error 308: incomplete multibyte character in character map file: expecting 3 bytes, found 0
make: *** [yi_US.CP1255] Error 4

Martin Sebor added a comment - 15/Apr/08 09:29 PM
The stack trace at the point the error is diagnosed:
(gdb) where
#0  issue_diag (type=308, token=0x0, 
    fmt=0x481a80 "incomplete multibyte character in character map file: expecting %u bytes, found %u\n") at /amd/devco/sebor/stdcxx/util/diagnostic.cpp:100
#1  0x0000000000419e43 in utf8_decode (from=0x7fbfffd530 "�c", 
    to=0x7fbfffd530 "�c") at /amd/devco/sebor/stdcxx/util/charmap.cpp:224
#2  0x000000000041a596 in Charmap::convert_to_ucs (this=0x602990, 
    sym_name=@0x602c08, encoding=@0x7fbfffd800, wc=@0x7fbfffd78c)
    at /amd/devco/sebor/stdcxx/util/charmap.cpp:681
#3  0x0000000000419f11 in Charmap::convert_to_wc (this=0x602990, 
    sym_name=@0x602c08, ext_enc=@0x7fbfffd800, wc=@0x7fbfffd78c)
    at /amd/devco/sebor/stdcxx/util/charmap.cpp:401
#4  0x000000000041a887 in Charmap::add_to_cmaps (this=0x602990, 
    sym_name=@0x602c08, encoding=@0x7fbfffd890, is_mbchar=false)
    at /amd/devco/sebor/stdcxx/util/charmap.cpp:742
#5  0x000000000041b5cc in Charmap::process_chars (this=0x602990)
    at /amd/devco/sebor/stdcxx/util/charmap.cpp:935
#6  0x000000000041c6db in Charmap (this=0x602990, Clocale=0x2a957718a0 "", 
    fname=0x5ff580 "/amd/devco/sebor/stdcxx/etc/nls/charmaps/CP1255", 
    in_utf8=false, create_forward_maps=true, create_reverse_maps=true, 
    use_UCS4=false) at /amd/devco/sebor/stdcxx/util/charmap.cpp:1066
#7  0x0000000000405e5f in create_locale (std_src=
      {<std::allocator<char>> = {<No data fields>}, static npos = 18446744073709551615, static _C_null_ref = {<__rw::__string_ref<char,std::char_traits<char>,std::allocator<char> >> = {_C_mutex = {_C_mutex = {__m_reserved = 0, __m_count = 0, __m_owner = 0x0, __m_kind = 0, __m_lock = {__status = 0, __spinlock = 0}}}, _C_refs = 0, _C_cap = 0, _C_size = {_C_size = 0, _C_dummy = 0 '\0'}}, _C_eos = 0 '\0'}, _C_data = 0x5ff6f0 "/amd/devco/sebor/stdcxx/etc/nls/src/yi_US"}, 
    std_cmap=
      {<std::allocator<char>> = {<No data fields>}, static npos = 18446744073709551615, static _C_null_ref = {<__rw::__string_ref<char,std::char_traits<char>,std::allocator<char> >> = {_C_mutex = {_C_mutex = {__m_reserved = 0, __m_count = 0, __m_owner = 0x0, __m_kind = 0, __m_lock = {__status = 0, __spinlock = 0}}}, _C_refs = 0, _C_cap = 0, _C_size = {_C_size = 0, _C_dummy = 0 '\0'}}, _C_eos = 0 '\0'}, _C_data = 0x5ff580 "/amd/devco/sebor/stdcxx/etc/nls/charmaps/CP1255"}, 
    outdir=
      {<std::allocator<char>> = {<No data fields>}, static npos = 18446744073709551615, static _C_null_ref = {<__rw::__string_ref<char,std::char_traits<char>,std::allocator<char> >> = {_C_mutex = {_C_mutex = {__m_reserved = 0, __m_count = 0, __m_owner = 0x0, __m_kind = 0, __m_lock = {__status = 0, __spinlock = 0}}}, _C_refs = 0, _C_cap = 0, _C_size = {_C_size = 0, _C_dummy = 0 '\0'}}, _C_eos = 0 '\0'}, _C_data = 0x5ff600 "/build/sebor/stdcxx-gcc-3.4.6_3-15D/nls/"}, 
    std_locale=
      {<std::allocator<char>> = {<No data fields>}, static npos = 18446744073709551615, static _C_null_ref = {<__rw::__string_ref<char,std::char_traits<char>,std::allocator<char> >> = {_C_mutex = {_C_mutex = {__m_reserved = 0, __m_count = 0, __m_owner = 0x0, __m_kind = 0, __m_lock = {__status = 0, __spinlock = 0}}}, _C_refs = 0, _C_cap = 0, _C_size = {_C_size = 0, _C_dummy = 0 '\0'}}, _C_eos = 0 '\0'}, _C_data = 0x5ff680 "yi_US.CP1255"}, force_output=true, use_ucs=false, 
    no_position=false, link_aliases=false)
    at /amd/devco/sebor/stdcxx/util/localedef.cpp:200
#8  0x0000000000407a66 in localedef_main (argc=8, argv=0x7fbffff2b8)
    at /amd/devco/sebor/stdcxx/util/localedef.cpp:561
#9  0x0000000000407c9a in main (argc=8, argv=0x7fbffff2b8)
    at /amd/devco/sebor/stdcxx/util/localedef.cpp:596

Martin Sebor added a comment - 15/Apr/08 09:33 PM
Added 4.1.4 and 4.2.0 to Affects Version/s and scheduled for 4.2.1.
Lowered Priority on the assumption that this isn't a terribly important locale.
Set Severity and Original Estimate.