Jump to content
Sign in to follow this  
razorseal

This makes me want to cry

Recommended Posts

Me too,I also hope it helps others who have read here.This is the type of feedback MS should heed from people like you. Then determine what needs fixing and patch it.I try not to make changes to the original works but sometimes it is the only way. So, I keep notes in case of a reinstall later.Wish there were a payware scenery package that completely replaced the MS stuff .... if it fixed the problems ... but the causes could be more than just scenery could fix.Norton already changed all the x's to 0's so time will tell.


Best Regards,

Vaughan Martell - PP-ASEL KDTW

Share this post


Link to post
Share on other sites

DJ,Got another CTD with the modification's to terrain.cfg.Did a flight from KDTW to KBNA no problems, no CTD.Several hours later I started another flight. KBNA to KDTW. I assumed the scenery would be basically the same.About half way through the flight (at 35000', good frame rates, cruise, nothing special going on, no ActiveSky) ... poof! CTD.Luckly, earlier, I saved the flight during cruise phase.Reloaded the saved flight and continued on to KDTW ... no further problems.As a result, I reinstalled my original terrian.cfg file.


Best Regards,

Vaughan Martell - PP-ASEL KDTW

Share this post


Link to post
Share on other sites

Well, that's unfortunate. At least you have eleminated one possible error path and now know that the texture mixing bug is not an issue.DJ

Share this post


Link to post
Share on other sites
Guest TomOOO

This is rather long.....Maybe this help from software point of view to understand the problem,but I will not solve your CTD. Consider the following pretend computer code....1) Plane has moved - Now at a new 3D position (x,y,z)2) Need to get all terrain that I can see3 Look through the scenery list including all the addon stuff. (this might be 100's - 1000's files Handle all the correct ones and add to my view list Got a broken link - a missing one.At this point a programmer can do several thingsa) Throw an exception : You will get a box saying that FS9 program got an error - please tell MS. At this stage the missingterrain file should have a name so FS9 could tell the name of the missing file (you really think that is going to help you !). Youwill have a call stack - completely useless to a user. Finally, we can return a status flag to the OS. In C type languages youcan issue an exit(0) which is a successful quit of the program, butthere are many other exit codes a program can return to the OS with.These are not really useful to users since the OS tends to repeatthe exit code with some pretty dumb responses.:( We carry on running, but ignore the missing terrain file andmake no reference to it. You will then get a hole in you terrainas there is no reference to it : though the graphics card mightget confused if it is expecting a matrix of textures - this is anotherbig problem the graphics card throwing a wobbly.c) We keep the NULL pointer - ie know the texture is missing andrecord this and then handle this correctly in the rest of the programd) We could load a default texture if we get an file load error. (Infact other posts have noted this is the case some times as FS9 looksfor a default.bgl file)So which is the best for the user.....a) Hum - every addon could exit the program with a nice polite message. Might be the most sensible, but you could get reallyannoyed with lots of polite exits from the program. The problemhere is that the world contains a lot of textures, and that is a whole bunch of test flying during Q & A to fly everywhere inthe world. The there are all the addons that MS has no controlover etc. Probably not a good idea then.:( Use no reference to the textureThis might be sensible as we have no reference to this textureto worry about. You will get holes in the view, and the graphicscard can get confused as texture mapping requires calls to the graphics driver API - and this might get upset if an object hasno texture. This is probably not a good thing to do as you areat the mercy of the graphics card. We also hit problem (a), nofatal errors but users will get annoyed with holes - or graphicscard VX erros.c) Keep a NULL pointer - this is usually not a good idea - sincethe program has to know what to do with a NULL pointer for the10,000's of lines of other code. At some stage a program this big is going to trip up with this bad reference andthe program "blows up". What you see is a CTD since the programget a bad reference, and it just appears some time later. This iswhy there are so many suggestions as to fixing these problems. Abad reference just shows up anywhere, and the time it takes to makeit self known is dependent on trillions of dependencies (speed -any real number between min and max for aircraft, altitude - anyreal number between 0 and 99,000 feet. We now have 2 numbers withmillions of possible values, so to get a particular combination wemultiply the millions of values of valid speed numbers with the millions of possible altitude values, now add in traffic, clouds,..... and we have more possible dependents than atoms in the universe)So a CTD just occurs some time later with a particular set of parameters - why a CTD though you ask. Well the problem with thistype of error, is that by its nature it just happened later sincesomeone gave the program come crappy data, and it just took a while for the crappy data to say boo. The program did not expectit, so the program just reference a bad memoryaddress - the OS says "get stuffed", and poof the program exits. All OS are like that (Win, Linux, AUX, mac), try to reference memorynot belonging to you and it kill you bang - no warning - dead -all gone - CTD.d) use a default texture - this does happen in MS, though eventhis has it problem due a another bug in FS9 - not described here.OK, we can handle a missing texture, there is a compromise, butthings get difficult if.....More of a problem is when an addon etc just feeds a slightly crappy bit of data. It is sortof sensible (not null), but cross references to something elsethat is a bit wrong too. Now we have a dependence on 2 things,and well - together they wrong - on their own they are sensible. This is probably where you CTD's, There are just so many callsto external files and cross references between these with MPISmapping and overlays, that some object (sensible) calls another object (sensible), but combined they produce rubbish - cos theywere both just a bit wrong. Now we get ©, ie some time laterthe bad cross reference says BOO, and its a CTD time. The moreaddons you upload/pay for the more likely you get inconsistentcross references and more likely they just interact to give a CTD.OK, why not capture this problem. With a small program with a small number of dependencies this is is done (I hope - wellI do). The problem here is that ...1) FS9 is big with a stupid large number of lines of code and astupid number of external files and dependencies.2) You (and me), the users, are all slaves to FPS.3) You (and me) are slaves to just one more addon.We could wrap every line of logical code up with an "exception"catch. But then this would begin to sap speed. if (pointer == NULL) { "don't to this bit" } is just one extraclock cycle, but bad cross references get really difficult to trap,since not until you are at an intensive "hard" step do you knowwhat is good or bad - now you really put the breaks on the FPS.We (software people) try to logically write code to stop you usersbreaking it, but sometimes it just get too difficult to test everything.In summaryA CTD is when a bad address (usually) says BOO when you did not expect itYou cannot trap at every line of code due to performance cost FS9 has lots of lines of code + many external files + API toaddon stuff. These interact and conspire to break FS9 sinceyou have added multiple addon that do not work together.CTD just happens at a later stage. By definition a CTD is due toa unknown problem that was not predicted, so cannot easily behandled - so the OS just kill the application. Ask the OS foran address you don't "own", it closes you down - poof.Finally OOM - The amount of physical memory makes no difference toOOM (only to speed of FS9). You have 2Gbyte in 32bit windows (I havedetailed this elsewhere), as physical or paged memory, you reach thislimit and you get OOM. You can get OOM since the program has askedfor too much memory. This maybe just because you have too many addon, or could be a real memory leak (ie the empty texture folderis a known problem). We all want the ultimate experience, but 2Gof memory cannot give you this, if you want to run in 2G of memoryyou have to compromise - full stop. We will have to wait until allhome computers run 64bit OS and all program handle 64bit addressing.Sorry for the long post, I though psolk was getting a hard time....Tom

