Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-35872

UBSAN: runtime error: applying zero offset to null pointer on CLI init in ctype-uca.c

Details

    Description

      bin/mariadb -uroot -S./socket.sock
      

      Leads to:

      CS 11.8.0 cacaaebf01939d387645fb850ceeec5392496171 (Optimized, UBASAN, Clang)

      /test/11.8_dbg_san/strings/ctype-uca.c:33747:43: runtime error: applying zero offset to null pointer
          #0 0x55f758e4581c  (/test/UBASAN_MD170125-mariadb-11.8.0-linux-x86_64-opt/bin/mariadb+0x4dd81c) (BuildId: 671d7fab92f615f71a34a18fade470ea32f2fc24)
          #1 0x55f758e285ae  (/test/UBASAN_MD170125-mariadb-11.8.0-linux-x86_64-opt/bin/mariadb+0x4c05ae) (BuildId: 671d7fab92f615f71a34a18fade470ea32f2fc24)
          #2 0x55f758e31b95  (/test/UBASAN_MD170125-mariadb-11.8.0-linux-x86_64-opt/bin/mariadb+0x4c9b95) (BuildId: 671d7fab92f615f71a34a18fade470ea32f2fc24)
          #3 0x55f758d6cdc3 in add_alias_for_collation (/test/UBASAN_MD170125-mariadb-11.8.0-linux-x86_64-opt/bin/mariadb+0x404dc3) (BuildId: 671d7fab92f615f71a34a18fade470ea32f2fc24)
          #4 0x55f758e3af86 in mysql_utf8mb4_0900_collation_definitions_add (/test/UBASAN_MD170125-mariadb-11.8.0-linux-x86_64-opt/bin/mariadb+0x4d2f86) (BuildId: 671d7fab92f615f71a34a18fade470ea32f2fc24)
          #5 0x55f758db7be4 in init_compiled_charsets (/test/UBASAN_MD170125-mariadb-11.8.0-linux-x86_64-opt/bin/mariadb+0x44fbe4) (BuildId: 671d7fab92f615f71a34a18fade470ea32f2fc24)
          #6 0x55f758d6fb94  (/test/UBASAN_MD170125-mariadb-11.8.0-linux-x86_64-opt/bin/mariadb+0x407b94) (BuildId: 671d7fab92f615f71a34a18fade470ea32f2fc24)
          #7 0x153303ca1ec2 in __pthread_once_slow nptl/pthread_once.c:116:7
          #8 0x55f758d716c0 in my_collation_get_by_name (/test/UBASAN_MD170125-mariadb-11.8.0-linux-x86_64-opt/bin/mariadb+0x4096c0) (BuildId: 671d7fab92f615f71a34a18fade470ea32f2fc24)
          #9 0x55f758d71add in get_charset_by_name (/test/UBASAN_MD170125-mariadb-11.8.0-linux-x86_64-opt/bin/mariadb+0x409add) (BuildId: 671d7fab92f615f71a34a18fade470ea32f2fc24)
          #10 0x55f758c5fce6  (/test/UBASAN_MD170125-mariadb-11.8.0-linux-x86_64-opt/bin/mariadb+0x2f7ce6) (BuildId: 671d7fab92f615f71a34a18fade470ea32f2fc24)
          #11 0x55f758c5e815 in main (/test/UBASAN_MD170125-mariadb-11.8.0-linux-x86_64-opt/bin/mariadb+0x2f6815) (BuildId: 671d7fab92f615f71a34a18fade470ea32f2fc24)
          #12 0x153303c2a1c9 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
          #13 0x153303c2a28a in __libc_start_main csu/../csu/libc-start.c:360:3
          #14 0x55f758b80e14 in _start (/test/UBASAN_MD170125-mariadb-11.8.0-linux-x86_64-opt/bin/mariadb+0x218e14) (BuildId: 671d7fab92f615f71a34a18fade470ea32f2fc24)
       
      SUMMARY: UndefinedBehaviorSanitizer: nullptr-with-offset /test/11.8_dbg_san/strings/ctype-uca.c:33747:43 
      

      CS 11.8.0 cacaaebf01939d387645fb850ceeec5392496171 (Optimized, UBASAN, Clang)

      /test/11.8_dbg_san/strings/ctype-uca.c:34396:43: runtime error: applying zero offset to null pointer
          #0 0x55f758e459b6  (/test/UBASAN_MD170125-mariadb-11.8.0-linux-x86_64-opt/bin/mariadb+0x4dd9b6) (BuildId: 671d7fab92f615f71a34a18fade470ea32f2fc24)
          #1 0x55f758e285ae  (/test/UBASAN_MD170125-mariadb-11.8.0-linux-x86_64-opt/bin/mariadb+0x4c05ae) (BuildId: 671d7fab92f615f71a34a18fade470ea32f2fc24)
          #2 0x55f758e31b95  (/test/UBASAN_MD170125-mariadb-11.8.0-linux-x86_64-opt/bin/mariadb+0x4c9b95) (BuildId: 671d7fab92f615f71a34a18fade470ea32f2fc24)
          #3 0x55f758d6cdc3 in add_alias_for_collation (/test/UBASAN_MD170125-mariadb-11.8.0-linux-x86_64-opt/bin/mariadb+0x404dc3) (BuildId: 671d7fab92f615f71a34a18fade470ea32f2fc24)
          #4 0x55f758e3af86 in mysql_utf8mb4_0900_collation_definitions_add (/test/UBASAN_MD170125-mariadb-11.8.0-linux-x86_64-opt/bin/mariadb+0x4d2f86) (BuildId: 671d7fab92f615f71a34a18fade470ea32f2fc24)
          #5 0x55f758db7be4 in init_compiled_charsets (/test/UBASAN_MD170125-mariadb-11.8.0-linux-x86_64-opt/bin/mariadb+0x44fbe4) (BuildId: 671d7fab92f615f71a34a18fade470ea32f2fc24)
          #6 0x55f758d6fb94  (/test/UBASAN_MD170125-mariadb-11.8.0-linux-x86_64-opt/bin/mariadb+0x407b94) (BuildId: 671d7fab92f615f71a34a18fade470ea32f2fc24)
          #7 0x153303ca1ec2 in __pthread_once_slow nptl/pthread_once.c:116:7
          #8 0x55f758d716c0 in my_collation_get_by_name (/test/UBASAN_MD170125-mariadb-11.8.0-linux-x86_64-opt/bin/mariadb+0x4096c0) (BuildId: 671d7fab92f615f71a34a18fade470ea32f2fc24)
          #9 0x55f758d71add in get_charset_by_name (/test/UBASAN_MD170125-mariadb-11.8.0-linux-x86_64-opt/bin/mariadb+0x409add) (BuildId: 671d7fab92f615f71a34a18fade470ea32f2fc24)
          #10 0x55f758c5fce6  (/test/UBASAN_MD170125-mariadb-11.8.0-linux-x86_64-opt/bin/mariadb+0x2f7ce6) (BuildId: 671d7fab92f615f71a34a18fade470ea32f2fc24)
          #11 0x55f758c5e815 in main (/test/UBASAN_MD170125-mariadb-11.8.0-linux-x86_64-opt/bin/mariadb+0x2f6815) (BuildId: 671d7fab92f615f71a34a18fade470ea32f2fc24)
          #12 0x153303c2a1c9 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
          #13 0x153303c2a28a in __libc_start_main csu/../csu/libc-start.c:360:3
          #14 0x55f758b80e14 in _start (/test/UBASAN_MD170125-mariadb-11.8.0-linux-x86_64-opt/bin/mariadb+0x218e14) (BuildId: 671d7fab92f615f71a34a18fade470ea32f2fc24)
       
      SUMMARY: UndefinedBehaviorSanitizer: nullptr-with-offset /test/11.8_dbg_san/strings/ctype-uca.c:34396:43 
      

      Setup:

      Compiled with a recent version of Clang (I used Clang 18.1.3) with LLVM 18. Ubuntu instructions:
           # Note: llvm-17-linker-tools installs /usr/lib/llvm-17/lib/LLVMgold.so, which is needed for compilation, and LLVMgold.so is no longer included in LLVM 18
           sudo apt install clang llvm-18 llvm-18-linker-tools llvm-18-runtime llvm-18-tools llvm-18-dev libstdc++-14-dev llvm-dev llvm-17-linker-tools
           sudo ln -s /usr/lib/llvm-17/lib/LLVMgold.so /usr/lib/llvm-18/lib/LLVMgold.so
      Compiled with: "-DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DCMAKE_C{,XX}_FLAGS='-O2 -march=native -mtune=native'"  and:
          -DWITH_ASAN=ON -DWITH_ASAN_SCOPE=ON -DWITH_UBSAN=ON -DWSREP_LIB_WITH_ASAN=ON
      Set before execution:
          export UBSAN_OPTIONS=print_stacktrace=1:report_error_type=1   # And you may also want to supress UBSAN startup issues using 'suppressions=UBSAN.filter'. For an example of UBSAN.filter, which includes current startup issues see: https://github.com/mariadb-corporation/mariadb-qa/blob/master/UBSAN.filter
      

      Present in 11.4+ but not 10.11

      Attachments

        Issue Links

          Activity

            People

              bar Alexander Barkov
              Roel Roel Van de Paar
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.