Opened 15 years ago

Closed 13 years ago

#253 closed defect (worksforme)

Crash on loading CSimulation

Reported by: Jan Chrastina Owned by: Jan Wassenberg
Priority: Should Have Milestone: Alpha 5
Component: Core engine Keywords: Crash Windows XP
Cc: Patch:

Description (last modified by Jan Wassenberg)

I cannot start single player game on Windows XP SP2, crash occurs when loading CSimulation. See the log below with comments marked with * on the beginning. When start pyrogenesis.exe several errors occur:

Assertion failed: "resolution <= 2e-3"
Location: whrt.cpp:114 (InitCounter)

Call stack:
InitCounter (whrt.cpp:114)
whrt_Init (whrt.cpp:300)
[..]

***Continue pressed***

Assertion failed: "resolution > 0.0"
Location: frequency_filter.cpp:36 (FrequencyEstimator::FrequencyEstimator)

Call stack:

FrequencyEstimator::FrequencyEstimator (frequency_filter.cpp:36)
    this = (unavailable)
    resolution = -1.#IND (0xFFF8000000000000)
[..]

***Continue pressed****
***Window frame occures***

Assertion failed: "TimeSinceLastFrame > 0.0f"
Location: main.cpp:201 (Frame)

Call stack:

Frame (main.cpp:201)
    need_update = false
    TimeSinceLastFrame = -347316158464.000000 (0xD2A1BB50)
    need_render = false
    down = [3] { 0.000000 (0x08CE7758), 0.000000 (0x00401E58), 0.000000 (0x0012FF34) }

[..]

***Initial menu inside widow frame occurs***

Assertion failed: "TimeSinceLastFrame > 0.0f"
Location: main.cpp:201 (Frame)

Call stack:

Frame (main.cpp:201)
    need_update = false
    TimeSinceLastFrame = -347316158464.000000 (0xD2A1BB50)
    need_render = false
    down = [3] { 0.000000 (0x08CE7758), 0.000000 (0x00401E58), 0.000000 (0x0012FF34) }

***Single player clicked***
***Game setup occurs***
***Start! clicked***

***When loading CSimulation***

Much to our regret we must report the program has encountered an error.

Please let us know at http://trac.wildfiregames.com/ and attach the crashlog.txt and crashlog.dmp files.

Details: unhandled exception (Access violation reading 0x00000000)

Location: unknown:0 (?)

Call stack:

00000000


errno = 0 (?)
OS error = 0 (no error code was set)

***Surppress dashed out so Continue clicked***

***Windows XP SP3 reported pyrogenesis.exe has encountered a problem and needs to close. ...***

Attachments (4)

mainlog.html (63.1 KB ) - added by Jan Chrastina 15 years ago.
Crash on Win XP when loading CSimulation
crashlog.txt (1.0 KB ) - added by Petr Gašparík 15 years ago.
crashlog
stdout.txt (48 bytes ) - added by Petr Gašparík 15 years ago.
stadout
crashlog.2.txt (24.8 KB ) - added by Petr Gašparík 15 years ago.
crashlog.txt - petrgasparik, dell latitude, vista sp

Download all attachments as: .zip

Change History (17)

by Jan Chrastina, 15 years ago

Attachment: mainlog.html added

Crash on Win XP when loading CSimulation

comment:1 by Philip Taylor, 15 years ago

Description: modified (diff)
Owner: set to Jan Wassenberg

Looks like an issue with timers. Assigning to Jan...

comment:2 by Petr Gašparík, 15 years ago

the same on Vista, SP2. either run from SVN libraries , either rebuild in VC++ 2k8

comment:3 by Petr Gašparík, 15 years ago

it is followed by 2 errors:


Assertion failed: "resolution > 0.0" Location: frequency_filter.cpp:36 (FrequencyEstimator::FrequencyEstimator)

Call stack:

ILT+150760(??0FrequencyEstimatorQAENZ) (:0)

ILT+25610(??0FrequencyFilterQAENNZ) (:0)

ILT+134075(?CreateFrequencyFilterYA?AV?$shared_ptrUIFrequencyFilterboostNNZ) (:0)

RunGameOrAtlas (main.cpp:379)

argc = 1 (0x00000001) argv = 0x00DC6100 -> 0x00DC6108 -> "f:\0AD\ps\trunk\binaries\system\pyrogenesis_dbg.exe" ran_atlas = false args =

m_Args = (error -100500 while analyzing vector<pair<CStr8,CStr8> >) m_Arg0 = { (error -100500 while analyzing string >) }

