<div dir="ltr">Hi all,<div><br></div><div>I&#39;ve seen that GF_ASSERT() macro is defined in different ways depending on if we are building in debug mode or not.</div><div><br></div><div>In debug mode, it&#39;s an alias of assert(), but in non-debug mode it simply logs an error message and continues.</div><div><br></div><div>I think that an assert should be a critical check that should always be true, specially in production code. Allowing the program to continue after a failure on one of these checks is dangerous. Most probably it will crash later, losing some information about the real cause of the error. But even if it doesn&#39;t crash, some internal data will be invalid, leading to a bad behavior.</div><div><br></div><div>I think we should always terminate the process if an assertion fails, even in production level code. If some failure is not considered so much critical by the coder, it should not use GF_ASSERT() and only write a log message or use another of the condition check macros.</div><div><br></div><div>Thoughts ?</div><div><br></div><div>Xavi</div></div>