Hi!
"Michael" == Michael R Gile <gil...@wsg.net> writes:
Michael> This problem shows up in 3.23.24 (and probably others)
Michael> (We discovered it when upgrading from 3.22)
Michael> from item_timefunc.cc
Michael> 134 String* Item_func_monthname::val_str(String* str)
Michael> 135 {
Michael> 136 uint month=(uint) Item_func_month::val_int();
Michael> 137 if (null_value)
Michael> 138 return (String*) 0;
Michael> 139 return &month_names[month-1];
Michael> 140 }
Michael> 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.
Michael> Recommended workaround:
Michael> change line 137 to read
Michael> 137 if (month<1)
Can you get us a backtrace (with variables) of this ?
The null_value is a thread specific variable and it shouldn't be
possible for it to be changed.
On the other hand, it's possible that month::val_int() could return 0;
In that case we would like to find out why and fix this!
Regards,
Monty