res = 1.6976e-314 (0x00000000CCCCCCCC)

ILT+159850(_main) (:0)

tmainCRTStartup (crtexe.c:410)

mainCRTStartup (crtexe.c:393)

CallStartupWithinTryBlock (wseh.cpp:350)

ret = 2489112 (0x0025FB18)

errno = 0 (?) OS error = 0 (no error code was set)


Assertion failed: "ok" Location: wsdl.cpp:139 (GammaRamp::Upload)

Call stack:

ILT+17500(?UploadGammaRampAAE_NPAGZ) (:0)

ILT+158325(?ChangeGammaRampQAE_NMMMZ) (:0)

ILT+12555(?SDL_SetGammaYAHMMMZ) (:0)

SetVideoMode (gamesetup.cpp:105)

w = 2488924 (0x0025FA5C) h = 0 (0x00000000) bpp = 3345381054 (0xC76676BE) fullscreen = false flags = 4294967295 (0xFFFFFFFF)

ILT+92780(?InitYAXABVCmdLineArgsHZ) (:0)

RunGameOrAtlas (main.cpp:379)

argc = 1 (0x00000001) argv = 0x00DC6100 -> 0x00DC6108 -> "f:\0AD\ps\trunk\binaries\system\pyrogenesis_dbg.exe" ran_atlas = false args =

m_Args = (error -100500 while analyzing vector<pair<CStr8,CStr8> >) m_Arg0 = { (error -100500 while analyzing string >) }

res = 1.6976e-314 (0x00000000CCCCCCCC)

ILT+159850(_main) (:0)

tmainCRTStartup (crtexe.c:410)

mainCRTStartup (crtexe.c:393)

CallStartupWithinTryBlock (wseh.cpp:350)

ret = 2489112 (0x0025FB18)

errno = 0 (?) OS error = 0 (no error code was set)

comment:4 by Petr Gašparík, 15 years ago

...and final one. Game SP can be run, but everything is still and shades/shadows are rectangles

Assertion failed: "SDL_SetGamma failed" Location: GameSetup.cpp:134 (SetVideoMode)

Call stack:

SetVideoMode (gamesetup.cpp:105)

w = 2488924 (0x0025FA5C) h = 0 (0x00000000) bpp = 3345381054 (0xC76676BE) fullscreen = false flags = 4294967295 (0xFFFFFFFF)

ILT+92780(?InitYAXABVCmdLineArgsHZ) (:0)

RunGameOrAtlas (main.cpp:379)

argc = 1 (0x00000001) argv = 0x00DC6100 -> 0x00DC6108 -> "f:\0AD\ps\trunk\binaries\system\pyrogenesis_dbg.exe" ran_atlas = false args =

m_Args = (error -100500 while analyzing vector<pair<CStr8,CStr8> >) m_Arg0 = { (error -100500 while analyzing string >) }

res = 1.6976e-314 (0x00000000CCCCCCCC)

ILT+159850(_main) (:0)

tmainCRTStartup (crtexe.c:410)

mainCRTStartup (crtexe.c:393)

CallStartupWithinTryBlock (wseh.cpp:350)

ret = 2489112 (0x0025FB18)

errno = 0 (?) OS error = 0 (no error code was set)

by Petr Gašparík, 15 years ago

Attachment: crashlog.txt added

crashlog

by Petr Gašparík, 15 years ago

Attachment: stdout.txt added

stadout

comment:5 by Jan Wassenberg, 15 years ago

Thanks for all your reports. Unfortunately It Works On My Machine ;) Looks like the OS is less of a factor since XP_SP2, XP_SP3 and VistaSP2 have been mentioned. The CPU and mainboard are probably the factor you all have in common.

In #280, arn34 reported the following (excerpts) from binaries/logs/system_info.txt. Could you please post that and a short description of your motherboard? In particular, it'd be important to know whether it has the ICH8 chipset.

OS             : WinXP SP 3 (5.1.2600)
CPU            : IA-32, Intel Core2 Duo     E4500  @ 2.20GHz (1x2x1), 2.19 GHz
Memory         : 2047 MiB; 1290 MiB free
Graphics Card  : ATI Radeon HD 2400 XT
Sound Card     : Realtek High Definition Audio

As mentioned in a forum thread (http://www.wildfiregames.com/forum/index.php?showtopic=12491): Once the timer goes into an invalid state (which is reported by this error message), just about none of the game logic will work since it's dependent on the timeSinceLastFrame, which is why the units won't actually move.

At this point it looks like the HPET registers accessed via memory-mapped IO are returning invalid/impossible values. The cause remains unknown.

I'll be away for the next two days, but in the meantime you should be able to work around the problem by passing -wNoMahaf on the command line. (Please let me know if that's not the case)