Share this post


Link to post
Share on other sites

Thanks Tom,Very informative Post. Unfortunately, FS is not an app that can be oversimplified with 1000's of calls per second but we have certain known fixes/troubleshooting procedures you can certainly follow if you are willing. I don't take it personally in the forums anymore, i got over that a long time ago. So, how long have you been a coder ;)?-PPrimary RigLiquid CooledIntel C2D E6600 @3.2 gigsAsus P5N32SLI-Plus2 gigs Corsair XMS PC6400 4 4 4 12 @810Dual OC'd XFX 8800GTX @ 2 gigs24 inch Widescreen LCD 16XAA/16XAFDual 19 inch LCD'sRaid-0+1PCPower and Cooling 1k Quad SLIhttp://home.comcast.net/~psolk/3monitorsa.htmlBackup RigAMD 4000 San Diego @ 2.72 Gigs Kingston Corsair XMS CL2XFX 7900 GTX Raid-0psolk.jpg


Have a Wonderful Day

-Paul Solk

Boeing777_Banner_BetaTeam.jpg

Share this post


Link to post
Share on other sites
Guest TomOOO

Yes - definitely over simplifiedyes - many CTD etc can be avoided with a little effortI'm learning slowly about forums ...25 years:)RegardsTom

Share this post


Link to post
Share on other sites

Hey Tom, I actually found your explanation phenomenal, when I said that FS couldn't be oversimplified I am talking about some of the other posters who believe it is an MS program so it should behave itself and play nice with an MS O/SLOLThanks for the contributions,-PPrimary RigLiquid CooledIntel C2D E6600 @3.2 gigsAsus P5N32SLI-Plus2 gigs Corsair XMS PC6400 4 4 4 12 @810Dual OC'd XFX 8800GTX @ 2 gigs24 inch Widescreen LCD 16XAA/16XAFDual 19 inch LCD'sRaid-0+1PCPower and Cooling 1k Quad SLIhttp://home.comcast.net/~psolk/3monitorsa.htmlBackup RigAMD 4000 San Diego @ 2.72 Gigs Kingston Corsair XMS CL2XFX 7900 GTX Raid-0psolk.jpg


Have a Wonderful Day

-Paul Solk

Boeing777_Banner_BetaTeam.jpg

Share this post


Link to post
Share on other sites
Guest KemoF15

4 conditions exist when I get CTD with no error messages etc.1) I'm running Squawkbox (VATSIM) 3.12) I'm running Active Sky 6.53) I'm using add-on scenery (somewhere)4) I get CTDs almost always around 4hr point--using task manager I noticed memory commit increases at a linear rate to over 1GB (I have 4GB physical memory) given typical flight parameters, 1GB commit usually occurs at the 4 hour point (I've been told that FS9 can become "unstable" when memory commit starts exceeding 1GB)I've excluded 1 and 2 because I experienced CTDs without SB3.1 and/or ASv6.5I believe that there is an issue with add-on scenery and/or texture (non-default scenery/texture) in certain combinations (Ultimate Terrain, FSGenesis, GE Pro etc, airport add-ons) that is causing a "memory leak" and creating the "conditions" for a CTD. As I said, when I do have a CTD it is usually at the end of a long (4hr plus flight)over land (not water) and usually in the descent realm.Why descent? My guess (and that's all it is) is there is likely a greater demand on memory in a descent then there is at cruise since most of your world view is sky and terrain at altitude in a cruise condition (monitor your memory commit levels and FPS at cruise compared to a descent into a large metro area to verify that unscientific hypothesis).As a result, I'm working through a process of selectively deselecting add-on scenery in my scenery settings to see if I can ID the offending add-on. Additionally, I've been using Filemon in order to pinpoint any bad files (not found or failed).My sense is it's probably not an easy kill--it is probably not a single file or setting per se, but the combination of add-ons, aircraft included, and AI. Though CTDs do occur without a memory leak, there are memory leaks that will cause a sudden CTD without a OOM message--and I'm guessing that is the case with my setup.I don't think we'll ever see a completely CTD free environment given the complexity of the technology operating billions of operations a second in a variety of different software combinations. Frustrating nonetheless. Kemo

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...