Normally I try to not mention specific add-ons when talking about problems; it’s not fair to the add-on maker, it’s really hard to know what the real problem is without knowing everything about the bug, the problems I blog about usually affect a wide array of add-ons, and I don’t want to throw add-on makers under the bus. It’s not fair to them, particularly in this case.
In this case, however, approximately everybody knows that the Zibo was missing its wings in 11.50 beta 9 – it’s a very widely used add-on, and it’s a perfect illustration of the problems with third party content validation, which is what this post is about.
So…gather round children, and I will tell you the tale of how the Zibo lost its wings.
We Added New Error Checking to the OBJ Loader
Sidney and I have been going through X-Plane 11.50 crashes with a fine tooth comb, and one category that stuck out were crashes when loading and drawing OBJs. From what we could tell, the crashes were happening because the OBJs themselves had bad data in them.
The problem with this kind of crash is that X-Plane just crashes and asks you to report the problem to us; it doesn’t tell anyone which object has the problem, which means the scenery authors can never fix the problem.
So in X-Plane 11.50 beta 9, I added validation checks. They catch every case where invalid OBJ data could cause the sim to crash, they report the error, and the object is effectively removed so it can’t crash the sim.
Some Errors are Really Bad, Some Less So
Here’s the problem: the errors we are detecting can crash the sim. But they don’t always crash the sim. It depends on the particular invalid data.
We put the error checks in to find specific crashing objects, we found them, and we notified the authors. But now that we have complete checking, aircraft that have OBJs that violate the OBJ spec (but happen to work with X-Plane 11.41) are now kicking up warnings.
Thus, the Zibo. The wing object has what I can only imagine is a copy-paste error, and by good fortune, it happens to be harmless in X-Plane 11.41. But X-Plane 11.50b9 is a stickler now, so the wings don’t get loaded because they contain an error that could, in theory, crash the sim.
Beta 10 Will Be (Slightly) Less Cranky
X-Plane 11.50 beta 10 relaxes the really heavy error checking on a small number of cases where X-Plane 11.41 would not complain and we were able to determine that the sim would not crash; these errors will still be logged and authors should still fix them. In the case of the Zibo, this change will bring the wings back (although I understand that the authors fixed the problem very rapidly).
We have seen some high profile OBJ problems that we cannot work around; the OBJs are simply too weird. In these cases the OBJ ends up missing, so we still will have the loud squawky message in X-Plane 11.50 beta 10.