This problem shows up in 3.23.24 (and probably others)
(We discovered it when upgrading from 3.22)
from item_timefunc.cc
134 String* Item_func_monthname::val_str(String* str)
135 {
136 uint month=(uint) Item_func_month::val_int();
137 if (null_value)
138 return (String*) 0;
139 return &month_names[month-1];
140 }
Program assumes that no other threads modify "null_value" from within call in
line 136 to 137. We actually ran into a repeating case where this was occuring,
and line 139 was causing a Segfault.
Recommended workaround:
change line 137 to read
137 if (month<1)