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

SIGABRT in __sanitizer::Abort from plugin_dl_add on SELECT from I_S.all_plugins on ASAN builds

    XMLWordPrintable

Details

    • Bug
    • Status: Confirmed (View Workflow)
    • Major
    • Resolution: Unresolved
    • 10.3(EOL), 10.4(EOL), 10.5, 10.6, 10.7(EOL), 10.8(EOL), 10.9(EOL), 10.10(EOL), 10.11, 11.0(EOL), 11.2(EOL), 11.4, 11.6(EOL), 11.7
    • 10.5, 10.6, 10.11, 11.4
    • Plugins, Server

    Description

      SELECT * FROM information_schema.all_plugins;
      

      Leads to:

      11.0.2 a79abb6517f2fa68b48e61aa3354a0631e3a63f7 (Optimized)

      Core was generated by `/test/UBASAN_MD250323-mariadb-11.0.2-linux-x86_64-opt/bin/mariadbd --no-default'.
      Program terminated with signal SIGABRT, Aborted.
      #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=23430810833472)
          at ./nptl/pthread_kill.c:44
      [Current thread is 1 (Thread 0x154f69281240 (LWP 3088059))]
      (gdb) bt
      #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=23430810833472) at ./nptl/pthread_kill.c:44
      #1  __pthread_kill_internal (signo=6, threadid=23430810833472) at ./nptl/pthread_kill.c:78
      #2  __GI___pthread_kill (threadid=23430810833472, signo=6) at ./nptl/pthread_kill.c:89
      #3  0x000055a6fdba9483 in handle_fatal_signal (sig=<optimized out>) at /test/11.0_opt_san/sql/signal_handler.cc:357
      #4  <signal handler called>
      #5  __pthread_kill_implementation (no_tid=0, signo=6, threadid=23430810833472) at ./nptl/pthread_kill.c:44
      #6  __pthread_kill_internal (signo=6, threadid=23430810833472) at ./nptl/pthread_kill.c:78
      #7  __GI___pthread_kill (threadid=23430810833472, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
      #8  0x0000154f8c685476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
      #9  0x0000154f8c66b7f3 in __GI_abort () at ./stdlib/abort.c:79
      #10 0x0000154f688dc6f2 in __sanitizer::Abort () at ../../../../src/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cpp:151
      #11 0x0000154f688e82ac in __sanitizer::Die () at ../../../../src/libsanitizer/sanitizer_common/sanitizer_termination.cpp:58
      #12 0x0000154f688be3da in __asan::ReportIncompatibleRT () at ../../../../src/libsanitizer/asan/asan_linux.cpp:167
      #13 __asan::AsanCheckIncompatibleRT () at ../../../../src/libsanitizer/asan/asan_linux.cpp:190
      #14 0x0000154f688ca540 in __asan::AsanInitInternal () at ../../../../src/libsanitizer/asan/asan_rtl.cpp:419
      #15 0x0000154f8d32647e in call_init (l=<optimized out>, argc=argc@entry=10, argv=argv@entry=0x7ffd325191b8, env=env@entry=0x7ffd32519210) at ./elf/dl-init.c:70
      #16 0x0000154f8d326568 in call_init (env=0x7ffd32519210, argv=0x7ffd325191b8, argc=10, l=<optimized out>) at ./elf/dl-init.c:33
      #17 _dl_init (main_map=0x61a00003fc80, argc=10, argv=0x7ffd325191b8, env=0x7ffd32519210) at ./elf/dl-init.c:117
      #18 0x0000154f8c7b7c85 in __GI__dl_catch_exception (exception=exception@entry=0x0, operate=operate@entry=0x154f8d32df40 <call_dl_init>, args=args@entry=0x154f6927bde0) at ./elf/dl-error-skeleton.c:182
      #19 0x0000154f8d32dff6 in dl_open_worker (a=0x154f6927bf80) at ./elf/dl-open.c:808
      #20 dl_open_worker (a=a@entry=0x154f6927bf80) at ./elf/dl-open.c:771
      #21 0x0000154f8c7b7c28 in __GI__dl_catch_exception (exception=exception@entry=0x154f6927bf60, operate=operate@entry=0x154f8d32df60 <dl_open_worker>, args=args@entry=0x154f6927bf80) at ./elf/dl-error-skeleton.c:208
      #22 0x0000154f8d32e34e in _dl_open (file=<optimized out>, mode=-2147483646, caller_dlopen=0x55a6fbdd5863 <__interceptor_dlopen.part.0+259>, nsid=-2, argc=10, argv=<optimized out>, env=0x7ffd32519210) at ./elf/dl-open.c:883
      #23 0x0000154f8c6d36bc in dlopen_doit (a=a@entry=0x154f6927c1f0) at ./dlfcn/dlopen.c:56
      #24 0x0000154f8c7b7c28 in __GI__dl_catch_exception (exception=exception@entry=0x154f6927c150, operate=<optimized out>, args=<optimized out>) at ./elf/dl-error-skeleton.c:208
      #25 0x0000154f8c7b7cf3 in __GI__dl_catch_error (objname=0x154f6927c1a8, errstring=0x154f6927c1b0, mallocedp=0x154f6927c1a7, operate=<optimized out>, args=<optimized out>) at ./elf/dl-error-skeleton.c:227
      #26 0x0000154f8c6d31ae in _dlerror_run (operate=operate@entry=0x154f8c6d3660 <dlopen_doit>, args=args@entry=0x154f6927c1f0) at ./dlfcn/dlerror.c:138
      #27 0x0000154f8c6d3748 in dlopen_implementation (dl_caller=<optimized out>, mode=<optimized out>, file=<optimized out>) at ./dlfcn/dlopen.c:71
      #28 ___dlopen (file=<optimized out>, mode=<optimized out>) at ./dlfcn/dlopen.c:81
      #29 0x000055a6fbdd5863 in __interceptor_dlopen.part.0 ()
      #30 0x000055a6fc79e84e in plugin_dl_add (dl=<optimized out>, MyFlags=<optimized out>) at /test/11.0_opt_san/sql/sql_plugin.cc:777
      #31 0x000055a6fc7a9ba0 in plugin_dl_foreach (thd=thd@entry=0x62b00015e218, dl=dl@entry=0x154f6927d420, func=func@entry=0x55a6fcb8e720 <show_plugins(THD*, plugin_ref, void*)>, arg=arg@entry=0x6210000f0138) at /test/11.0_opt_san/sql/sql_plugin.cc:2568
      #32 0x000055a6fcbe8b3d in fill_all_plugins (thd=0x62b00015e218, tables=<optimized out>, cond=<optimized out>) at /test/11.0_opt_san/sql/sql_show.cc:388
      #33 0x000055a6fcc0d2f9 in get_schema_tables_result (join=join@entry=0x62900007a298, executed_place=executed_place@entry=PROCESSED_BY_JOIN_EXEC) at /test/11.0_opt_san/sql/sql_show.cc:9060
      #34 0x000055a6fcb1874d in JOIN::exec_inner (this=0x62900007a298) at /test/11.0_opt_san/sql/sql_select.cc:4852
      #35 0x000055a6fcb1f5b4 in JOIN::exec (this=0x62900007a298) at /test/11.0_opt_san/sql/sql_select.cc:4672
      #36 0x000055a6fcb0d051 in mysql_select (thd=0x62b00015e218, tables=<optimized out>, fields=<optimized out>, conds=<optimized out>, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=<optimized out>, result=0x62900007a268, unit=0x62b0001622a0, select_lex=0x6290000784a8) at /test/11.0_opt_san/sql/sql_select.cc:5153
      #37 0x000055a6fcb10be1 in handle_select (thd=thd@entry=0x62b00015e218, lex=lex@entry=0x62b0001621c8, result=result@entry=0x62900007a268, setup_tables_done_option=setup_tables_done_option@entry=0) at /test/11.0_opt_san/sql/sql_select.cc:611
      #38 0x000055a6fc69de41 in execute_sqlcom_select (thd=0x62b00015e218, all_tables=<optimized out>) at /test/11.0_opt_san/sql/sql_parse.cc:6267
      #39 0x000055a6fc70353d in mysql_execute_command (thd=0x62b00015e218, is_called_from_prepared_stmt=<optimized out>) at /test/11.0_opt_san/sql/sql_parse.cc:3949
      #40 0x000055a6fc714323 in mysql_parse (thd=0x62b00015e218, rawbuf=<optimized out>, length=<optimized out>, parser_state=<optimized out>) at /test/11.0_opt_san/sql/sql_parse.cc:7999
      #41 0x000055a6fc721fae in dispatch_command (command=<optimized out>, thd=0x62b00015e218, packet=<optimized out>, packet_length=<optimized out>, blocking=<optimized out>) at /test/11.0_opt_san/sql/sql_parse.cc:1894
      #42 0x000055a6fc72b719 in do_command (thd=0x62b00015e218, blocking=blocking@entry=true) at /test/11.0_opt_san/sql/sql_parse.cc:1407
      #43 0x000055a6fd02cc2d in do_handle_one_connection (connect=<optimized out>, put_in_cache=<optimized out>) at /test/11.0_opt_san/sql/sql_connect.cc:1416
      #44 0x000055a6fd02f22d in handle_one_connection (arg=0x6080000025b8) at /test/11.0_opt_san/sql/sql_connect.cc:1318
      #45 0x0000154f8c6d7b43 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
      #46 0x0000154f8c769a00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
      

      11.0.2 a79abb6517f2fa68b48e61aa3354a0631e3a63f7 (Debug)

      Core was generated by `/test/UBASAN_MD250323-mariadb-11.0.2-linux-x86_64-dbg/bin/mariadbd --no-default'.
      Program terminated with signal SIGABRT, Aborted.
      #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=22787968710208)
          at ./nptl/pthread_kill.c:44
      [Current thread is 1 (Thread 0x14b9bcc7b640 (LWP 3089414))]
      (gdb) bt
      #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=22787968710208) at ./nptl/pthread_kill.c:44
      #1  __pthread_kill_internal (signo=6, threadid=22787968710208) at ./nptl/pthread_kill.c:78
      #2  __GI___pthread_kill (threadid=22787968710208, signo=6) at ./nptl/pthread_kill.c:89
      #3  0x0000564bbcfd9968 in my_write_core (sig=6) at /test/11.0_dbg_san/mysys/stacktrace.c:424
      #4  0x0000564bba913fe3 in handle_fatal_signal (sig=<optimized out>) at /test/11.0_dbg_san/sql/signal_handler.cc:357
      #5  <signal handler called>
      #6  __pthread_kill_implementation (no_tid=0, signo=6, threadid=22787968710208) at ./nptl/pthread_kill.c:44
      #7  __pthread_kill_internal (signo=6, threadid=22787968710208) at ./nptl/pthread_kill.c:78
      #8  __GI___pthread_kill (threadid=22787968710208, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
      #9  0x000014b9dfc9d476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
      #10 0x000014b9dfc837f3 in __GI_abort () at ./stdlib/abort.c:79
      #11 0x000014b9bc2266f2 in __sanitizer::Abort () at ../../../../src/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cpp:151
      #12 0x000014b9bc2322ac in __sanitizer::Die () at ../../../../src/libsanitizer/sanitizer_common/sanitizer_termination.cpp:58
      #13 0x000014b9bc2083da in __asan::ReportIncompatibleRT () at ../../../../src/libsanitizer/asan/asan_linux.cpp:167
      #14 __asan::AsanCheckIncompatibleRT () at ../../../../src/libsanitizer/asan/asan_linux.cpp:190
      #15 0x000014b9bc214540 in __asan::AsanInitInternal () at ../../../../src/libsanitizer/asan/asan_rtl.cpp:419
      #16 0x000014b9e093e47e in call_init (l=<optimized out>, argc=argc@entry=10, argv=argv@entry=0x7ffd77e2e218, env=env@entry=0x7ffd77e2e270) at ./elf/dl-init.c:70
      #17 0x000014b9e093e568 in call_init (env=0x7ffd77e2e270, argv=0x7ffd77e2e218, argc=10, l=<optimized out>) at ./elf/dl-init.c:33
      #18 _dl_init (main_map=0x61a00004fe80, argc=10, argv=0x7ffd77e2e218, env=0x7ffd77e2e270) at ./elf/dl-init.c:117
      #19 0x000014b9dfdcfc85 in __GI__dl_catch_exception (exception=exception@entry=0x0, operate=operate@entry=0x14b9e0945f40 <call_dl_init>, args=args@entry=0x14b9bcc76160) at ./elf/dl-error-skeleton.c:182
      #20 0x000014b9e0945ff6 in dl_open_worker (a=0x14b9bcc76300) at ./elf/dl-open.c:808
      #21 dl_open_worker (a=a@entry=0x14b9bcc76300) at ./elf/dl-open.c:771
      #22 0x000014b9dfdcfc28 in __GI__dl_catch_exception (exception=exception@entry=0x14b9bcc762e0, operate=operate@entry=0x14b9e0945f60 <dl_open_worker>, args=args@entry=0x14b9bcc76300) at ./elf/dl-error-skeleton.c:208
      #23 0x000014b9e094634e in _dl_open (file=<optimized out>, mode=-2147483646, caller_dlopen=0x564bb88845c3 <__interceptor_dlopen.part.0+259>, nsid=-2, argc=10, argv=<optimized out>, env=0x7ffd77e2e270) at ./elf/dl-open.c:883
      #24 0x000014b9dfceb6bc in dlopen_doit (a=a@entry=0x14b9bcc76570) at ./dlfcn/dlopen.c:56
      #25 0x000014b9dfdcfc28 in __GI__dl_catch_exception (exception=exception@entry=0x14b9bcc764d0, operate=<optimized out>, args=<optimized out>) at ./elf/dl-error-skeleton.c:208
      #26 0x000014b9dfdcfcf3 in __GI__dl_catch_error (objname=0x14b9bcc76528, errstring=0x14b9bcc76530, mallocedp=0x14b9bcc76527, operate=<optimized out>, args=<optimized out>) at ./elf/dl-error-skeleton.c:227
      #27 0x000014b9dfceb1ae in _dlerror_run (operate=operate@entry=0x14b9dfceb660 <dlopen_doit>, args=args@entry=0x14b9bcc76570) at ./dlfcn/dlerror.c:138
      #28 0x000014b9dfceb748 in dlopen_implementation (dl_caller=<optimized out>, mode=<optimized out>, file=<optimized out>) at ./dlfcn/dlopen.c:71
      #29 ___dlopen (file=<optimized out>, mode=<optimized out>) at ./dlfcn/dlopen.c:81
      #30 0x0000564bb88845c3 in __interceptor_dlopen.part.0 ()
      #31 0x0000564bb92fd85e in plugin_dl_add (dl=dl@entry=0x14b9bcc77740, MyFlags=MyFlags@entry=0) at /test/11.0_dbg_san/sql/sql_plugin.cc:777
      #32 0x0000564bb93047fe in plugin_dl_foreach (thd=thd@entry=0x62b00015e218, dl=dl@entry=0x14b9bcc77740, func=func@entry=0x564bb97434b2 <show_plugins(THD*, plugin_ref, void*)>, arg=arg@entry=0x62200001f938) at /test/11.0_dbg_san/sql/sql_plugin.cc:2568
      #33 0x0000564bb9799837 in fill_all_plugins (thd=0x62b00015e218, tables=<optimized out>, cond=<optimized out>) at /test/11.0_dbg_san/sql/sql_show.cc:388
      #34 0x0000564bb97c333e in get_schema_tables_result (join=join@entry=0x6290000d92a8, executed_place=executed_place@entry=PROCESSED_BY_JOIN_EXEC) at /test/11.0_dbg_san/sql/sql_show.cc:9060
      #35 0x0000564bb965f4c6 in JOIN::exec_inner (this=this@entry=0x6290000d92a8) at /test/11.0_dbg_san/sql/sql_select.cc:4852
      #36 0x0000564bb966357b in JOIN::exec (this=this@entry=0x6290000d92a8) at /test/11.0_dbg_san/sql/sql_select.cc:4672
      #37 0x0000564bb9651d39 in mysql_select (thd=thd@entry=0x62b00015e218, tables=<optimized out>, fields=@0x6290000d7770: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x6290000d7aa0, last = 0x6290000daee8, elements = 13}, <No data fields>}, conds=conds@entry=0x0, og_num=og_num@entry=0, order=order@entry=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2701396736, result=0x6290000d9278, unit=0x62b000162460, select_lex=0x6290000d74b8) at /test/11.0_dbg_san/sql/sql_select.cc:5153
      #38 0x0000564bb9656194 in handle_select (thd=thd@entry=0x62b00015e218, lex=lex@entry=0x62b000162388, result=result@entry=0x6290000d9278, setup_tables_done_option=setup_tables_done_option@entry=0) at /test/11.0_dbg_san/sql/sql_select.cc:611
      #39 0x0000564bb91d5974 in execute_sqlcom_select (thd=thd@entry=0x62b00015e218, all_tables=<optimized out>) at /test/11.0_dbg_san/sql/sql_parse.cc:6267
      #40 0x0000564bb9236ccf in mysql_execute_command (thd=thd@entry=0x62b00015e218, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /test/11.0_dbg_san/sql/sql_parse.cc:3949
      #41 0x0000564bb92665e7 in mysql_parse (thd=thd@entry=0x62b00015e218, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x14b9bcc797b0) at /test/11.0_dbg_san/sql/sql_parse.cc:7999
      #42 0x0000564bb927637b in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x62b00015e218, packet=packet@entry=0x6290000dc219 "SELECT * FROM information_schema.all_plugins", packet_length=packet_length@entry=44, blocking=blocking@entry=true) at /test/11.0_dbg_san/sql/sql_parse.cc:1894
      #43 0x0000564bb9284180 in do_command (thd=0x62b00015e218, blocking=blocking@entry=true) at /test/11.0_dbg_san/sql/sql_parse.cc:1407
      #44 0x0000564bb9c4845a in do_handle_one_connection (connect=<optimized out>, connect@entry=0x6080000025b8, put_in_cache=put_in_cache@entry=true) at /test/11.0_dbg_san/sql/sql_connect.cc:1416
      #45 0x0000564bb9c49975 in handle_one_connection (arg=0x6080000025b8) at /test/11.0_dbg_san/sql/sql_connect.cc:1318
      #46 0x000014b9dfcefb43 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
      #47 0x000014b9dfd81a00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
      

      Setup:

      Compiled with GCC >=7.5.0 (I use GCC 11.3.0) and:
          -DWITH_ASAN=ON -DWITH_ASAN_SCOPE=ON -DWITH_UBSAN=ON -DWITH_RAPID=OFF -DWSREP_LIB_WITH_ASAN=ON
      Set before execution:
          export ASAN_OPTIONS=quarantine_size_mb=512:atexit=0:detect_invalid_pointer_pairs=3:dump_instruction_bytes=1:abort_on_error=1:allocator_may_return_null=1
      

      Bug confirmed present in:
      MariaDB: 10.3.39 (dbg), 10.3.39 (opt), 10.4.29 (dbg), 10.4.29 (opt), 10.5.20 (dbg), 10.5.20 (opt), 10.6.13 (dbg), 10.6.13 (opt), 10.7.8 (dbg), 10.7.8 (opt), 10.8.8 (dbg), 10.8.8 (opt), 10.9.6 (dbg), 10.9.6 (opt), 10.10.4 (dbg), 10.10.4 (opt), 10.11.3 (dbg), 10.11.3 (opt), 11.0.2 (dbg), 11.0.2 (opt)

      Attachments

        Activity

          People

            sanja Oleksandr Byelkin
            Roel Roel Van de Paar
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:

              Git Integration

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