1. 08 Nov, 2022 9 commits
  2. 07 Nov, 2022 3 commits
  3. 05 Nov, 2022 1 commit
    • Vladislav Vaintroub's avatar
      MDEV-29951 server hang in crash handler · 92be8d20
      Vladislav Vaintroub authored
      When trying to output stacktrace, and addr2line is not installed, the
      child process forked by start_addr2line_fork() will fail to do exec(),
      and finish with exit(1).
      
      There is a problem with exit() though - it runs exit handlers,
      and for the forked copy of crashing process, it is a bad idea.
      
      In 10.5+ code for example, exit handlers include
      tpool::task_group static destructors, and it will hang infinitely
      waiting for completion of the outstanding tasks.
      
      The fix is to use _exit() instead, which skips the execution of exit
      handlers
      92be8d20
  4. 03 Nov, 2022 1 commit
  5. 02 Nov, 2022 1 commit
  6. 30 Oct, 2022 1 commit
    • Brad Smith's avatar
      Fix warning with signal typedef for *BSD · 7d96cb47
      Brad Smith authored
      /usr/ports/pobj/mariadb-10.9.3/mariadb-10.9.3/mysys/my_lock.c:183:7: warning: incompatible function pointer types assigning to 'sig_return' (aka 'void (*)(void)') from 'void (*)(int)' [-Wincompatible-function-pointer-types]
            ALARM_INIT;
            ^~~~~~~~~~
      /usr/ports/pobj/mariadb-10.9.3/mariadb-10.9.3/include/my_alarm.h:43:16: note: expanded from macro 'ALARM_INIT'
                              alarm_signal=signal(SIGALRM,my_set_alarm_variable);
                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      /usr/ports/pobj/mariadb-10.9.3/mariadb-10.9.3/mysys/my_lock.c:189:7: warning: incompatible function pointer types passing 'sig_return' (aka 'void (*)(void)') to parameter of type 'void (*)(int)' [-Wincompatible-function-pointer-types]
            ALARM_END;
            ^~~~~~~~~
      /usr/ports/pobj/mariadb-10.9.3/mariadb-10.9.3/include/my_alarm.h:44:41: note: expanded from macro 'ALARM_END'
                                                    ^~~~~~~~~~~~
      /usr/include/sys/signal.h:199:27: note: passing argument to parameter here
      void    (*signal(int, void (*)(int)))(int);
                                   ^
      2 warnings generated.
      
      The prototype is the same for all of the *BSD's.
      
      void
      (*signal(int sigcatch, void (*func)(int sigraised)))(int);
      7d96cb47
  7. 28 Oct, 2022 1 commit
  8. 27 Oct, 2022 1 commit
  9. 26 Oct, 2022 3 commits
  10. 25 Oct, 2022 5 commits
  11. 24 Oct, 2022 4 commits
  12. 22 Oct, 2022 8 commits
  13. 21 Oct, 2022 2 commits
    • Daniel Black's avatar
      MDEV-29678 Valgrind/MSAN uninitialised value errors upon PS with ALTER under ONLY_FULL_GROUP_BY · e4621718
      Daniel Black authored
      st_select_lex::init_query is called in the exectuion of EXECUTE
      IMMEDIATE 'alter table ...'. so reset the initialization at the
      same point we set join= 0.
      e4621718
    • Sergei Petrunia's avatar
      MDEV-23160: SIGSEGV in Explain_node::print_explain_for_children on UNION SELECT · 6bc2e933
      Sergei Petrunia authored
      and also MDEV-25564, MDEV-18157.
      
      Attempt to produce EXPLAIN output caused a crash in
      Explain_node::print_explain_for_children. The cause of this was that an
      Explain_node (actually a derived) had a link to child select#N, but
      there was no query plan present for select#N.
      
      The query plan wasn't present because the subquery was eliminated.
      - Either it was a degenerate subquery like "(SELECT 1)" in MDEV-25564.
      - Or it was a subquery in a UNION subquery's ORDER BY clause:
         col IN (SELECT ... UNION
                 SELECT ... ORDER BY (SELECT FROM t1))
      
      In such cases, legacy code structure in subquery/union processing code(*)
      makes it hard to detect that the subquery was eliminated, so we end up
      with EXPLAIN data structures (Explain_node::children) having dangling
      links to child subqueries.
      Do make the checks and don't follow the dangling links.
      
      (In ideal world, we should not have these dangling links. But fixing
      the code (*) would have high risk for the stable versions).
      6bc2e933