Difference between revisions of "Crash to desktop"

From OrbiterWiki
Jump to navigation Jump to search
m (extra line)
(Added category.)
 
(4 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
The CTD, or crash to desktop, is one of Orbiter's most common ways of dealing with an error. If an error is discovered, which Orbiter is unable to resolve in other methods, it will simply terminate itself, without displaying any error message or warning.
 
The CTD, or crash to desktop, is one of Orbiter's most common ways of dealing with an error. If an error is discovered, which Orbiter is unable to resolve in other methods, it will simply terminate itself, without displaying any error message or warning.
 +
 +
CTD's usually manifest themselves as program crashes that cause the Windows Dialog Box of Inconvenience ("orbiter.exe has encountered a problem and needs to close"), and usually mention Exception 0xc0000005 (EACCESS_VIOLATION) in the technical details. Check the log file (Orbiter.log) for reasons why the app crashed.
  
 
==List of known CTD errors==
 
==List of known CTD errors==
Line 6: Line 8:
 
*Missing modules/.dlls
 
*Missing modules/.dlls
 
*.MP3 files of too high bit rate placed in [[orbitersound]] music directory.
 
*.MP3 files of too high bit rate placed in [[orbitersound]] music directory.
 +
 +
Additionally, there are some more subtle errors in the source code of an [[add-on]] module, which can manifest in a CTD:
 +
* Animation components and the used arrays of mesh groups need to be valid for the whole run-time of the vessel, otherwise Orbiter tries to access invalid memory.
 +
* Accessing vessel objects with [[oapiGetVesselInterface]]() without testing if the pointer is valid.
 +
* Failed loading of bitmaps.
  
  
 
{{Tech-Stub}}
 
{{Tech-Stub}}
 +
 +
[[Category: Articles]]

Latest revision as of 02:58, 14 October 2022

The CTD, or crash to desktop, is one of Orbiter's most common ways of dealing with an error. If an error is discovered, which Orbiter is unable to resolve in other methods, it will simply terminate itself, without displaying any error message or warning.

CTD's usually manifest themselves as program crashes that cause the Windows Dialog Box of Inconvenience ("orbiter.exe has encountered a problem and needs to close"), and usually mention Exception 0xc0000005 (EACCESS_VIOLATION) in the technical details. Check the log file (Orbiter.log) for reasons why the app crashed.

List of known CTD errors[edit]

Additionally, there are some more subtle errors in the source code of an add-on module, which can manifest in a CTD:

  • Animation components and the used arrays of mesh groups need to be valid for the whole run-time of the vessel, otherwise Orbiter tries to access invalid memory.
  • Accessing vessel objects with oapiGetVesselInterface() without testing if the pointer is valid.
  • Failed loading of bitmaps.


 This article, relating to technical issues within Orbiter, is a stub. You can help Orbiterwiki by expanding it.