spring.exe gets hang at random time during game

spring.exe gets hang at random time during game

Discuss your problems with the latest release of the engine here. Problems with games, maps or other utilities belong in their respective forums.

Moderator: Moderators

Post Reply
ivand
Posts: 310
Joined: 27 Jun 2007, 17:05

spring.exe gets hang at random time during game

Post by ivand »

Hi!

Spring compiled with defined USE_GML and USE_GML_SIM randomly hangs up displaying the same picture in the game window and consuming 100% CPU of 1 core. If I undefine (and recompile sources after) USE_GML and USE_GML_SIM the game runs stable, but quite slow.

WinXP SP2, Core2Duo T5600, 2 Gb, Ati X1400.

Ready to answer your questions!
imbaczek
Posts: 3629
Joined: 22 Aug 2006, 16:19

Re: spring.exe gets hang at random time during game

Post by imbaczek »

use gdb to attach to the hanged process (attach <pid>), then post a backtrace (bt). also, make sure you have the latest gmlbranch; there were fixes since 78.2.1. it should sync.
ivand
Posts: 310
Joined: 27 Jun 2007, 17:05

Re: spring.exe gets hang at random time during game

Post by ivand »

imbaczek wrote:use gdb to attach to the hanged process (attach <pid>), then post a backtrace (bt). also, make sure you have the latest gmlbranch; there were fixes since 78.2.1. it should sync.
I personally use MSVC2008, so gdb does not necessary. I can tell you what I've seen: 1 thread run endlessly in CGameServer::UpdateLoop. Dunno about the others I'm still not guru in debuging multithreaded apps.

Thanks for the hints about gmlbranch, I'll take a look.

[Added later]

OMG Git is the real headache, how do I clone gmlbranch onto my computer? It was so simple with svn and so unclear with git.

Please change the development back to svn. :x
ivand
Posts: 310
Joined: 27 Jun 2007, 17:05

Re: spring.exe gets hang at random time during game

Post by ivand »

Hey. There is some update about the situation.

First the bad news: gmlbranch is as buggy as master one in terms of freeze I described above.

The good news is that I've mastered a bit in debugging multhithread apps. So I can tell and even show (in jpegs if you ask) state of any thread of the application.

Here what debugger says about threads after freeze occurred and 2-3 seconds after I pressed "Break All" button in IDE:

Code: Select all

0	 	4504	Main Thread	Main Thread	boost::detail::basic_timed_mutex::timed_lock	Normal	0
0	>	5280	Worker Thread	Win32 Thread	7c90eb94	Time Critical	0
0	 	5828	Worker Thread	Win32 Thread	7c90eb94	Normal	0
0	 	4120	Worker Thread	gmlClientServer<void,int,CUnit *>::gmlClient	boost::detail::basic_condition_variable::do_wait<boost::unique_lock<boost::mutex> >	Normal	0
0	 	5648	Worker Thread	gmlClientServer<void,int,CUnit *>::gmlClientAux	boost::detail::basic_timed_mutex::timed_lock	Normal	0
0	 	5328	Worker Thread	Win32 Thread	7c90eb94	Time Critical	0
0	 	2512	Worker Thread	Win32 Thread	7c90eb94	Time Critical	0
0	 	4212	Worker Thread	Win32 Thread	7c90eb94	Time Critical	0
Now I'll tell about status of any single thread from the list above:
1. Main thread (4504) got stuck right here:

Code: Select all

std::string CSelectedUnits::GetTooltip(void)
{
	GML_RECMUTEX_LOCK(sel); <-- Here it stays endlessly
Below are call stack details:

Code: Select all

 	ntdll.dll!7c90eb94() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]	
 	ntdll.dll!7c90e9c0() 	
 	kernel32.dll!7c8025cb() 	
 	kernel32.dll!7c802532() 	
>	spring.exe!boost::detail::basic_timed_mutex::timed_lock(const boost::posix_time::ptime & wait_until={...})  Line 91 + 0x17 bytes	C++
 	spring.exe!boost::detail::basic_recursive_mutex_impl<boost::detail::basic_timed_mutex>::lock()  Line 52	C++
 	spring.exe!CSelectedUnits::GetTooltip()  Line 747 + 0x14 bytes	C++
 	spring.exe!CMiniMap::GetTooltip(int x=90, int y=35)  Line 925 + 0xf bytes	C++
 	spring.exe!CMouseHandler::GetCurrentTooltip()  Line 588 + 0x19 bytes	C++
 	spring.exe!CTooltipConsole::Draw()  Line 73 + 0x10 bytes	C++
 	spring.exe!CGame::Draw()  Line 2846	C++
 	ntdll.dll!7c90e2f1() 	
 	kernel32.dll!7c8024b7() 	
 	spring.exe!SpringApp::Update()  Line 949 + 0xd bytes	C++
 	spring.exe!SpringApp::Run(int argc=3, char * * argv=0x00242598)  Line 1158 + 0x7 bytes	C++
 	spring.exe!Run(int argc=3, char * * argv=0x020d3210)  Line 60 + 0x13 bytes	C++
 	spring.exe!WinMain(HINSTANCE__ * hInstanceIn=0x00400000, HINSTANCE__ * hPrevInstance=0x00000000, char * lpCmdLine=0x00151f03, int nCmdShow=1)  Line 121 + 0x1b bytes	C++
 	spring.exe!__tmainCRTStartup()  Line 574 + 0x1d bytes	C
 	kernel32.dll!7c816ff7() 	
 	spring.exe!std::_Tree<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,CArchiveZip::FileData,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,CArchiveZip::FileData> >,0> >::find(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & _Keyval=)  Line 978 + 0xd bytes	C++
