Hi fellow wiki editors!

To help newly registered users get more familiar with the wiki (and maybe older users too) there is now a {{Welcome to the wiki}} template. Have a look at it and feel free to add it to new users discussion pages (and perhaps your own).

I have tried to keep the template short, but meaningful. /Johan G

Difference between revisions of "Bugs"

From FlightGear wiki
Jump to: navigation, search
(No comm volume control)
m (link, desc)
 
(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]].
+

Latest revision as of 04:45, 19 May 2015

A bug This is a link to a Wikipedia article 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 FlightGear bug tracker.