• Vladislav Vaintroub's avatar
    MDEV-14485 Server hangs on startup in THD::init · 7cdf759c
    Vladislav Vaintroub authored
    Solve 3 way deadlock between plugin_initialiaze(), THD::init() and
    mysql_sys_var_char().
    
    The deadlock exists because of the lock order inversion between
    LOCK_global_system_variables mutex and LOCK_system_variables_hash
    read-write lock-
    
    In this case, it is enough to change LOCK_system_variables_hash to prefer
    reads to fix the deadlock, i.e change it to mysql_prlock_t
    7cdf759c
mysqld.h 31.5 KB