[libc-commits] [libc] [libc] Reland #149423 "wchar string conversion functions mb to wc" (PR #150667)

LLVM Continuous Integration via libc-commits libc-commits at lists.llvm.org
Mon Jul 28 10:47:28 PDT 2025


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `libc-x86_64-debian-fullbuild-dbg-asan` running on `libc-x86_64-debian-fullbuild` while building `libc` at step 4 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/171/builds/27172

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 4 (annotate) failure: 'python ../llvm-zorg/zorg/buildbot/builders/annotated/libc-linux.py ...' (failure)
...
[ RUN      ] LlvmLibcMBSRToWCSTest.InvalidMiddleByte
[       OK ] LlvmLibcMBSRToWCSTest.InvalidMiddleByte (3 us)
[ RUN      ] LlvmLibcMBSRToWCSTest.NullDestination
[       OK ] LlvmLibcMBSRToWCSTest.NullDestination (5 us)
[ RUN      ] LlvmLibcMBSRToWCSTest.ErrnoChecks
[       OK ] LlvmLibcMBSRToWCSTest.ErrnoChecks (6 us)
[ RUN      ] LlvmLibcMBSRToWCSTest.NullptrCrash
[       OK ] LlvmLibcMBSRToWCSTest.NullptrCrash (653 us)
Ran 10 tests.  PASS: 10  FAIL: 0
[1217/1221] Running unit test libc.test.src.wchar.mbstowcs_test.__unit__
FAILED: libc/test/src/wchar/CMakeFiles/libc.test.src.wchar.mbstowcs_test.__unit__ /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/build/libc/test/src/wchar/CMakeFiles/libc.test.src.wchar.mbstowcs_test.__unit__ 
cd /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/build/libc/test/src/wchar && /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/build/libc/test/src/wchar/libc.test.src.wchar.mbstowcs_test.__unit__.__build__
[==========] Running 10 tests from 1 test suite.
[ RUN      ] LlvmLibcMBSToWCSTest.OneByteOneChar
[       OK ] LlvmLibcMBSToWCSTest.OneByteOneChar (24 us)
[ RUN      ] LlvmLibcMBSToWCSTest.FourByteOneChar
[       OK ] LlvmLibcMBSToWCSTest.FourByteOneChar (6 us)
[ RUN      ] LlvmLibcMBSToWCSTest.MultiByteTwoCharacters
[       OK ] LlvmLibcMBSToWCSTest.MultiByteTwoCharacters (4 us)
[ RUN      ] LlvmLibcMBSToWCSTest.MixedNumberOfBytes
[       OK ] LlvmLibcMBSToWCSTest.MixedNumberOfBytes (6 us)
[ RUN      ] LlvmLibcMBSToWCSTest.ReadLessThanStringLength
[       OK ] LlvmLibcMBSToWCSTest.ReadLessThanStringLength (5 us)
[ RUN      ] LlvmLibcMBSToWCSTest.InvalidFirstByte
[       OK ] LlvmLibcMBSToWCSTest.InvalidFirstByte (2 us)
[ RUN      ] LlvmLibcMBSToWCSTest.InvalidMiddleByte
[       OK ] LlvmLibcMBSToWCSTest.InvalidMiddleByte (3 us)
[ RUN      ] LlvmLibcMBSToWCSTest.NullDestination
[       OK ] LlvmLibcMBSToWCSTest.NullDestination (4 us)
[ RUN      ] LlvmLibcMBSToWCSTest.ErrnoChecks
[       OK ] LlvmLibcMBSToWCSTest.ErrnoChecks (6 us)
[ RUN      ] LlvmLibcMBSToWCSTest.NullptrCrash
AddressSanitizer:DEADLYSIGNAL
=================================================================
==3847002==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x5567c04fa666 bp 0x7ffd1432d330 sp 0x7ffd1432d1a0 T0)
==3847002==The signal is caused by a READ memory access.
==3847002==Hint: address points to the zero page.
    #0 0x5567c04fa666 in __llvm_libc_20_0_0_git::internal::StringConverter<unsigned char>::pushFullCharacter() /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/src/__support/wchar/string_converter.h:37:20
    #1 0x5567c04f9c0c in __llvm_libc_20_0_0_git::internal::StringConverter<unsigned char>::popUTF32() /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/src/__support/wchar/string_converter.h:63:32
    #2 0x5567c04f9000 in __llvm_libc_20_0_0_git::internal::mbsnrtowcs(wchar_t*, char const**, unsigned long, unsigned long, __llvm_libc_20_0_0_git::internal::mbstate*) /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/src/__support/wchar/mbsnrtowcs.h:39:42
    #3 0x5567c04f89a9 in __llvm_libc_20_0_0_git::mbstowcs(wchar_t*, char const*, unsigned long) /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/src/wchar/mbstowcs.cpp:28:14
    #4 0x5567c04f4d2c in LlvmLibcMBSToWCSTest_NullptrCrash::Run()::$_0::operator()() const /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/src/wchar/mbstowcs_test.cpp:168:3
    #5 0x5567c04f4d08 in __llvm_libc_20_0_0_git::testutils::FunctionCaller* __llvm_libc_20_0_0_git::testing::Test::createCallable<LlvmLibcMBSToWCSTest_NullptrCrash::Run()::$_0>(LlvmLibcMBSToWCSTest_NullptrCrash::Run()::$_0)::Callable::operator()() /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/UnitTest/LibcTest.h:218:36
    #6 0x5567c0501c3d in __llvm_libc_20_0_0_git::testutils::invoke_in_subprocess(__llvm_libc_20_0_0_git::testutils::FunctionCaller*, int) /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/UnitTest/ExecuteFunctionUnix.cpp:54:5
    #7 0x5567c0500351 in __llvm_libc_20_0_0_git::testing::Test::testProcessKilled(__llvm_libc_20_0_0_git::testutils::FunctionCaller*, int, char const*, char const*, __llvm_libc_20_0_0_git::testing::internal::Location) /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/UnitTest/LibcDeathTestExecutors.cpp:28:7
    #8 0x5567c04f4b74 in LlvmLibcMBSToWCSTest_NullptrCrash::Run() /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/src/wchar/mbstowcs_test.cpp:168:3
    #9 0x5567c0503887 in __llvm_libc_20_0_0_git::testing::Test::runTests(__llvm_libc_20_0_0_git::testing::TestOptions const&) /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/UnitTest/LibcTest.cpp:165:8
    #10 0x5567c0541ef8 in main /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/UnitTest/LibcTestMain.cpp:59:10
    #11 0x7f541fa46249 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