2. Worker thread (5280) - no info are available. Call Stack is below:

Code: Select all

>	ntdll.dll!7c90eb94() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]	
 	ntdll.dll!7c90e9ab() 	
 	winmm.dll!76b5af21() 	
 	kernel32.dll!7c80b6a3() 	

3. Worker thread (5828) - also no valuable info, AFAIK. Click on spring.exe!boost::`anonymous namespace'... entry does nothing. Here is CS:

Code: Select all

 	ntdll.dll!7c90eb94() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]	
 	ntdll.dll!7c90d85c() 	
 	kernel32.dll!7c8023ed() 	
 	kernel32.dll!7c802451() 	
 	SDL.dll!003c83db() 	
 	ntdll.dll!7c90d592() 	
 	kernel32.dll!7c809bab() 	
>	spring.exe!boost::`anonymous namespace'::thread_start_function()  + 0x5b bytes	C++
 	msvcr90.dll!78543433() 	
 	msvcr90.dll!785434c7() 	
 	kernel32.dll!7c80b6a3() 	
4. Worker thread (4120) - can't get through in this place:

Code: Select all

	void gmlClientSub() {
		Barrier.wait();  <-- here it stays

		GML_TYPENAME gmlExecState<R,A,U>  *ex=ExecState+ExecDepth; <-- This place is never visited after the freeze
Call Stack:

Code: Select all

 	ntdll.dll!7c90eb94() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]	
 	ntdll.dll!7c90e9ab() 	
 	kernel32.dll!7c80950b() 	
 	kernel32.dll!7c8100fb() 	
 	kernel32.dll!7c80a095() 	
 	spring.exe!boost::this_thread::interruptible_wait()  + 0x199 bytes	C++
 	spring.exe!boost::detail::basic_condition_variable::do_wait<boost::unique_lock<boost::mutex> >(boost::unique_lock<boost::mutex> & lock={...}, boost::detail::timeout wait_until={...})  Line 218 + 0x1c bytes	C++
 	spring.exe!boost::condition_variable::wait(boost::unique_lock<boost::mutex> & m={...})  Line 311	C++
 	spring.exe!boost::barrier::wait()  Line 47 + 0xc bytes	C++
>	spring.exe!gmlClientServer<void,int,CUnit *>::gmlClientSub()  Line 280	C++
 	spring.exe!gmlClientServer<void,int,CUnit *>::gmlClient()  Line 325 + 0x7 bytes	C++
 	spring.exe!boost::`anonymous namespace'::thread_start_function()  + 0x5b bytes	C++
 	msvcr90.dll!78543433() 	
 	msvcr90.dll!785434c7() 	
 	kernel32.dll!7c80b6a3() 	
5. Worker thread (5648) have stuck here:

Code: Select all

void CUnitHandler::Update()
{
	SCOPED_TIMER("Unit handler");

	if(!toBeRemoved.empty()) {
		GML_RECMUTEX_LOCK(unit); // Update. For anti-deadlock purposes.
		GML_RECMUTEX_LOCK(sel); // Update. Unit is removed from selectedUnits in ~CObject, which is too late.
		GML_RECMUTEX_LOCK(quad); // Update. Make sure unit does not get partially deleted before before being removed from the quadfield   <-- Thread is here and never goes below

		while (!toBeRemoved.empty()) {
Call Stack:

Code: Select all

 	ntdll.dll!7c90eb94() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]	
 	ntdll.dll!7c90e9c0() 	
 	kernel32.dll!7c8025cb() 	
 	kernel32.dll!7c802532() 	
 	spring.exe!boost::detail::basic_timed_mutex::timed_lock(const boost::posix_time::ptime & wait_until={...})  Line 91 + 0x17 bytes	C++
 	spring.exe!boost::detail::basic_recursive_mutex_impl<boost::detail::basic_timed_mutex>::lock()  Line 52	C++
>	spring.exe!CUnitHandler::Update()  Line 294 + 0x13 bytes	C++
 	spring.exe!CGame::SimFrame()  Line 3142	C++
 	spring.exe!CGame::ClientReadNet()  Line 3508	C++
 	spring.exe!CGame::Update()  Line 2507	C++
 	spring.exe!SpringApp::Sim()  Line 884 + 0xd bytes	C++
 	spring.exe!gmlClientServer<void,int,CUnit *>::gmlClientAux()  Line 409 + 0x3a bytes	C++
 	spring.exe!boost::`anonymous namespace'::thread_start_function()  + 0x5b bytes	C++
 	msvcr90.dll!78543433() 	
 	msvcr90.dll!785434c7() 	
 	kernel32.dll!7c80b6a3() 	
