On Tue, 2009-03-10 at 04:00 +0100, Csaba Halász wrote: 
> On Mon, Mar 9, 2009 at 8:36 PM, Durk Talsma <d.tal...@xs4all.nl> wrote:
> >
> > - There's a VOR station located exactly 100.0nm from the startup position.
> > If you fly straight to this VOR station (it's at the default NAV1
> > frequency), by following radial 108, FlightGear already crashes after approx
> > 5 minutes.
> 
> Thank you, this did the trick.
> Here is my analysis:
> 

It seems you do not have to add --fdm=yasim with this a/c? Is this
correct? I have not been doing this... when I tried --fdm=jsb
fgfs just aborts immediately, so assume adding the fdm is not
needed...

Anyway, on the 108, and yes, segfault after about 5 minutes... This is
with a fresh checkout of yesterday - OSG, PLIB, SG FG, and full
recompile...

Yesterday, did a quick 'flight' in the UFO --fdm=ufo --aircraft=ufo,
but at IAS of 500-1000 on 98 - no 'CRASH' - I figure when I reach flying
over/crossing the St Lawrence waterway I am safe ;=)) and I returned
on the reverse track...

And yesterday also did one flight in CitationX, but that was
in my WIN32 Vista source of about a week ago and again reached
the waterway without incident... but was using FGRUN, and had
a lot of other options like --atlas=socket,out,5,<MY IP>,udp,
no AI, no 'fog', and was a little higher, about 3,500 feet,
etc...

Also my WIN32 code has some protective code I _HAD_ to add
that does not allow triangles( int i1, int i2 ), and other shapes,
to be added if out of range of the _vertices.size()... windows
<vector> does a range check, and aborts the application if
out of range... maybe Mathias is addressing this... there are
lots of ongoing fast cvs changes in this area ;=))

---
C:/FGCVS/SimGear/source/simgear/scene/model/BoundingVolumeBuildVisitor.hxx   
Sun Mar 01 16:40:35 2009
+++ Simgear/simgear/scene/model/BoundingVolumeBuildVisitor.hxx Sat Mar
07 15:32:58 2009
@@ -303,14 +303,26 @@
         }
         void addLine(unsigned i1, unsigned i2)
         {
+#if defined(_MSC_VER)
+            if(( i1 >= _vertices.size() )||( i2 >= _vertices.size() ))
+                return;
+#endif
             addLine(_vertices[i1], _vertices[i2]);
         }
         void addTriangle(unsigned i1, unsigned i2, unsigned i3)
         {
+#if defined(_MSC_VER)
+            if(( i1 >= _vertices.size() )||( i2 >=
_vertices.size() )||( i3 >= _vertices.size() ))
+                return;
+#endif
             addTriangle(_vertices[i1], _vertices[i2], _vertices[i3]);
         }
         void addQuad(unsigned i1, unsigned i2, unsigned i3, unsigned
i4)
         {
+#if defined(_MSC_VER)
+            if(( i1 >= _vertices.size() )||( i2 >=
_vertices.size() )||( i3 >= _vertices.size() )||( i4 >=
_vertices.size() ))
+                return;
+#endif
             addQuad(_vertices[i1], _vertices[i2], _vertices[i3],
_vertices[i4]);
         }

I landed at CSS3, Montreal Les Cedres (I think) - boy I like a
plane that babbles at you - 'bank angle', when you turn too hard,
'1000 and 500 feet' when landing, etc - you feel like talking back,
and saying 'thank you'!

Will try adding my 'protective' code, very much needed for WIN32,
without the _MSC_VER switch, and see what happens... by adding
some printf() I checked and 'know' there are some calls to AddLine()
and addTriangle() at least, which are out of range... and this
is certainly some 'new' code.

Some questions:

1. Meantime could someone help me how to run gdb with fgfs... I
assume it is something like -

~/fg$ gdb --args ./fgfs --fg-root=... etc etc
(gdb) run

but after you see output of say -
 count=160000
OpenAL error (AL_INVALID_VALUE): set_volume
OpenAL error (AL_INVALID_VALUE): set_volume
OpenAL error (AL_INVALID_VALUE): set_pitch
CullVisitor::apply(Geode&) detected NaN,
    depth=nan, center=(0.003 0 0.0145),
    matrix={
        nan nan nan nan 
        nan nan nan nan 
        nan nan nan nan 
        nan nan nan nan 
}
 count=161000
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f0242c82700 (LWP 19017)]
MK_VIII::TCFHandler::update_runway (this=0x9a5a378) at mk_viii.cxx:4525
4525   runway.center.latitude = _runway->latitude();
(gdb) 
what good things can I look at?

Note I have adjusted my CullVisitor limiter code to each 1000!

2. How set the autopilot to fly this 108 radial at 2500, say 250 IAS?
I have found the main [AP] switch, but where do I set the track,
altitude, speed, etc ??? Is there a dialog? Or how?

Regards,

Geoff.



------------------------------------------------------------------------------
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to