Step 8 (libc-unit-tests) failure: libc-unit-tests (failure)
...
[ RUN      ] LlvmLibcMBSRToWCSTest.InvalidMiddleByte
[       OK ] LlvmLibcMBSRToWCSTest.InvalidMiddleByte (3 us)
[ RUN      ] LlvmLibcMBSRToWCSTest.NullDestination
[       OK ] LlvmLibcMBSRToWCSTest.NullDestination (5 us)
[ RUN      ] LlvmLibcMBSRToWCSTest.ErrnoChecks
[       OK ] LlvmLibcMBSRToWCSTest.ErrnoChecks (6 us)
[ RUN      ] LlvmLibcMBSRToWCSTest.NullptrCrash
[       OK ] LlvmLibcMBSRToWCSTest.NullptrCrash (653 us)
Ran 10 tests.  PASS: 10  FAIL: 0
[1217/1221] Running unit test libc.test.src.wchar.mbstowcs_test.__unit__
FAILED: libc/test/src/wchar/CMakeFiles/libc.test.src.wchar.mbstowcs_test.__unit__ /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/build/libc/test/src/wchar/CMakeFiles/libc.test.src.wchar.mbstowcs_test.__unit__ 
cd /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/build/libc/test/src/wchar && /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/build/libc/test/src/wchar/libc.test.src.wchar.mbstowcs_test.__unit__.__build__
[==========] Running 10 tests from 1 test suite.
[ RUN      ] LlvmLibcMBSToWCSTest.OneByteOneChar
[       OK ] LlvmLibcMBSToWCSTest.OneByteOneChar (24 us)
[ RUN      ] LlvmLibcMBSToWCSTest.FourByteOneChar
[       OK ] LlvmLibcMBSToWCSTest.FourByteOneChar (6 us)
[ RUN      ] LlvmLibcMBSToWCSTest.MultiByteTwoCharacters
[       OK ] LlvmLibcMBSToWCSTest.MultiByteTwoCharacters (4 us)
[ RUN      ] LlvmLibcMBSToWCSTest.MixedNumberOfBytes
[       OK ] LlvmLibcMBSToWCSTest.MixedNumberOfBytes (6 us)
[ RUN      ] LlvmLibcMBSToWCSTest.ReadLessThanStringLength
[       OK ] LlvmLibcMBSToWCSTest.ReadLessThanStringLength (5 us)
[ RUN      ] LlvmLibcMBSToWCSTest.InvalidFirstByte
[       OK ] LlvmLibcMBSToWCSTest.InvalidFirstByte (2 us)
[ RUN      ] LlvmLibcMBSToWCSTest.InvalidMiddleByte
[       OK ] LlvmLibcMBSToWCSTest.InvalidMiddleByte (3 us)
[ RUN      ] LlvmLibcMBSToWCSTest.NullDestination
[       OK ] LlvmLibcMBSToWCSTest.NullDestination (4 us)
[ RUN      ] LlvmLibcMBSToWCSTest.ErrnoChecks
[       OK ] LlvmLibcMBSToWCSTest.ErrnoChecks (6 us)
[ RUN      ] LlvmLibcMBSToWCSTest.NullptrCrash
AddressSanitizer:DEADLYSIGNAL
=================================================================
==3847002==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x5567c04fa666 bp 0x7ffd1432d330 sp 0x7ffd1432d1a0 T0)
==3847002==The signal is caused by a READ memory access.
==3847002==Hint: address points to the zero page.
    #0 0x5567c04fa666 in __llvm_libc_20_0_0_git::internal::StringConverter<unsigned char>::pushFullCharacter() /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/src/__support/wchar/string_converter.h:37:20
    #1 0x5567c04f9c0c in __llvm_libc_20_0_0_git::internal::StringConverter<unsigned char>::popUTF32() /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/src/__support/wchar/string_converter.h:63:32
    #2 0x5567c04f9000 in __llvm_libc_20_0_0_git::internal::mbsnrtowcs(wchar_t*, char const**, unsigned long, unsigned long, __llvm_libc_20_0_0_git::internal::mbstate*) /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/src/__support/wchar/mbsnrtowcs.h:39:42
    #3 0x5567c04f89a9 in __llvm_libc_20_0_0_git::mbstowcs(wchar_t*, char const*, unsigned long) /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/src/wchar/mbstowcs.cpp:28:14
    #4 0x5567c04f4d2c in LlvmLibcMBSToWCSTest_NullptrCrash::Run()::$_0::operator()() const /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/src/wchar/mbstowcs_test.cpp:168:3
    #5 0x5567c04f4d08 in __llvm_libc_20_0_0_git::testutils::FunctionCaller* __llvm_libc_20_0_0_git::testing::Test::createCallable<LlvmLibcMBSToWCSTest_NullptrCrash::Run()::$_0>(LlvmLibcMBSToWCSTest_NullptrCrash::Run()::$_0)::Callable::operator()() /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/UnitTest/LibcTest.h:218:36
    #6 0x5567c0501c3d in __llvm_libc_20_0_0_git::testutils::invoke_in_subprocess(__llvm_libc_20_0_0_git::testutils::FunctionCaller*, int) /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/UnitTest/ExecuteFunctionUnix.cpp:54:5
    #7 0x5567c0500351 in __llvm_libc_20_0_0_git::testing::Test::testProcessKilled(__llvm_libc_20_0_0_git::testutils::FunctionCaller*, int, char const*, char const*, __llvm_libc_20_0_0_git::testing::internal::Location) /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/UnitTest/LibcDeathTestExecutors.cpp:28:7
    #8 0x5567c04f4b74 in LlvmLibcMBSToWCSTest_NullptrCrash::Run() /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/src/wchar/mbstowcs_test.cpp:168:3
    #9 0x5567c0503887 in __llvm_libc_20_0_0_git::testing::Test::runTests(__llvm_libc_20_0_0_git::testing::TestOptions const&) /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/UnitTest/LibcTest.cpp:165:8
    #10 0x5567c0541ef8 in main /home/llvm-libc-buildbot/buildbot-worker/libc-x86_64-debian-fullbuild/libc-x86_64-debian-fullbuild-dbg-asan/llvm-project/libc/test/UnitTest/LibcTestMain.cpp:59:10
    #11 0x7f541fa46249 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16

```

</details>

https://github.com/llvm/llvm-project/pull/150667


More information about the libc-commits mailing list