|
|
(75 intermediate revisions by 17 users not shown) |
Line 1: |
Line 1: |
| == Known Bugs ==
| | A '''{{Wikipedia|Software bug|bug}}''' is an error, flaw, failure, or fault in a computer program or system that causes it to produce an incorrect or unexpected result, or to behave in unintended ways. Bugs in [[FlightGear]] should be reported at the [http://sourceforge.net/p/flightgear/codetickets/ FlightGear bug tracker]. |
|
| |
|
| This section contains known and recorded bugs. It makes no claim to be a complete list, or even to be particularly accurate.
| | [[Category:Development]] |
| | |
| If the version number hasn't been released yet, that means that the fix is in CVS (this makes life easier maintaining the page - status doesn't have to be changed each release)
| |
| | |
| ==== Z-buffer burn-through ====
| |
| | |
| Sometimes distant objects can be seen through nearer objects that
| |
| are not supposed to be transparent. For example: Runway lights
| |
| sometimes burn through a solid cloud layer. Also runway lights
| |
| sometimes burn through aircraft structure. Some instruments
| |
| burn through the yoke.
| |
| | |
| It seems that so-called "2D" objects in the
| |
| background are likely to burn through "3D" objects in the
| |
| foreground. This is particularly noticeable in aircraft
| |
| that have a mixture of 2D and 3D instruments.
| |
| | |
| The ''position'' in space of the offending objects is OK, as
| |
| you can verify by shifting your PoV to get a little bit of
| |
| a side view. The obvious hypothesis is that the Z-order
| |
| is being mishandled in a Z-buffer somewhere.
| |
| | |
| ==== Memory leak ====
| |
| | |
| The simulator will gobble up about 3 gigabytes
| |
| of virtual memory overnight, while paused.
| |
| Without the
| |
| leak, the memory footprint would be less than 300 meg. The
| |
| difference between 300 meg and 3 gig is quite
| |
| significant on machines that have only 1 or 2 gig
| |
| of main memory.
| |
| | |
| A rather steady leak of 2 meg per minute is observed
| |
| during pause, no matter whether the aircraft is aloft
| |
| or parked on the ground. '''Vastly less leakage''' (two
| |
| orders of magnitude less, possibly zero) is observed
| |
| when the simulator is not paused, and the aircraft
| |
| is simply sitting on the ground with the parking
| |
| brake set.
| |
| | |
| This bug has been observed in multiple versions of fgfs,
| |
| including one compiled back in May, 2006 as well as
| |
| the most current CVS version.
| |
| | |
| This is 100% reproducible with a
| |
| ATI RV350 [Mobility Radeon 9600 M10] chipset
| |
| and the ati-fglrx driver.
| |
| The leak is observed whether or not
| |
| OSG_GL_EXTENSION_DISABLE=ATI:GL_SGIS_generate_mipmap is set.
| |
| | |
| ==== Numerous bugs in ATIS feature ====
| |
| | |
| 1) The ATIS is supposed to change whenever there is a
| |
| significant change in the weather. The comments mention
| |
| this, but the code makes no attempt to implement this.
| |
| | |
| 2) The code assumes that ATIS is prepared on the hour.
| |
| In practice this is virtually never the case; a new
| |
| ATIS is prepared hourly, but not on the hour. Also
| |
| this assumption is inconsistent with ATIS changes
| |
| based on the weather.
| |
| | |
| 3) The code attempts to issue a station identifier, but
| |
| none is heard.
| |
| | |
| 4) Various departures from standard phraseology.
| |
| | |
| 5) Volume is too low; ATIS is not readable over engine noise.
| |
| | |
| ==== Problems with --altitude option ====
| |
| | |
| When the aircraft is initialzed aloft using the
| |
| command-line --altitude=6000
| |
| option, 0.9.10 is observed to put up a blank screen
| |
| (no scenery, no panel) and to spew on the console
| |
| page after page like this:
| |
| | |
| Warning: invalid line segment passed to IntersectVisitor::addLineSegment(..)
| |
| nan nan nan 2.7093e+06 4.27332e+06 -3.87316e+06 segment ignored..
| |
| altitude = -1.69132e-41
| |
| sea level radius = -6.54575e-42
| |
| latitude = 6.9874e-316
| |
| longitude = 6.79737e-313
| |
| OpenAL error (AL_INVALID_VALUE): set_pitch
| |
| OpenAL error (AL_INVALID_VALUE): set_volume
| |
| | |
| ==== Multiple bugs in the location-in-air popup ====
| |
| | |
| The location-in-air popup turns off the magnetos and extends
| |
| the landing gear. Some pilots and flight instructors
| |
| deem this to be undesirable behavior, especially if all
| |
| they are trying to do is relocate from one airborne position to
| |
| another.
| |
| | |
| Similarly, it strongly perturbs the throttle setting,
| |
| aileron trim, elevator trim, rudder trim,
| |
| view angles, PoV position, and who-knows-what else.
| |
| Again, people who know about airplanes consider this to
| |
| be undesirable behavior.
| |
| | |
| There is also a tendency to place the aircraft into
| |
| dangerous unusual attitudes, and other bugs too numerous
| |
| to mention.
| |
| | |
| Evidently, though, there is at least one person who likes
| |
| things the way they are. Code that would have fixed these
| |
| bugs was rejected. Neither specific nor constructive criticism
| |
| of the code was offered. For details see the flightgear-devel
| |
| mailing list archives.
| |
| | |
| ==== Nearest fix ====
| |
| | |
| Did you know that there are 8 different BRAVO intersections
| |
| in the database?
| |
| | |
| Until now there was no support in the code for this; all but
| |
| one of the entries was thrown away at the lowest level. There
| |
| is a comment in the code saying that fixing this is on the
| |
| TODO list.
| |
| | |
| As for navaids (as opposed to waypoints), the low-level code
| |
| already provides support for ambiguous IDs, but the information
| |
| is not being used very wisely by the higher layers.
| |
| | |
| Code to fix these problems was offered to the community.
| |
| So far it has been completely ignored.
| |
| | |
| ==== HSI instrument failure ====
| |
| | |
| If you use the "heading indicator" checkbox on the
| |
| "instrument failure" popup to command a failure,
| |
| it has no effect on the HSI instrument used by
| |
| many aircraft in the simulator fleet.
| |
| | |
| This is because of wrong code in hsi.xml.
| |
| | |
| Backend code to handle this correctly exists, but has
| |
| apparently never been used. It needs one small fix,
| |
| followed by recompilation. A patchset to take care
| |
| of all this was offered to the community, but has
| |
| not been incorporated.
| |
| | |
| ==== Flux gate not really a flux gate ====
| |
| | |
| In the Instrumentation director, there are three heading-related
| |
| .cxx files.
| |
| * heading_indicator.cxx : vacuum driven, with drift
| |
| * heading_indicator_dg.cxx : electrically driven, with drift
| |
| * heading_indicator_fg.cxx : electrically driven, no drift
| |
| | |
| The "fg" in "heading_indicator_fg" is documented to stand for
| |
| "flux gate", as if the heading were slaved to a flux-gate
| |
| compass ... but the code does not implement any such thing.
| |
| All it really does is initialize the indicated heading to
| |
| the correct magnetic heading value, and then implement a
| |
| no-drift policy. This is incorrect behavior, as can be
| |
| seen by flying to an area where the magnetic variation is
| |
| different from what it was at the start of the flight. A
| |
| true slaved heading indicator would gradually accommodate
| |
| the new magvar.
| |
| | |
| The correct behavior ought to be easy to implement.
| |
| | |
| ==== Weird noises during initialization ====
| |
| | |
| It is observed that sometimes while the simulator is starting
| |
| up, before things are fully operational, weird noises are
| |
| produced. For example, in the c182rg, gear-in-transit
| |
| noises are produced for several seconds before the first
| |
| display becomes visible. (According to a dump of the
| |
| relevant variables, there is no evidence that the gear is
| |
| actually in transit, and no reason why it should be.)
| |
| | |
| Code to fix this was submitted. So far it has been
| |
| ignored.
| |
| | |
| ==== Navigation database out-of-date ====
| |
| | |
| The database of navigation waypoints and fixes has an internal
| |
| date of early 2005. It is missing quite a few useful fixes.
| |
| The FAA has defined quite a few new approaches in recent years,
| |
| and has revised others.
| |
| | |
| An updated version, based on a pull of the much more
| |
| current x-plane database, was made available. So far
| |
| it has been ignored.
| |
| | |
| ==== Ident from phantom DME ====
| |
| | |
| In the real world, some VOR stations and even some localizers
| |
| have a colocated DME station ... but there are plenty that
| |
| don't.
| |
| | |
| The DME has its own Morse ident, with a distinctive higher pitch.
| |
| | |
| In the simulator, due to a bug in the code, all stations
| |
| transmit the DME Morse ident ... even stations where no
| |
| DME is present.
| |
| | |
| The code in navradio.cxx finds the nearest VOR or LOC on the
| |
| frequency, and checks to see if it is in range. It also asks
| |
| for the "nearest" DME on the frequency, but makes no attempt
| |
| to check that it is in range. To say the same thing the
| |
| other way, there is no attempt to check that the aircraft is
| |
| within the service volume of the DME. Since there is almost always
| |
| a DME /somewhere/ on the frequency, the has_dme variable will
| |
| always be set true.
| |
| | |
| For a demonstration of this bug, park at KAOO airport and
| |
| tune up the AOO VOR (which has no DME). Or park at almost
| |
| any airport and tune up the localizer (since relatively few
| |
| localizers have DME).
| |
| | |
| ==== Wild accelerations at low speeds ====
| |
| | |
| Improper inclinometer ball indications have been observed:
| |
| -- When parked, the ball was pegged to one side.
| |
| -- When taxiing at low speeds (a few knots or less) the ball
| |
| oscillated wildly back and forth.
| |
| | |
| This was observed in the c182 model and in the default c172 model.
| |
| | |
| Tracing indicates that the problem is not within the slip_skid_ball.cxx
| |
| code, but rather upstream of there, in the flight dynamics. Tracing
| |
| shows that the y-accel-fps_sec values are wildly fluctuating in
| |
| direction, and enormous in magnitude.
| |
| | |
| Additional evidence pointing to the FDM comes from the fact that
| |
| the problem is observed with JSBSim and not with larcsim (although
| |
| larcsim has other problems, such as drifting slowly sideways while
| |
| parked).
| |
| | |
| This is important from a procedures training point of view.
| |
| If you want to have
| |
| a realistic flight, one of the checklist items is to verify, insofar
| |
| as possible, that the instruments give correct indications during
| |
| preflight and taxi. In a real aircraft, a pilot who found the
| |
| inclinometer pegged would cancel the flight before even starting
| |
| the engine.
| |
| | |
| ==== Airport lighting in poor weather ====
| |
| | |
| The code in tileentry.cxx turns on airport lights according to
| |
| the position of the sun relative to the horizon. One consequence
| |
| is that the lights are off during the day.
| |
| | |
| In real life, there are many circumstances where airport lights,
| |
| including approach lights, are turned on during the day. At tower airports, the lights are turned on during bad weather -- including weather that
| |
| is only slightly bad -- and also turned on if requested by the pilot. For
| |
| details, see [[http://www.faa.gov/ATPUBS/ATC/ATC.pdf FAA Order 7110.65p]].
| |
| | |
| At non-towered airports, the lights are usually pilot-controlled,
| |
| via radio.
| |
| | |
| The absence of lighting during daytime in poor weather detracts
| |
| significantly from the realism, because it affects both the
| |
| legality and the practicality of performing instrument approaches
| |
| under such conditions.
| |
| | |
| ==== Holes in the ground ====
| |
| | |
| Ever since the first win32-build of FG-OSG, there are at least two huge
| |
| ground scenery holes in the the Rhine/Main/Neckar-region in Germany.
| |
| The first one gapes at
| |
| the place which was formerly known as the city of Mannheim (near the
| |
| airport EDFM, which is still there), the second one has swallowed up a
| |
| big piece of Frankfurt am Main (near EDDF) and surrounding land.
| |
| | |
| First posted to the flightgear-devel list in November, 2006.
| |
| | |
| ==== Mixture versus Altitude ====
| |
| | |
| It is observed in the default c172p and in the c182 that at
| |
| high altitude airports (e.g. KGCN or KASE), to obtain max
| |
| static RPM, it suffices to move the mixture control only a
| |
| few mm aft of the full-forward (full-rich) position.
| |
| | |
| This is unrealistic. In a real aircraft under such conditions,
| |
| it would be necessary to pull the mixture control back about
| |
| an inch to obtain max RPM.
| |
| | |
| It's hard to say whether the carburetor is underreacting to the
| |
| altitude, or overreacting to the mixture control.
| |
| | |
| ==== EGT reads high ====
| |
| | |
| It is observed in the default c172p and in the c182 that the
| |
| EGT reads toward the high end of the scale under all conditions,
| |
| including idle. This is unrealistic.
| |
| | |
| Also, the EGT reads ''off-scale'' high under high-power conditions.
| |
| | |
| ==== Flags missing from instruments ====
| |
| | |
| Some of the standard instruments lack status flags. For example,
| |
| the GS needle goes to mid-scale if there is no valid signal. That'll kill you for sure. Reportedly the hi-res instruments implement flags, but the lo-res ones don't. Many aircraft are using the lo-res instruments.
| |
| | |
| Either the aircraft should be upgraded to use instruments that
| |
| display flags, or the instruments should be upgraded to be
| |
| display flags.
| |
| | |
| ==== Problems with --model-hz option ====
| |
| | |
| Specifying the --model-hz=10 command-line option results in the
| |
| following mess:
| |
| Model Author: Unknown
| |
| Creation Date: 2002-01-01
| |
| Description: Cessna C-182RG
| |
| Reading xml electrical system model from /games/cvs/data/Aircraft/c182/c182-electrical.xml
| |
| Sorry, wdot doesn't appear to be trimmable
| |
| Trim Failed
| |
| Trim Results:
| |
| Angle of Attack: 7.50 wdot: 3.21e+01 Tolerance: 1e-03 Failed
| |
| Throttle: 0.50 udot: 0.00e+00 Tolerance: 1e-03 Passed
| |
| Pitch Trim: 0.00 qdot: -5.44e-11 Tolerance: 1e-04 Passed
| |
| Model Author: Unknown
| |
| Creation Date: 2002-01-01
| |
| Description: Cessna C-182RG
| |
| altitude = -1.18461e-41
| |
| sea level radius = -4.87596e-42
| |
| latitude = 6.98923e-316
| |
| longitude = 6.79738e-313
| |
| altitude = -1.18461e-41
| |
| sea level radius = -4.87596e-42
| |
| latitude = 6.98923e-316
| |
| longitude = 6.79738e-313
| |
| altitude = -1.18461e-41
| |
| sea level radius = -4.87596e-42
| |
| latitude = 6.98923e-316
| |
| longitude = 6.79738e-313
| |
| WWarning: catching up on tile delete queue
| |
| Warning: catching up on tile delete queue
| |
| Warning: catching up on tile delete queue
| |
| Warning: catching up on tile delete queue
| |
| Warning: catching up on tile delete queue
| |
| Warning: catching up on tile delete queue
| |
| [many repeats]
| |
| Warning: catching up on tile delete queue
| |
| Warning: catching up on tile delete queue
| |
| altitude = 9
| |
| sea level radius = 4.62829e-268
| |
| latitude = 1.52075e-314
| |
| longitude = -0.0967923
| |
| Warning: catching up on tile delete queue
| |
| Warning: catching up on tile delete queue
| |
| Warning: catching up on tile delete queue
| |
| Warning: catching up on tile delete queue
| |
| Warning: catching up on tile delete queue
| |
| Warning: catching up on tile delete queue
| |
| Warning: catching up on tile delete queue
| |
| Warning: catching up on tile delete queue
| |
| Warning: catching up on tile delete queue
| |
| Warning: invalid line segment passed to IntersectVisitor::addLineSegment(..)
| |
| nan nan nan -inf inf -inf segment ignored..
| |
| altitude = -1.18461e-41
| |
| sea level radius = -4.87596e-42
| |
| latitude = 6.98923e-316
| |
| longitude = 6.79738e-313
| |
| Warning: invalid line segment passed to IntersectVisitor::addLineSegment(..)
| |
| nan nan nan -inf inf -inf segment ignored..
| |
| altitude = -1.18461e-41
| |
| sea level radius = -4.87596e-42
| |
| latitude = 6.98923e-316
| |
| longitude = 6.79738e-313
| |
| Warning: invalid line segment passed to IntersectVisitor::addLineSegment(..)
| |
| nan nan nan -inf inf -inf segment ignored..
| |
| altitude = -1.18461e-41
| |
| sea level radius = -4.87596e-42
| |
| latitude = 6.98923e-316
| |
| longitude = 6.79738e-313
| |
| Warning: invalid line segment passed to IntersectVisitor::addLineSegment(..)
| |
| nan nan nan -inf inf -inf segment ignored..
| |
| altitude = -1.18461e-41
| |
| sea level radius = -4.87596e-42
| |
| latitude = 6.98923e-316
| |
| longitude = 6.79738e-313
| |
| Warning: invalid line segment passed to IntersectVisitor::addLineSegment(..)
| |
| nan nan nan -inf inf -inf segment ignored..
| |
| altitude = nan
| |
| sea level radius = nan
| |
| latitude = nan
| |
| longitude = nan
| |
| | |
| and so forth.
| |
| | |
| ==== CPU hogging ====
| |
| | |
| The fsgs program will happily eat up >98% of the cpu cycles,
| |
| even when the simulator is paused. That seems excessive,
| |
| particularly during pause. This is on a 2GHz machine
| |
| with hardware acceleration. As a point of reference,
| |
| glxgears uses only a fraction of one percent of the cpu.
| |
| | |
| == Missing Features and Traps for the Unwary ==
| |
| | |
| ==== Version number, please ====
| |
| | |
| It would be helpful to have an easy, documented way to ascertain the
| |
| version number. A --version option on the command line would be
| |
| nice. Maybe also a help::about menu item, for use while fgfs is
| |
| already running.
| |
| | |
| One could imagine that info about key libraries would also be
| |
| helpful.
| |
| | |
| ==== Rabbits extinct ====
| |
| | |
| In the real world, many airports have '''sequenced flashers'''
| |
| (aka the rabbit) as part of the approach-light system.
| |
| | |
| In the FlightGear world, the sequenced flashers are inoperative
| |
| everywhere. Grepping through the code suggests that no attempt
| |
| has been made to implement this.
| |
| | |
| ==== No comm volume control ====
| |
| | |
| In many aircraft including the default c172p, the comm
| |
| radios have no volume control knob. In other aircraft
| |
| including the pa24-250, there is such a knob, but it
| |
| apparently isn't clickable and apparently doesn't do
| |
| anything. <strike>On the SenecaII, the knob appears to rotate
| |
| when clicked, but has no effect on the actual comm volume.<strike>
| |
| | |
| ==== Incompatible Scenery ====
| |
| | |
| Using e.g. google, it is easy to find out-of-date scenery
| |
| files -- along with out-of-date instructions. If you install
| |
| such scenery, you will get messages such as the following:
| |
| | |
| Failed to open file .../data/Models/fgfsdb/localizer.xml
| |
| Failed to open file .../data/Models/fgfsdb/WaterWorks30m.xml
| |
| Failed to open file .../data/Models/fgfsdb/GenericStorageTank5m.xml
| |
| Failed to open file .../data/Models/fgfsdb/GenericStorageTank10m.xml
| |
| Failed to open file .../data/Models/fgfsdb/GenericStorageTank20m.xml
| |
| Failed to open file .../data/Models/fgfsdb/GenericStorageTank30m.xml
| |
| | |
| You might get only a few such messages, or you might get
| |
| screenful after screenful.
| |
| | |
| So, beware, make sure you download scenery files that are
| |
| compatible with the version of fgfs you are using.
| |
| | |
| This obviously counts as a trap for the unwary. It could
| |
| also be considered a missing feature, in the sense that it
| |
| would be nice to put version markers in the files, and have
| |
| the software detect bad versions and print some sort of
| |
| user-friendly message (rather than screenfuls of unfriendly
| |
| verbiage).
| |
| | |
| ==== ASOS / AWOS AWOL ====
| |
| | |
| At many non-tower airports (and even some tower airports) there
| |
| is automatic weather reporting of some kind.
| |
| | |
| It ought to be straightforward to implement this, as a slight
| |
| variation on the existing ATIS feature.
| |
| | |
| == Fixed Bugs ==
| |
| | |
| ==== 0.9.8- Linux and perhaps Windows crashes when specifiying --lon or --lat ====
| |
| | |
| This version of flightgear an issue with starting coordinates that are lie on the boundary before tiles or coordinates.
| |
| | |
| Workround: Specify the latitude as a slight offset to what you require. Eg instad of --lon=16 make it --lon=16.0001 The difference visually is next to nothing. :-)
| |
| | |
| * '''This bug has not been observed in 0.9.10.'''
| |
| | |
| ==== 0.9.5 - 0.9.8 - Windows - Crash on start reporting "Could not gen source" ====
| |
| | |
| Any further reports or stacktraces on this bug would be appreciated.
| |
| Workround: Launch two copies of FGFS in quick succession: one should work. You may need three.
| |
| Update your sound card drivers.
| |
| | |
| * '''This bug has been fixed in 0.9.8a'''
| |
| | |
| ==== 0.9.7 - ? Linux - Joystick crash with correct config files ====
| |
| | |
| Workround: Comment out any unused axes (and, possibly buttons) in the config file - if your joystick has 3 axes, comment out axes 4 through end.
| |
| | |
| * ''' This bug has been fixed.'''
| |
| | |
| == See Also ==
| |
| | |
| ==== Individual Aircraft ====
| |
| | |
| Bugs associated with a particular aircraft should be listed
| |
| on the aircraft's [[Aircraft_Todo|ToDo]] page, not here.
| |
| | |
| ==== OpenSceneGraph ====
| |
| | |
| There is a separate page for issues related to [[OpenSceneGraph]].
| |