irrisor at dev.java.net
Sun Oct 7 08:58:18 MST 2007
(hmm last mail didn't get through - posting from the correct address now)
> First of all, you are expected to build release with assertions turned off.
The release builds of ODE don't turn off assertions, do they?
> So you can be sure user will not see assertion failure.
If so, your following points would be invalid :/
> Well, you think it is better to produce incorrect result and keep working
> even if user may not notice that error?
I agree that the user/application should notice the error, yes. But YES, it is
better to keep the rest of a system working if one tiny part fails.
> There can be cases when human lives depend on actions of software.
In deed. Thus I think you would want the plane to keep flying even if the coffee
maker breaks, wouldn't you?
All I say is that a potential problem (e.g. attempt to normalize a 0 length
vector) should be reported to the application (which in turn can notify the
user) without crashing the whole simulation, but with minimum impact. I do not
say that I'd like to ignore the error (commenting out the assertion is not a
solution). Building the release version without assertions (as you suggested)
wouldn't make much sense, because the problem might arise after shipping an
application the first time.
More information about the ODE