6. Worker Thread 5328 - no info, only Call Stack:

Code: Select all

>	ntdll.dll!7c90eb94() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]	
 	ntdll.dll!7c90e9ab() 	
 	kernel32.dll!7c80950b() 	
 	wdmaud.drv!72d2312a() 	
 	ntdll.dll!7c90e2dc() 	
 	kernel32.dll!7c80b6a3() 	
7. Worker Thread 2512- no info, only Call Stack:

Code: Select all

>	ntdll.dll!7c90eb94() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]	
 	ntdll.dll!7c90e9ab() 	
 	kernel32.dll!7c80950b() 	
 	dsound.dll!73f114a2() 	
 	dsound.dll!73f1294a() 	
 	dsound.dll!73f19fbf() 	
 	dsound.dll!73f1297e() 	
 	dsound.dll!73f1b993() 	
 	dsound.dll!73f1b958() 	
 	kernel32.dll!7c80b6a3() 	
8. Worker Thread 4212- no info, only Call Stack:

Code: Select all

>	ntdll.dll!7c90eb94() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]	
 	ntdll.dll!7c90e9ab() 	
 	kernel32.dll!7c80950b() 	
 	kernel32.dll!7c80954d() 	
 	kernel32.dll!7c80953b() 	
 	dsound.dll!73f114a2() 	
 	dsound.dll!73f1294a() 	
 	ntdll.dll!7c90e9ab() 	
 	kernel32.dll!7c80950b() 	
 	kernel32.dll!7c80954d() 	
 	kernel32.dll!7c80953b() 	
 	dsound.dll!73f11f30() 	
 	dsound.dll!73f114a2() 	
 	dsound.dll!73f11482() 	
 	dsound.dll!73f1297e() 	
 	dsound.dll!73f1b993() 	
 	dsound.dll!73f1b958() 	
 	kernel32.dll!7c80b6a3() 	
It seems like there is a deadlock and it's definitely somehow linked to gml.

That's all I can tell you right now. Please guide me in what to do next.


P.S. Since I'm not an english speaker and If you don't understand something I've written above, don't hesitate to ask a better explanation from me.


Thanks!
imbaczek
Posts: 3629
Joined: 22 Aug 2006, 16:19

Re: spring.exe gets hang at random time during game

Post by imbaczek »

that's some pretty detailed info there. i hope zerver, the maintainer of gmlbranch, can make use of it.
zerver
Spring Developer
Posts: 1358
Joined: 16 Dec 2006, 20:59

Re: spring.exe gets hang at random time during game

Post by zerver »

Excellent info. If all bug reports were this good, I would be unemployed.

gmlbranch has been updated. release executable is here:
http://planetspring.free.fr/spring/exec ... 21bf93.zip
http://planetspring.free.fr/spring/unit ... 1ad7b2.zip
User avatar
ginekolog
Posts: 837
Joined: 27 Feb 2006, 13:49

Re: spring.exe gets hang at random time during game

Post by ginekolog »

well i just got this random freeze like u described.. i get it once every ~~20 games, no idea why. I have to kill spring.exe to resume work in windows.
ivand
Posts: 310
Joined: 27 Jun 2007, 17:05

Re: spring.exe gets hang at random time during game

Post by ivand »

zerver, thanks a lot, you made it much(!!!) better, than it was before, but there is some work to do. :-)

Will tell you about 3 main threads:

1. Main

Code: Select all

bool CLuaHandle::IsAbove(int x, int y)
{
	if (!CheckModUICtrl()) {
		return false;
	}
	LUA_CALL_IN_CHECK(L); <-- Got stuck inside 
Call Stack:

Code: Select all

 	ntdll.dll!7c90eb94() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]	
 	ntdll.dll!7c90e9c0() 	
 	kernel32.dll!7c8025cb() 	
 	kernel32.dll!7c802532() 	
 	spring.exe!boost::detail::basic_timed_mutex::timed_lock(const boost::posix_time::ptime & wait_until={...})  Line 91 + 0x17 bytes	C++
 	spring.exe!boost::detail::basic_recursive_mutex_impl<boost::detail::basic_timed_mutex>::lock()  Line 52	C++
>	spring.exe!CLuaHandle::IsAbove(int x=414, int y=234)  Line 1609 + 0x13 bytes	C++
 	spring.exe!CEventHandler::IsAbove(int x=414, int y=234)  Line 499 + 0xc bytes	C++
 	spring.exe!CInputReceiver::GetReceiverAt(int x=414, int y=234)  Line 66 + 0x17 bytes	C++
 	spring.exe!CGuiHandler::DrawMapStuff(int onMinimap=0)  Line 3491 + 0x60 bytes	C++
 	spring.exe!CGame::DrawWorld()  Line 2597	C++
 	spring.exe!CGame::Draw()  Line 2796	C++