@Petr:

Assertion failed: "ok" Location: wsdl.cpp:139 (GammaRamp::Upload)

That one's fairly harmless, it's just indicating that setting a custom gamma correction failed. I've seen this happen on multimonitor systems - is that what you're on?

comment:6 by Petr Gašparík, 15 years ago

first, yes i have two monitors in work and one at home, tried both, so i cant say for sure where i was when i submitted info here.

then: I have no problem on windows 7 RC ... I REPEAT: NO PROBLEM! the same notebook unfortunately i rewrited my system_info.txt so I can't upload it, but what you need is in crashlog.txt - there is the same info that was in system_info.txt in time it ran, I'll attach it

anyway, it is dell latitude xt laptop, here is description: http://support.euro.dell.com/support/topics/topic.aspx/emea/shared/support/my_systems_info/cs/details?c=cz&l=cs&s=gen&~tab=2&~ck=anavml service tag g4c754j

now from crashlog OS : Vista SP 2 (6.0.6002)

CPU : IA-32, Intel Core2 Duo U7700 @ 1.33GHz (1x2x1), 1.33 GHz

Memory : 2814 MiB; 877 MiB free

Graphics Card : ATI Radeon Xpress 1200 Series

OpenGL Drivers : 2.1.8543 Release;

Video Mode : 1024x768:32@60

Sound Card : SigmaTel High Definition Audio CODEC

Sound Drivers : OpenAL32.dll (6.14.0357.19), wrap_oal.dll (2.1.4.0)

Network Name : 04-NTB-GASPARIK (10.0.0.81)

by Petr Gašparík, 15 years ago

Attachment: crashlog.2.txt added

crashlog.txt - petrgasparik, dell latitude, vista sp

comment:7 by Jan Wassenberg, 15 years ago

Description: modified (diff)
Summary: Crash on loding CSimulationCrash on loading CSimulation

Monitors and system info: OK, thanks. As suspected, you have the ICH8 chipset (else HPET isn't supported and we wouldn't be seeing this problem). Interesting that it doesn't occur on Windows 7 *scratches head*

Running summary: Occurs on XP_SP2, XP_SP3 and VistaSP2; NOT on Windows7_RC Reported CPUs: Intel Core2 Duo E4500 (unknown chipset) Intel Core2 Duo U7700 (945GMS with ICH8)

Have edited initial text for brevity, BTW.

comment:8 by Petr Gašparík, 15 years ago

sorry guys, ignore my crashlogs altogether, it is from another computer

situation: game is on usb disk that i switch between my laptop and my wife's laptop. I realized it when I saw jan's summary: "Intel Core2 Duo U7700 (945GMS with ICH8)" - because I HAVE ATI x1250! My wife's laptop has this intel's onboard graphics... sorry, I made quite a mess here. My wife's laptop has no problem with timers, there is another bug described in #270 and solved with water workaround

the rest is true, i had problem on vista and it has gone on win 7 etc.

comment:9 by arn34, 15 years ago

Same problem for me (see bug report 280 for detailed crashlog).

Note that I also have a DELL computer with a motherboard from DELL (Vostro 200 computer) which is Intel G33 based (with GMA 3100 GPU but I have an additionnal ATI Radeon HD 2400 XT graphic card).

comment:10 by Jan Wassenberg, 15 years ago

Update: I was finally able to take some time for coding and overhauled the hpet.cpp driver, it's now much more paranoid and robust. We should now gracefully handle the BIOS not mapping the HPET registers to system memory (for whatever reason). There is also debug output (use http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx to view) to get more information about the HPET implementation in case of further trouble. The lines start with HRT and HPET.

Unfortunately I can't test this on my machine because it's refusing to load the (unsigned) driver. Please let me know if problems persist; if so, you can still use the -wNoMahaf command line parameter to disable this code.

Incidentally, I have contacted the developer of WinRing0 about driver signing and/or whether they can integrate our physical-memory-mapping code into their signed driver.

comment:11 by (none), 14 years ago

Milestone: Open Source Release

Milestone Open Source Release deleted

comment:12 by Andrew, 14 years ago

Milestone: Backlog

comment:13 by historic_bruno, 13 years ago

Milestone: BacklogAlpha 5
Resolution: worksforme
Status: newclosed
Note: See TracTickets for help on using tickets.