NOINLINE sp_error_message since we are using unsafePerformIO to prevent the IO from being performed multiple times if it is inlined