MDEV-7108 changed the type of the variable srv_fatal_semaphore_wait_threshold from ulint to ulong but failed to adjust the assignments accordingly.
In MariaDB 10.2, some wrong code reads like this:
In MariaDB 10.1, it reads like this:
Both of these forms expect the data type to be ulint.
As far as I understand, on most platforms sizeof(ulong)==sizeof(ulint) would hold. Most notably, the sizes are different on 64-bit WIndows (4 and 8 bytes).
The problem was found by Vladislav Vaintroub by compiling 10.3 cmake -DWITH_ASAN and running tests on Windows.