Re: [Flightgear-devel] Latest CVS and updates
Mmmm... I can reproduce the first freeze I was refering to, almost 100% of the times... Do this, start from KSFO, normal heading, start engine with throttle set to MAX and pull the joystick to force the plane raise ASAP... with some luck you'll get FGFS frozen in 15 to 20 seconds (just a few seconds after it looses contact with the ground). An strace shows this: gettimeofday({1005611496, 14693}, {180, 0}) = 0 gettimeofday({1005611496, 14814}, {180, 0}) = 0 gettimeofday({1005611496, 15393}, {180, 0}) = 0 gettimeofday({1005611496, 15443}, {180, 0}) = 0 write(10, \200y8\10\1\1\0\0\21\21\21\21\21\21\201?\350i\360;\336..., 1756) = 1756 gettimeofday({1005611496, 19466}, {180, 0}) = 0 gettimeofday({1005611496, 19637}, {180, 0}) = 0 ioctl(8, 0x8010500c, 0x8d68234) = 0 getpid()= 30633 getpid()= 30633 getpid()= 30633 getpid()= 30633 getpid()= 30633 getpid()= 30633 getpid()= 30633 getpid()= 30633 getpid()= 30633 getpid()= 30633 getpid()= 30633 getpid()= 30633 getpid()= 30633 getpid()= 30633 getpid()= 30633 getpid()= 30633 read(13, \360\24\4\6\1\200\2\3, 8)= 8 read(13, \372\24\4\6\0\324\2\0, 8)= 8 read(13, \372\24\4\6\260\201\2\3, 8) = 8 read(13, 0x9291318, 8) = -1 EAGAIN (Resource temporarily unavailable) read(14, 0x9280df0, 8) = -1 EAGAIN (Resource temporarily unavailable) getpid()= 30633 getpid()= 30633 ioctl(5, 0xc0044635, 0xbfffe8f0)= 0 ioctl(5, 0xc0044635, 0xbfffe8f0)= 0 gettimeofday({1005611496, 29800}, {180, 0}) = 0 ioctl(5, 0xc0044635, 0xbfffe8f0)= 0 ioctl(5, 0xc0044635, 0xbfffe8f0)= 0 getpid()= 30633 getpid()= 30633 getpid()= 30633 getpid()= 30633 ioctl(3, 0x541b, [0]) = 0 time(NULL) = 1005611496 time(NULL) = 1005611496 gettimeofday({1005611496, 38653}, {180, 0}) = 0 gettimeofday({1005611496, 38766}, {180, 0}) = 0 write(15, 27.5913, 1, 1, -0.34376, -0.6166..., 970) = 970 gettimeofday({1005611496, 40138}, {180, 0}) = 0 gettimeofday({1005611496, 40190}, {180, 0}) = 0 gettimeofday({1005611496, 42794}, {180, 0}) = 0 gettimeofday({1005611496, 42965}, {180, 0}) = 0 ioctl(8, 0x8010500c, 0x8d68234) = 0 The ioctl is the latest syscall before hanging. Hope this helps... Regards, Flavio. On Mon, 12 Nov 2001, Flavio Villanustre wrote: I saw a different kind of crash (literally)... After crashing against a mountain, everything became unresponsive and the engines suddenly stopped. I couldn't turn the engine back on and the pannel looked funny, with missing needles, instruments, etc. (I regret not having taken an snapshot)... ___ Flightgear-devel mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-devel
Re: [Flightgear-devel] Latest CVS and updates
Curt, maybe you were right and the sound system is responsible for the freezes... I got it to hang again while debugging and I saw this from a backtrace in gdb: (gdb) backtrace #0 slSamplePlayer::skip (this=0x9499798, nframes=1024) at sl.h:260 #1 0x08308cc1 in slPlayer::preempt (this=0x9499798, delay=1024) at slPlayer.cxx:51 #2 0x08307eef in slScheduler::realUpdate (this=0x8d71cf0, dump_first=0) at slScheduler.cxx:211 #3 0x082280fb in FGSoundMgr::update (this=0x8fb0310) at /usr/include/plib/sl.h:702 #4 0x08056878 in fgMainLoop () at ../../src/Main/globals.hxx:144 #5 0x0805788b in fgIdleFunction () at main.cxx:1327 #6 0x40090133 in idleWait () at eval.c:41 #7 0x0805d228 in main (argc=1, argv=0xb9e4) at main.cxx:1824 #8 0x40321627 in __libc_start_main (main=0x805d214 main, argc=1, ubp_av=0xb9e4, init=0x804dd14 _init, fini=0x835a890 _fini, rtld_fini=0x4000dcd4 _dl_fini, stack_end=0xb9dc) at ../sysdeps/generic/libc-start.c:129 Regards, Flavio. ___ Flightgear-devel mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-devel
RE: [Flightgear-devel] Latest CVS and updates
no terrain intersection no terrain intersection load() base = /usr/local/lib/FlightGear/Scenery Loading tile /usr/local/lib/FlightGear/Scenery/w180n1879048190/w180n1879048191/5712 This is (most likely) caused by the current lack of crash protection in JSBSim. What's happening here is that the crash causes very large forces to be generated from the gear model and this leads to an overflow and/or divide by zero. I am trying to add some logic in there that freezes the model when a crash occurs. The problem is coming up with a set of cases that works for crash detection. This is hard to do accurately without a surface normal and knowing which triangle a contact point is on. In the near-term, I'll just look for whacky values for the gear forces. Jon ___ Flightgear-devel mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-devel
Re: [Flightgear-devel] Latest CVS and updates
Flavio Villanustre writes: I saw a different kind of crash (literally)... After crashing against a mountain, everything became unresponsive and the engines suddenly stopped. I couldn't turn the engine back on and the pannel looked funny, with missing needles, instruments, etc. (I regret not having taken an snapshot)... JSBSim goes into NAN land when it encounters excessive ground forces. All the best, David -- David Megginson [EMAIL PROTECTED] ___ Flightgear-devel mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-devel
RE: [Flightgear-devel] Latest CVS and updates
Jon S. Berndt writes: I am trying to add some logic in there that freezes the model when a crash occurs. The problem is coming up with a set of cases that works for crash detection. This is hard to do accurately without a surface normal and knowing which triangle a contact point is on. In the near-term, I'll just look for whacky values for the gear forces. I think that's good enough, and can be made generally robust. You can extend the UNDERCARRIAGE section of the JSBSim config files to add a new AC_GEAR field for maximum force -- if this force is exceeded, the plane is assumed to be unflyable and the sim should display a message and stop. The maximum forces for the gear and skid are reasonably high; the maximum forces for other points on the airframe should be close to zero. Right now, the C172 defines gear (i.e. contact points) for the nose wheel, left wheel, right wheel, tail skid, left wingtip, and right wingtip. Once crash detection is in place, Tony could add a few more contact points (i.e. the top of the vertical stabilizer, the tips of the horizontal stabilizer, the top of the fuselage, and the propellor extremities) with low maximum-allowed force. It's a cheap-and-easy way to add useful crash information. All the best, David -- David Megginson [EMAIL PROTECTED] ___ Flightgear-devel mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-devel