2. Worker Thread

Code: Select all

	void gmlClientSub() {
		Barrier.wait(); <-- I think it waits here, never goes below

		GML_TYPENAME gmlExecState<R,A,U> *ex=ExecState+ExecDepth;
		
		int thread=gmlThreadNumber;
Call Stack:

Code: Select all

 	ntdll.dll!7c90eb94() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]	
 	ntdll.dll!7c90e9ab() 	
 	kernel32.dll!7c80950b() 	
 	kernel32.dll!7c8100fb() 	
 	kernel32.dll!7c80a095() 	
 	spring.exe!boost::this_thread::interruptible_wait()  + 0x199 bytes	C++
 	spring.exe!boost::detail::basic_condition_variable::do_wait<boost::unique_lock<boost::mutex> >(boost::unique_lock<boost::mutex> & lock={...}, boost::detail::timeout wait_until={...})  Line 218 + 0x1c bytes	C++
 	spring.exe!boost::condition_variable::wait(boost::unique_lock<boost::mutex> & m={...})  Line 311	C++
 	spring.exe!boost::barrier::wait()  Line 47 + 0xc bytes	C++
>	spring.exe!gmlClientServer<void,int,CUnit *>::gmlClientSub()  Line 280	C++
 	spring.exe!gmlClientServer<void,int,CUnit *>::gmlClient()  Line 325 + 0x7 bytes	C++
 	spring.exe!boost::`anonymous namespace'::thread_start_function()  + 0x5b bytes	C++
 	msvcr90.dll!78543433() 	
 	msvcr90.dll!785434c7() 	
 	kernel32.dll!7c80b6a3() 	
3. Worker Thread

Code: Select all

	inline T GetItems(S n) {
		GML_IF_SERVER_THREAD() {
			return (*genfun)(n);
		}
		++gmlItemsConsumed;
		if(n==1) {
			long num=++req;
			while(avail<num) // waiting
				boost::thread::yield(); <-- run infinitely in while() can't tell about "avail" and "num" values, because compiler has made some "optimizations".
			T *ip=item_arr+(num-1)%arr_size;
Call Stack:

Code: Select all

>	spring.exe!gmlItemSequenceServer<unsigned int,int,unsigned int (__stdcall*)(int)>::GetItems(int n=1)  Line 821	C++
 	spring.exe!LuaOpenGL::CreateList(lua_State * L=0x080c1a90)  Line 4858 + 0x39 bytes	C++
 	spring.exe!luaD_precall(lua_State * L=0x080c1a90, lua_TValue * func=0x00000130, int nresults=1)  Line 319 + 0xe bytes	C++
 	spring.exe!luaV_execute(lua_State * L=0x080c1a90, int nexeccalls=5)  Line 616 + 0xb bytes	C++
 	spring.exe!luaD_call(lua_State * L=0x080c1a90, lua_TValue * func=0x1dedb168, int nResults=0)  Line 377 + 0x8 bytes	C++
 	spring.exe!f_call(lua_State * L=0x080c1a90, void * ud=0x0801f720)  Line 817 + 0x15 bytes	C++
 	spring.exe!luaD_rawrunprotected(lua_State * L=0x080c1a90, void (lua_State *, void *)* f=0x00860400, void * ud=0x0801f720)  Line 118 + 0x8 bytes	C++
 	spring.exe!luaD_pcall(lua_State * L=0x080c1a01, void (lua_State *, void *)* func=0x00860400, void * u=0x0801f720, int old_top=8, int ef=0)  Line 461 + 0x1b bytes	C++
 	spring.exe!lua_pcall(lua_State * L=0x080c1a90, int nargs=3, int nresults=0, int errfunc=0)  Line 838 + 0x19 bytes	C++
 	spring.exe!CLuaHandle::RunCallInTraceback(const LuaHashString & hs={...}, int inArgs=3, int outArgs=0, int errfuncIndex=0)  Line 206 + 0x3b bytes	C++
 	spring.exe!CLuaHandle::UnitCallIn(const LuaHashString & hs={...}, const CUnit * unit=0x1d811008)  Line 411	C++
 	spring.exe!CLuaHandle::UnitFinished(const CUnit * unit=0x1d811008)  Line 448	C++
 	spring.exe!CEventHandler::UnitFinished(const CUnit * unit=0x1d811008)  Line 311 + 0x7c bytes	C++
 	spring.exe!CUnit::FinishedBuilding()  Line 1848	C++
 	spring.exe!CUnit::AddBuildPower(float amount=7.8125000, CUnit * builder=0x3f8000d7)  Line 1714 + 0x9 bytes	C++
 	spring.exe!CBuilder::Update()  Line 285 + 0x16 bytes	C++
 	spring.exe!CUnitHandler::Update()  Line 308 + 0x1f bytes	C++
 	spring.exe!CGame::SimFrame()  Line 3142	C++
 	spring.exe!CGame::ClientReadNet()  Line 3508	C++
 	spring.exe!CGame::Update()  Line 2507	C++
 	spring.exe!SpringApp::Sim()  Line 884 + 0xd bytes	C++
 	spring.exe!gmlClientServer<void,int,CUnit *>::gmlClientAux()  Line 409 + 0x3a bytes	C++
 	spring.exe!boost::`anonymous namespace'::thread_start_function()  + 0x5b bytes	C++
 	msvcr90.dll!78543433() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for msvcr90.dll]	
 	msvcr90.dll!785434c7() 	
 	kernel32.dll!7c80b6a3() 	

