=================== Crashes still in the game: =================== ========================================= Search this file for the error message you saw, following the instructions in the first section. This list is undergoing constant revision. For the latest version of this list, see: http://www.metacognix.com/stlkrsoc/CrashesStillInTheGame.html ========================================= STALKER still has a lot of issues that cause the game to exit, normally called "Crash to Desktop" or CTD. The best way of dealing with these CTDs is to save your game often, and periodically to named saves. The ZRP has a quick named save feature ("Save Level Game" on the main menu, or press ESC S) that can be used for this purpose. If your game "blue-screens" (BSOD - blue screen of death) and reboots: You can stop the reboot to see the specific error. In XP: Start > Control Panel > System > Advanced tab > "Start and Recovery" Settings button > uncheck "Automatically restart" under "System failure". Click OK on each dialog to exit. BSODs are usually driver-related, although they can also be related to other issues. The error module reported on the blue screen can be useful in determining the cause of the crash. If your game locks up during the Synchronizing stage, this is usually due to an error that was logged but the BugTrap dialog is not visible. You can kill the game via the Windows Task Manager; in XP you can press ctrl-alt-del, alt-E, E to end the current task. You may be able to avoid hard lockups by using the -silent_error_mode command line parameter at the end of the target line in the shortcut you use to start STALKER. The crash might still occur, but the game will simply exit to the desktop. This is recommended even if you don't have hard lockup crashes. If you see a screen talking about an error in XR_3DA.exe, it is usually the BugTrap dialog asking you to send in an error report. Don't do it; it doesn't work in STALKER SoC. Instead, find the log file (next paragraphs). If your game crashes or locks up, look for the log file that STALKER creates before running your game again. (STALKER overwrites the log each time you start the game.) The saved games and logs are on the C: drive by default in the STALKER-SHOC subdirectory. In Vista this subdirectory is under \Users\Public\Documents while in XP this is found in \Documents and Settings\All Users\Documents. The latest error log, called xray_.log* is under STALKER-SHOC in the logs\ subdirectory, while the saved games are stored in the savedgames\ subdirectory. * is usually your name, the one you see at the top of the menu when you click on the "start" button on the taskbar in XP. If your user name is Robert, for example, then you would find a file named xray_Robert.log. Open the log file with a text editor or viewer. At the end of that file is usually a section that starts with "FATAL ERROR" and has lines beginning with "[error]" or following "stack trace". These lines are useful in identifying most script and configuration errors. 0: ================ Any crash that references "out of memory" or similar. STALKER is resource-intensive. If you encounter this error, here are some workarounds: Reduce your texture quality, or perhaps even revert to DX8 mode (static lighting). Run with the " -noprefetch" command line option. Put the stuff in quotes at the end of the target line for the shortcut you use to launch STALKER. If you are running Vista, you can use the command "bcdedit /SetIncreaseUserVA 3072" while logged on with Administrator rights. 1: ================ stack trace: 001B:0188B3B6 xrRender_R1.dll (or xrRender_R2.dll) This is a driver error problem, likely caused by STALKER passing in bad data to a video driver function or perhaps due to a stalled or hung thread so that the processing is not handled in a timely manner. The good news is that it is a temporary failure, and reloading the last save will usually get around the problem. One common location for this error is Yantar, most often just northeast of the ecologist bunker. 2: ================ FATAL ERROR [error]Expression : assertion failed [error]Function : CSafeFixedRotationState::create [error]File : e:\stalker\patch_1_0004\xr_3da\xrgame\phvalidevalues.h [error]Line : 81 [error]Description : dBodyStateValide(b) stack trace: This is apparently caused by a bad controller animation, usually when it is under attack. Sometimes it is preceded by a severe FPS drop, caused by another problem (like DetailPathManager failure). Treatments: Kill the controller(s) before they enter this state. Either rush to the controller and deal with it, or use the ZRP debug code (debug mode must be enabled; default: Esc D K [mnemonic: debug kontroller]) to kill all on-line controllers before they crash the game. 3: ================ FATAL ERROR [error]Expression : e_entity [error]Function : xrServer::Process_event_reject [error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\xrServer_process_event_reject.cpp [error]Line : 12 [error]Description : entity not found. id_parent=1350 id_entity=1312 frame=11471 stack trace: Scheduler tried to update object lvl_community_respawn_xxxxx (e.g., esc_soldier_respawn_11350) This crash typically occurs when a newly-killed NPC's dropped weapon is destroyed or leaves the level (e.g., falls through the ground) while being evaluated as a possible replacement by another NPC. Treatments: You can use the ZRP "store-weapons-in-backpack" option to reduce the incidence. If the problem occurs, you can usually load the previous save prior to the crash and resume. 4: ================ If the unmodded game crashes with a pair of xrGame.dll lines in the stack trace and nothing else, or if it shows a "Can't load section" error, the saved game might be corrupt. This can be caused by the game destroying a body but not cleaning up the spot associated with the body. You will have this problem when you see "- Critical: SMapLocation binded to non-existent object id=xxxxx", although this is easily missed because it can occur much, much earlier before the error in the corrupted save is encountered after a reload. You might also see an accompanying "- Critical: CMapLocation::UpdateSpot binded to non-existent object id=xxxxx" in the log if you catch the problem when it occurs. NOTE: This type of destruction often occurs in mods or in arena venues, but it can also happen when an anomaly (like one of the Whirlygigs found in Pripyat's stadium) destroys a body in vanilla gameplay. Treatment: You will have to find a save game that does not have this problem. Good luck with that. 5: ================ ! Cannot build GAME path! (object m_tushkano_normal21511) ! CURRENT LEVEL : l10_radar ! CURRENT game point position : [376.978180][-51.199860][29.992897] FATAL ERROR [error]Expression : I != levels().end() [error]Function : GameGraph::CHeader::level [error]File : e:\stalker\patch_1_0004\xr_3da\xrgame\game_graph_inline.h [error]Line : 171 [error]Description : there is no specified level in the game graph : 96 stack trace: Scheduler tried to update object m_tushkano_normal21511 ... or something like ... FATAL ERROR [error]Expression : false [error]Function : CGameGraph::distance [error]File : e:\stalker\patch_1_0004\xr_3da\xrgame\game_graph_inline.h [error]Line : 96 [error]Description : There is no proper graph point neighbour! stack trace: Cause: Some mutant or NPC was spawned in a bad place. STALKER will spawn Alife in a random radius about a spawn point, which helps make the spawn different each time. Unfortunately this sometimes puts the entity in a spot outside a level, or it falls below the level. Treatment: Reload a previous save. 6: ================ ! DetailPathManager has failed : from [142.099976,-4.614447,445.899963] to [142.099976,-5.792273,443.799988] ! DetailPathManager has failed : from [142.099976,-4.614447,445.899963] to [142.099976,-5.792273,443.799988] ! DetailPathManager has failed : from [142.099976,-4.614447,445.899963] to [142.099976,-5.792273,443.799988] stack trace: 001B:01E59454 xrGame.dll 001B:01E5E8A4 xrGame.dll 001B:01E5E584 xrGame.dll Cause: An NPC or mutant was switched online in a bad place, and there is no possible connection path to the destination. STALKER uses a grid network of squares with connections to adjoining squares, but some squares are isolated. Examples: behind rocks on the edge of a map, or on a different elevation than the destination. Treatment: Reload a previous save. 7: ================ FATAL ERROR [error]Expression : fatal error [error]Function : CScriptEngine::lua_error [error]File : D:\xray-svn\xr_3da\xrGame\script_engine.cpp [error]Line : 74 [error]Description : [error]Arguments : LUA error: e:\stalker\gamedata\scripts\_g.script:20: bad argument #2 to 'format' (string expected, got no value) stack trace: 8: ================ Some rare crashes, whose treatment is to reload a previous save: stack trace: 001B:004BCFBC XR_3DA.exe, CTheoraSurface::`vftable'() 001B:0298C084 xrGame.dll 001B:02994577 xrGame.dll It can be caused by viewing a contact in your PDA when that contact is switched offline (e.g., watch Shaggy exit to the Garbage after saving him). ------------ stack trace: 001B:00451CE8 XR_3DA.exe, CKinematicsAnimated::ID_Cycle_Safe() ------------ 9: ================ [error][ 183] : Cannot create a file when that file already exists. This might happen when there are two consecutive exceptions (errors) at the same time. The severity of the error is a function of the previous error. 10: ================ Symptoms: CTD error: Can't load section: xxx\yyy, where xxx\yyy has an invalid character in the path or name of the object. Causes: DVD read errors or STEAM download errors, resulting in a corrupt all.spawn file or database.db* file (and all saved games based on them). Mod errors due to differences between save/load functions. Using a saved game from two (or more) patches earlier in a newly-upgraded game. You cannot use a 1.0001 save game in patch 1.0005 directly; you must patch to 1.0003, load the 1.0001 saved game, save, patch to 1.0004, load the 1.0003 saved game, save, and maybe patch to 1.0005/load/save if desired. This is because the patch can only convert the saved game of the immediately-prior patch to the current format. It is usually best to start a new game anyway, to take advantage of the fixes and improvements in the all.spawn file. Treatments: STEAM: Verify the integrity of the STEAM download (start by right-clicking the entry in the launcher). Try re-installing the game. You may have to replace the DVD drive; install the game on another computer as a test. You might have a bad DVD; contact THQ if so. 11: ================ Mod errors, which include the following: ------------ stack trace: 001B:007A105B xrLUA.dll 001B:01FB185A xrGame.dll Typical causes: Broken dialog script or broken dialog XML tree. Example: No existing function for dialog condition. ------------ stack trace: 001B:026339F6 xrGame.dll 001B:007C6D9D xrLUA.dll, luabind::detail::get_class_name() 001B:007CBCFD xrLUA.dll, luabind::detail::class_rep::function_dispatcher() 001B:007AA60B xrLUA.dll, lua_getinfo() Typical cause: C++ function call has invalid arguments. For example, a vector is missing an argument. ------------ Starting engine... Loading DLL: xrGameSpy.dll stack trace: 001B:02155A45 xrGame.dll Typical cause: main_menu.script has an error. ------------ FATAL ERROR [error]Expression : res!=-1 [error]Function : get_rank [error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\ui\Restrictions.cpp [error]Line : 34 [error]Description : cannot find rank for [error]Arguments : wpn_my_l33t_ubercool_weapon_m1 stack trace: Scheduler tried to update object esc_factory_prisoner_guard Cause: The game exits because the NPC cannot determine the relative value of a mod-specific weapon. Treatment: An entry for the new weapon needs to be added to the "available_items" list for one of the ranks in config\mp\mp_ranks.ltx. CAUTION: a semicolon (;) starts a comment, so anything after a semicolon on the long line will be ignored. ------------ =================== Errors that do not cause obvious trouble: =================== ~ ERROR: can't detach independant object. entity[wpn_ak7414270:14270], parent[pri_monolith_respawn_114248:14248], section[wpn_ak74] ~ ERROR: can't detach independant object. entity[wpn_mp52539:2539], parent[agr_factory_defence_stalker6:2532], section[wpn_mp5] ~ ERROR: can't detach independant object. entity[wpn_ak742662:2662], parent[agr_factory_assault_soldier1:2656], section[wpn_ak74] or ~ ERROR: can't detach independant object. entity[wpn_ak7414270:14270], parent[single_player:0], section[wpn_ak74] This warning is caused by the moving of a loose gun which has no parent (owner) into the inventory of the actor or that of an NPC body. Technically, one should not teleport a weapon that isn't theirs. This is the result of a hack to clean up a battlefield of weapons, or a hack to prevent an NPC from dropping a gun -- but he already has, so he is no longer the parent. It may be possible to "fix" the warning by assigning a parent to the weapon first. ------------ ~ cannot remove restriction with id [2734][agr_zone_radioactive_average] to the entity with id [2808][agr_flesh_normal], because it is not added A mutant has died, and the cleanup code attempted to remove the anomaly protection (which keeps the mutant away from the specified anomalies) from the mutant -- but the protection was not assigned to the mutant to start. This should be fixable by adding the protection to the mutant configuration files, although only newly-spawned mutants will be freed from the warning "error". ------------ !!!processing_enabled ->destroy_queue.push_back physic_destroyable_object[42003] frame [2234850] I have no idea.