See subject. This is with the current CVS FlightGear and base package.

The problem is that there are two aircraft configuration files that try to include PropertyLists from files that no longer exist. The files in question are:

- Aircraft/c310u3a/c310-3d-set.xml --> tries to include "c310u3a-3d-jsbsim-set.xml", which is no longer in the base package.

- Aircraft/c172/c172-larcsim-set.xml --> tries to include "../c172p/c172p-base.xml", which is no longer in the base package.

In the case of c310-3d-set.xml, I just removed it since it was really only an alias pointing to a deleted file. For c172-larcsim-set.xml, I changed the file to include "c172-base.xml" instead. This isn't a perfect fix, though. The resulting LaRCSim c172 is missing a 3D model, for instance.

I guess this is all just lingering clean-up work left over from all the Aircraft reorganization that's been going on of late. In tracking down this problem, however, two thoughts came to mind.

First, it is very suprising to me that an error in a configuration file would result in FlightGear segfaulting. I encountered this problem before while editing a joystick configuration. I was adding a little Nasal script to the config and forgot to include the </script> tag at the end of the script. The result when I tried to run FlightGear was also a Segmentation fault. If I had not just finished editing that joystick config, I would have had no clue where to start looking for the problem. An error message saying, "Error parsing 'my_joystick_config.xml': missing </script> tag" would be a much more user-friendly way to handle this error. In the case of the missing Aircraft configuration files, I traced the segfault back till I got to plib's 'readProperties' function, so I guess I should be talking to the plib people instead of venting my spleen here. I guess my point is that the configuration files, being read in at run-time and out there for users to edit (or screw up) as they see fit, should not be trusted implicitly, and maybe some more robust error handling would be appropriate. When I have the time, I may take a crack at this problem.

I hesitate to mention my second thought, since I am not a FlightGear developer and my opinion on this matter shouldn't count for much. I looked back in the base package CVS logs, and I see that the missing aircraft config files which caused the segfault were removed from the base package nine days ago. I can only assume this means that the '--show-aircraft' option will also cause a segfault for the recent 0.9.4 release (can anyone confirm or deny?). I've read the recent threads on flightgear-devel concerning the release process, and I can see where the champions of the quick release strategy are coming from. But IMHO, this error is a good example of why there should be at least a minimal set of formal checks for proper function before the code is released. I'm not talking about some major regression testing or anything. It should be possible however to come up with a small list of important items to check before release. Think 'pre-flight checklist', and not 'annual inspection' :). As an example, it might be appropriate to check that all the options listed by 'fgfs --help' actually work as described. On the other hand, it might not be a big deal if one of the more obscure options listed by 'fgfs --help --verbose' was not quite working as advertised.

As I said, I hesitate to bring up this issue, since I certainly didn't do any user testing of the 0.9.4 pre-release, and I really do appreciate all the work that the developers put into FlightGear. In the future, I will try to find the time to do some testing before a release. When I get a chance, I'll do some brainstorming and come up with a list of key tests that I as a user can do before the next release. Anybody have suggestions?

Regards,
-Eric Hathaway

P.S. -- I'm surprised nobody encountered this error for nine whole days. I don't get a chance to use FlightGear as often as I'd like, but when I do I routinely use the --show-aircraft option to see which aircraft I feel like flying. What does everybody else do? Has everyone else started using a graphical front end to fgfs? -ELH

_______________________________________________
Flightgear-devel mailing list
[EMAIL PROTECTED]
http://mail.flightgear.org/mailman/listinfo/flightgear-devel

Reply via email to