Once again thanks for coding and committing bugfixes, 2 days old release and the new one differs like day and night in terms of gml stability.

P.S. Btw, There are lots of errors like the following:

Code: Select all

GML error: Sim thread called gmlTexCoord2f
GML error: Sim thread called gmlVertex3f
GML error: Sim thread called gmlDeleteLists
GML error: Sim thread called gmlDeleteTextures
...etc...
Don't think it's good.
imbaczek
Posts: 3629
Joined: 22 Aug 2006, 16:19

Re: spring.exe gets hang at random time during game

Post by imbaczek »

ivand wrote:

Code: Select all

GML error: Sim thread called gmlTexCoord2f
GML error: Sim thread called gmlVertex3f
GML error: Sim thread called gmlDeleteLists
GML error: Sim thread called gmlDeleteTextures
...etc...
Don't think it's good.
those are widget bugs; basically widgets drawing in non-Draw* functions.
User avatar
ginekolog
Posts: 837
Joined: 27 Feb 2006, 13:49

Re: spring.exe gets hang at random time during game

Post by ginekolog »

ginekolog wrote:well i just got this random freeze like u described.. i get it once every ~~20 games, no idea why. I have to kill spring.exe to resume work in windows.
I still get these freezes from time to time.. now even with second gfx card (nvidia 7600gt). It looks like some endless loop in spring.exe that is displaying the same picture all the time and consums 0 graphic rescources, jsut 100% cpu.

Is this fixed yet?

infolog:

Code: Select all

LogOutput initialized.
Available log subsystems: unit, CollisionVolume, VFS-detail, VFS, ArchiveScanner, mapinfo
Enabled log subsystems: 
Enable or disable log subsystems using the LogSubsystems configuration key
  or the SPRING_LOG_SUBSYSTEMS environment variable (both comma separated).
