View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0000635||Other Unix Port||Bug||public||2014-11-19 06:12||2014-12-27 08:39|
|Platform||IBM Thinkpad T43||OS||eCS||OS Version||2.1|
|Summary||0000635: openTTD crashes after some minutes gameplay|
|Description||openTransportTycooDeluxe crashes after some minutes, indifferently whether one plays or not. Error message:|
Killed by SIGSEGV
pid=0x008f ppid=0x0084 tid=0x0006 slot=0x00bf pri=0x0200 mc=0x0001
cs:eip=005b:1e0800e3 ss:esp=0053:0e527efc ebp=00e00204
ds=0053 es=0053 fs=150b gs=0000 efl=00010202
eax=0001902c ebx=00020000 ecx=0e51ff08 edx=01c30740 edi=01c28060 esi=00000000
I am using gcc473.dll (20140205/26987bytes) from netlabs, SDL-1.2.15-20140930, and the in the readme called libc-0.6.5-csd5 (OK, *.wpi instead of *.zip).
It crashes the game only, not the system.
|Steps To Reproduce||Start the game and wait some (on me <2) minutes. Or play. Same result.|
|Tags||No tags attached.|
||The Game is playable without saving. I.e. when I turn autosave=off then i can play without crash. But when i save the game (also manually), then it crash. The error seems to be in the save-routine.|
||Saving a self made scenario works in first tests. Network also works fine.|
||building 1.4.4 now, will try saving...|
||1.4.4 crashes when saving a game too - looking into it|
In case it helps, the exception is in alloca which allocates variable sized buffers on the stack. In effect, you have stack overflow in a secondary thread (tid 6).
In alloca, ecx is the touch pointer and eax is the loop counter. Given the size of eax, I suspect that the code attempted to allocate something like 128K on the stack and thread stack is smaller.
||Thanks for the tip. I tried already to bump the executable stack size, I'll take a look at thread stack size tomorrow.|
hmmm from thread_os2.cpp:
thread = _beginthread(stThreadProc, NULL, 32768, this);
rebuilt with pthreads rather than os2 thread code. Now doesn't crash when saving :)
Thank you for care about openTTD! You are right, the problem with saving seems to be resolved!
But now the the game is not playable because the mouse-pointer jumps over the screen. The intro-screen which shows a huge busy city is slow down and juddery. This was fluently in Version 1.4.0. I have besides noticed that the CPU-workload in this version are slower (99% in 1.4.0 / 95% changeable in 1.4.4) and that i can't start the game (1.4.4) while Firefox is running. That operated with 1.4.0 (My Test-machine: IBM T43, 1GB RAM, 2 GHz, Ati X300, eCS 2.1). If it helps you, i will send little movies from the screen.
Please try with http://smedley.id.au/tmp/openttd-1.4.4-os2-20141217.zip
This one uses the OS/2 threading code with an increased threadstack size.
The last zip-File doesnt contain a openttd.exe...
Is it right?
||apologies, zip fixed now|
||Hmm, the new version stops if the focus on the game-window. If i click on the free desktop, the window with the game refresh. First stop happens while the newgrf-loading-screen is showing. The game is still unplayable, the start-screen with the huge busy city is still slow down and juddery. I can't start a new or load a game - the mouse-pointer is too jumpy or invisible.|
mouse pointer is fine here with virtualised eCS 2.2. Startup screen runs smoothly, saving and loading runs fine.
I am using:
11-05-08 9:21 188,402 0 SDL12.DLL
11-05-08 9:21 76,273 0 SDLGFX.DLL
11-05-08 9:21 554,915 0 SDLIMAGE.DLL
11-05-08 9:21 412,322 0 SDLMIXER.DLL
11-05-08 9:21 17,414 0 SDLNET.DLL
11-05-08 9:21 459,806 0 SDLTTF.DLL
On my machine sdl version 1.2.15:
This is diffrent but you had change your version since you created version 1.4.0? The 1.4.0 goes fluently here,but the 1.4.4 stops. Same computer, same system, same dll.
The difference i can see is the libc.
OpenTTD 1.4.0 needs libc065 and openTTD 1.4.4 needs libc066.
Couldn't you compile it with libc065 instead with libc066 ?
Which libc065.dll are you using?
10-26-14 20:17 157,213 0 libc065.dll
10-26-14 20:16 1,361,666 0 libc066.dll
If it's the above, then your OpenTTD 1.4.0 is using libc066 so that can't be it.
OK, you are right. Same libc's like you had. But why is the 1.4.0 so fast and the 1.4.4 so stubborn?
Hmm, now is it crazy! For a little moment (approx. 10 seconds) the game are fluently - but without focus only. The game-window was overlayed with the active editor AE. In that moment in that the focus on the game was, is the game slow down and juddery/stubborn. After closing and restart the game, it is also without focus very slow and stubborn but faster than as active window. Why that...? What is different to 1.4.0? For comparison i test 1.4.0 now and then again .
I will try and build 1.4.0 with the same GCC version and thread fix for comparison.
||Same like 1.4.4. Not playable. Original 1.4.0 from May (as per normal) without problems.|
||I will add build to my site soon.|
|2014-11-19 06:12||ajunra||New Issue|
|2014-11-22 07:31||ajunra||Note Added: 0002916|
|2014-12-10 11:29||ajunra||Note Added: 0002918|
|2014-12-14 14:22||psmedley||Note Added: 0002919|
|2014-12-14 14:33||psmedley||Note Added: 0002920|
|2014-12-16 20:11||Steven Levine||Note Added: 0002922|
|2014-12-16 21:06||psmedley||Note Added: 0002923|
|2014-12-16 21:19||psmedley||Note Added: 0002924|
|2014-12-16 21:29||psmedley||Note Added: 0002925|
|2014-12-17 12:49||ajunra||Note Added: 0002926|
|2014-12-17 12:51||ajunra||Note Edited: 0002926||View Revisions|
|2014-12-17 13:02||psmedley||Note Added: 0002927|
|2014-12-17 13:50||ajunra||Note Added: 0002928|
|2014-12-17 14:40||psmedley||Note Added: 0002931|
|2014-12-17 15:40||ajunra||Note Added: 0002932|
|2014-12-17 18:33||psmedley||Note Added: 0002933|
|2014-12-18 01:21||ajunra||Note Added: 0002934|
|2014-12-18 17:24||psmedley||Note Added: 0002936|
|2014-12-18 18:33||ajunra||Note Added: 0002937|
|2014-12-18 18:40||ajunra||Note Edited: 0002937||View Revisions|
|2014-12-18 19:02||psmedley||Note Added: 0002938|
|2014-12-18 19:14||psmedley||Note Edited: 0002938||View Revisions|
|2014-12-19 01:34||ajunra||Note Added: 0002939|
|2014-12-27 08:39||psmedley||Note Added: 0002959|
|2014-12-27 08:39||psmedley||Status||new => resolved|
|2014-12-27 08:39||psmedley||Resolution||open => fixed|
|2014-12-27 08:39||psmedley||Assigned To||=> psmedley|