Using script script.txt
using configuration source "F:\Documents and Settings\jani\Local Settings\Application Data\springsettings.cfg"
OS: Microsoft Windows XP Professional Service Pack 3 (build 2600)
Hardware: AMD FX60 6000+; 2047MB RAM, 3939MB pagefile
Using read-write data directory: E:\Program Files\TASpring\
Scanning: E:\Program Files\TASpring\maps
Scanning: E:\Program Files\TASpring\base
Scanning: E:\Program Files\TASpring\mods
Video mode set to  1680 x 1050 / 32 bit
[      0] SDL:  1.2.10
[      0] GL:   2.1.2
[      0] GL:   NVIDIA Corporation
[      0] GL:   GeForce 7600 GT/PCI/SSE2
[      0] GLEW: 1.4.0
[      0] Connecting to 91.66.184.52:8051 using name PRO_ginekolog
[      0] Starting demo recording
[      0] Using map TheRockFinal.smf
[      0] Recording demo demos/20090323_215801_TheRockFinal_0.78.2.sdf
[      0] Using script Commanders
[      0] Using mod Balanced Annihilation V6.84
[      0] Using mod archive BA684.sd7
[      0] Became player 10 (team 6, allyteam 1)
[      0] Parsing unit icons
[      0] Error parsing units/corspec.fbi: [string "gamedata/parse_tdf.lua"]:58: could not find key (units/corspec.fbi line 1)  "[UNITINFO]"
[      0] WARNING: removed the "corspec" entry from the "coralab" build menu
[      0] Loading all definitions:  1.629000
[      0] You are missing the "ARB_shadow_ambient" extension (this will probably make shadows darker than they should be)
[      0] Opening map file
[      0] Loading Map
[      0] Loading detail textures
[      0] Creating overhead texture
[      0] Creating ground shading
[      0] Loading tile file
[      0] Reading tiles
[      0] Reading tile map
[      0] Creating projectile texture
[      0] Number of damage types: 40
[      0] Loading weapon definitions
[      0] Loading unit definitions
[      0] Loading feature definitions
[      0] Generating trees
[      0] Creating unit textures
[      0] Initializing map features
[      0] Couldnt find wreckage info pdrock1
[      0] Unknown map feature type pdrock1
[      0] Couldnt find wreckage info pdrock1a
[      0] Unknown map feature type pdrock1a
[      0] Couldnt find wreckage info pdrock2
[      0] Unknown map feature type pdrock2
[      0] Couldnt find wreckage info pdrock2a
[      0] Unknown map feature type pdrock2a
[      0] Couldnt find wreckage info pdrock3
[      0] Unknown map feature type pdrock3
[      0] Couldnt find wreckage info pdrock3a
[      0] Unknown map feature type pdrock3a
[      0] Couldnt find wreckage info pdrock4
[      0] Unknown map feature type pdrock4
[      0] Couldnt find wreckage info pdrock4a
[      0] Unknown map feature type pdrock4a
[      0] Couldnt find wreckage info pdrock4a
[      0] Unknown map feature type pdrock4a
[      0] Reading estimate path costs
[      0] Pathing data checksum: b5c595ff
[      0] Creating sky
[      0] Loading LuaRules
[      0] LUARULES-DRAW  (GADGETS)
[      0] LUARULES-DRAW  (GADGETS)
[      0] Loading LuaGaia
[      0] Loading LuaUI
[      0] Using LUAUI_DIRNAME = LuaUI/
[      0] Reloaded ctrlpanel with: LuaUI/ctrlpanel.txt
[      0] LuaUI: bound F11 to the widget selector
[      0] LuaUI: bound CTRL+F11 to tweak mode
[      0] Failed to load: cmd_no_duplicate_orders.lua  (duplicate name)
[      0] Failed to load: gui_advplayerslist.lua  (duplicate name)
[      0] Failed to load: gui_attack_aoe.lua  (duplicate name)
[      0] Failed to load: gui_defenserange.lua  (duplicate name)
[      0] Failed to load: gui_display_dps.lua  (duplicate name)
[      0] Failed to load: gui_hilight_unit.lua  (duplicate name)
[      0] Failed to load: gui_point_tracker.lua  (duplicate name)
[      0] Failed to load: gui_reclaiminfo.lua  (duplicate name)
[      0] Failed to load: gui_take_remind.lua  (duplicate name)
[      0] Failed to load: unit_customformations.lua  (duplicate name)
[      0] Failed to load: unit_healthbars.lua  (duplicate name)
[      0] Failed to load: unit_improved_metal_maker.lua  (duplicate name)
[      0] Loaded widget:  MexUpg Helper       <helper.lua>
[      0] Loaded widget:  HealthBars          <unit_healthbars.lua>
[      0] Loaded widget:  Commander Name Tags 1.6  <unit_comm_nametags.lua>
[      0] Loaded widget:  AdvPlayersList      <gui_advplayerslist.lua>
[      0] Loaded widget:  D-Gun unstall       <unit_dgun_unstall.lua>
[      0] Loaded widget:  DGunLimit           <gui_limit_dgun.lua>
[      0] Loaded widget:  Don't Shoot         <unit_dontshoot.lua>
[      0] Loaded widget:  DontMove            <unit_dontmove.lua>
[      0] Loaded widget:  Stockpiler          <unit_stockpile.lua>
[      0] Loaded widget:  SmartAreaReclaim    <unit_smart_area_reclaim.lua>
[      0] Loaded widget:  UnitGroups v5.1     <gui_unitgroups5_1.lua>
[      0] Loaded widget:  Auto cloak/holdfire  <unit_autostealth.lua>
[      0] Loaded widget:  IdleBuildersNEW     <gui_idle_builders_new.lua>
[      0] Loaded widget:  ReclaimInfo         <gui_reclaiminfov099.lua>
[      0] Loaded widget:  OnlyFightersPatrol  <unit_only_fighters_patrol.lua>
[      0] Loaded widget:  ImmobileBuilder     <unit_immobile_buider.lua>
[      0] Loaded widget:  Transporting        <gui_transporting.lua>
[      0] Loaded widget:  FactoryGuard        <unit_factory_guard.lua>
[      0] Loaded widget:  MetalMakers         <unit_metal_maker.lua>
[      0] Loaded widget:  Krow Setup          <unit_krowsetup.lua>
[      0] Loaded widget:  Point Tracker       <gui_point_tracker.lua>
[      0] Loaded widget:  Display DPS         <gui_display_dps.lua>
[      0] Loaded widget:  Autoquit            <autoquit.lua>
[      0] Loaded widget:  NoDuplicateOrders   <cmd_no_duplicate_orders.lua>
[      0] Loaded widget:  Factory Auto-Repeat  <cmd_factory_repeat.lua>
[      0] Loaded widget:  Auto Skirm          <unit_auto_skirm.lua>
[      0] Loaded widget:  MohoExploiter       <unit_moho_exploiter.lua>
[      0] Loaded widget:  Auto group          <unit_auto_group.lua>
[      0] Loaded widget:  Ghost Radar         <unit_ghostRadar.lua>
[      0] Loaded widget:  Transportation Assister  <unit_transport_assist.lua>
[      0] Loaded widget:  SmartNanos          <unit_smart_nanos.lua>
[      0] Loaded widget:  Defense Range       <gui_defenseRange.lua>
[      0] Loaded widget:  Stall Assist        <cmd_stall_assist.lua>
[      0] Loaded widget:  Unit Mover          <cmd_unit_mover.lua>
[      0] Loaded widget:  Improved MetalMakers  <unit_improved_metal_maker.lua>
[      0] Loaded widget:  Take Reminder       <gui_take_remind.lua>
[      0] Loaded widget:  GameTypeInfo        <gui_game_type_info.lua>
[      0] Loaded widget:  MiniMap Start Boxes  <minimap_startbox.lua>
[      0] Loaded widget:  take com control too  <takecomcontroltoo.lua>
[      0] Loaded widget:  Attack AoE          <gui_attack_aoe.lua>
[      0] Loaded widget:  SmoothScroll        <camera_smooth_move.lua>
[      0] Loaded widget:  Prospector          <gui_prospector.lua>
[      0] UpdateWidgetCallIn: bad name: TweakKeyPress
[      0] UpdateWidgetCallIn: bad name: TweakKeyRelease
[      0] Reloaded ctrlpanel with: IceUI_ctrlpanel.txt
[      0] Reloaded ctrlpanel with: IceUI_ctrlpanel.txt
[      0] Reloaded ctrlpanel with: IceUI_ctrlpanel.txt
[      0] Reloaded ctrlpanel with: IceUI_ctrlpanel.txt
[      0] Reloaded ctrlpanel with: IceUI_ctrlpanel.txt
[      0] Reloaded ctrlpanel with: IceUI_ctrlpanel.txt
[      0] Reloaded ctrlpanel with: IceUI_ctrlpanel.txt
[      0] Reloaded ctrlpanel with: IceUI_ctrlpanel.txt
[      0] Reloaded ctrlpanel with: IceUI_ctrlpanel.txt
[      0] Loaded widget:  IceUI               <gui_IceUI.lua>
[      0] Loaded widget:  HighlightUnit       <gui_hilight_unit.lua>
[      0] Loaded widget:  Rank Icons          <gui_xp.lua>
[      0] Loaded widget:  Select n Center!    <gui_center_n_select.lua>
[      0] Loaded widget:  Lups                <lups_wrapper.lua>
[      0] Loaded widget:  CustomFormations    <unit_customformations.lua>
[      0] LuaUI v0.3
[      0] Finalizing...
[      0] Spring 0.78.2.1 (0.78.2.1-0-g768a2af{@}-s)
[      0] Build date/time: Jan 18 2009 15:45:14
[      0] Reloaded ctrlpanel with: IceUI_ctrlpanel.txt
[      0] Player PRO_ginekolog connected with number 10 (client version 0.78.2.1 (0.78.2.1-0-g768a2af{@}-s))
[      0] Player [PiRO]juma connected with number 3 (client version 0.78.2.1 (0.78.2.1-0-g768a2af{@}-s))
[      0] Player [fi]SupraK finished loading and is now ingame
[      0] Player Bobris2 finished loading and is now ingame
[      0] Player [PiRO]keijj0 finished loading and is now ingame
[      0] Player [UB4R]Elo finished loading and is now ingame
[      0] Player [fi]SupraK left the game:  normal quit
[      0] Spectator [fi]SupraK left
[      0] Player neo43 finished loading and is now ingame
[      0] Player [fi]PROt_Pullapitko finished loading and is now ingame
[      0] Player [BRB]Pavlos finished loading and is now ingame
[      0] [UB4R]Elo added point: Start 3
[      0] [UB4R]Elo added point: Start 3
[      0] [UB4R]Elo added point: Start 3
[      0] [UB4R]Elo added point: Start 3
[      0] Bobris2 added point: Start 4
[      0] [UB4R]Elo added point: Start 3
[      0] <[UB4R]Elo>  
[      0] Player PRO_ginekolog finished loading and is now ingame
[      0] Player [fi]Aurarulla finished loading and is now ingame
[      0] Player [PiRO]juma finished loading and is now ingame
[      0] Player Waelder_at finished loading and is now ingame
[      0] <[UB4R]Elo> Allies:  piro usually use good air so have AA ;p
[      0] PRO_ginekolog added point: Start 6
[      0] Player marcom_ finished loading and is now ingame
[      0] PRO_ginekolog added point: Start 6
[      0] PRO_ginekolog added point: Start 6
[      0] PRO_ginekolog added point: Start 6
[      0] [fi]Aurarulla added point: Start 2
[      0] [fi]Aurarulla added point: Start 2
[      0] [BRB]Pavlos added point: Start 7
[      0] [fi]Aurarulla added point: Start 2
[      0] Bobris2 added point: Start 4
[      0] <[fi]Aurarulla> Allies: Piros rush decade 8)
[      0] [BRB]Pavlos added point: Start 7
[      0] [fi]Aurarulla added point: Start 2
[      0] > [eXe]autohost1 * Auto-forcing game start (only already in-game or unsynced spectators are missing)
[      0] GameID: ecfbc749f1f0f3ea01136bbe14fbd418
[   1425] Buildings set to face East
[   1440] Buildings set to face North
[   1445] Buildings set to face West
[   2924] PRO_ginekolog added point: spam flash 
[   5490] Weasel is being attacked
[   7847] [fi]Aurarulla added point: 
[   8735] Weasel is being attacked
[  10391] PRO_ginekolog added point: 
[  13830] Instigator is being attacked
[  13932] Instigator is being attacked
[  14950] Instigator is being attacked
[  15418] Instigator is being attacked
[  15525] Instigator is being attacked
[  16595] Construction Vehicle: Build pos blocked
[  17344] Instigator is being attacked
[  17759] Commander: Self destruct in 4 s
[  17791] Commander: Self destruct in 3 s
[  17823] Commander: Self destruct in 2 s
[  17855] Commander: Self destruct in 1 s
[  17904] Instigator is being attacked
[  18116] Instigator is being attacked
[  18226] Instigator is being attacked
[  18480] Fink is being attacked
[  19283] Instigator is being attacked
[  19394] Instigator is being attacked
[  19507] Instigator is being attacked
[  19686] Weasel is being attacked
[  20043] Instigator is being attacked
[  20861] Instigator is being attacked
[  20974] Instigator is being attacked
[  21107] Instigator is being attacked
[  21229] Instigator is being attacked
[  22110] PRO_ginekolog added point: 
[  22114] PRO_ginekolog added point: 
[  23000] Construction Vehicle: Can't reach destination!
[  23000] Construction Vehicle: Can't reach destination!
[  23065] Construction Vehicle: Can't reach destination!
[  23065] Construction Vehicle: Can't reach destination!
[  23192] Fink is being attacked
[  23519] Fink is being attacked
[  23624] Construction Vehicle: Can't reach destination!
[  23624] Construction Vehicle: Can't reach destination!
[  23763] Fink is being attacked
[  23954] Construction Aircraft is being attacked
[  24451] Slasher is being attacked
[  24698] <[UB4R]Elo> Allies: T_t
[  25186] <[UB4R]Elo> Allies: someone give con
[  25392] <[UB4R]Elo> Allies: ?
[  25925] Team3 ([UB4R]Elo) is slowly cooling to room temperature
[  25978] Slasher is being attacked
[  26341] Slasher is being attacked
[  26484] Fink is being attacked
[  27020] Added Rapier to autogroup #3.
[  27095] Hurricane is being attacked
[  27241] Hurricane is being attacked
[  27352] Hurricane is being attacked
[  27639] Rapier is being attacked
[  27740] Rapier is being attacked
[  28167] Rapier is being attacked
[  28280] Rapier is being attacked
[  28421] Hurricane is being attacked
[  29168] Avenger is being attacked
[  29422] <Bobris2> Allies: EEEE
[  29536] Avenger is being attacked
[  29648] Rapier is being attacked
[  29808] Rapier is being attacked
[  29859] <Bobris2> Allies:  thanks
[  29932] Rapier is being attacked
[  30110] Hurricane is being attacked
[  30225] Hurricane is being attacked
[  30437] Avenger is being attacked
[  30564] Avenger is being attacked
User avatar
MidKnight
Posts: 2652
Joined: 10 Sep 2008, 03:11

Re: spring.exe gets hang at random time during game

Post by MidKnight »

I get the same freezes you do, gine, but I'm pretty sure it has no relation whatsoever to ivand's problem, as he's using the GML branch of Spring,
zerver
Spring Developer
Posts: 1358
Joined: 16 Dec 2006, 20:59

Re: spring.exe gets hang at random time during game

Post by zerver »

One method for providing "hang" related debug info to developers is here:

viewtopic.php?f=12&t=14357&st=0&sk=t&sd=a&start=272

Read carefully, and I suggest trying it beforehand - otherwise you may not be able to do it right when the hang actually appears.
User avatar
caldera
Posts: 388
Joined: 18 Oct 2005, 20:56

Re: spring.exe gets hang at random time during game

Post by caldera »

i get these random freezes too (it was about every 5th game a few monts ago, now perhaps every 20th).
Normally it helps to ctrl+alt+del and wait a few seconds till spring.exe->no response goes away in taskmanager. then alt tabbing back into game and it works.
i read somewhere shutting down unnecessary apps like firefox should help preventing these errors, but i'm not sure about it.
User avatar
ginekolog
Posts: 837
Joined: 27 Feb 2006, 13:49

Re: spring.exe gets hang at random time during game

Post by ginekolog »

grrrr spring froze again.. now will have your debuger prepared, zerver.

Tried with process explorer but could not switch into it.
User avatar
very_bad_soldier
Posts: 1397
Joined: 20 Feb 2007, 01:10

Re: spring.exe gets hang at random time during game

Post by very_bad_soldier »

Other applications running in background can definitely make spring freeze. CryptLoad is one of them, but there are probably more.
User avatar
ginekolog
Posts: 837
Joined: 27 Feb 2006, 13:49

Re: spring.exe gets hang at random time during game

Post by ginekolog »

spring.exe hang up again after 10 games working fine. I did debug like zerver suggestd, here is log file, i hope it helps for anyone:
Attachments
PID-3444__SPRING.EXE__Date_05-10-2009__Time_13-02-37PM.log
(59.28 KiB) Downloaded 16 times
Post Reply

Return to “Help & Bugs”