Ticket #253 (closed defect: worksforme)

Opened 5 years ago

Last modified 3 years ago

Crash on loading CSimulation

Reported by: chrastina Owned by: jan
Priority: Should Have Milestone: Alpha 5
Component: Core engine Keywords: Crash Windows XP
Cc:

Description (last modified by jan) (diff)

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

mainlog.html (63.1 KB) - added by chrastina 5 years ago.
Crash on Win XP when loading CSimulation
crashlog.txt (1.0 KB) - added by PetrGasparik 5 years ago.
crashlog
stdout.txt (48 bytes) - added by PetrGasparik 5 years ago.
stadout
crashlog.2.txt (24.8 KB) - added by PetrGasparik 5 years ago.
crashlog.txt - petrgasparik, dell latitude, vista sp

Change History

Changed 5 years ago by chrastina

Crash on Win XP when loading CSimulation

comment:1 Changed 5 years ago by Philip

  • Owner set to jan
  • Description modified (diff)

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

comment:2 Changed 5 years ago by PetrGasparik

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

comment:3 Changed 5 years ago by PetrGasparik

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 Changed 5 years ago by PetrGasparik

...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)

Changed 5 years ago by PetrGasparik

crashlog

Changed 5 years ago by PetrGasparik

stadout

comment:5 Changed 5 years ago by jan

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 Changed 5 years ago by PetrGasparik

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)

Changed 5 years ago by PetrGasparik

crashlog.txt - petrgasparik, dell latitude, vista sp

comment:7 Changed 5 years ago by jan

  • Description modified (diff)
  • Summary changed from Crash on loding CSimulation to Crash 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 Changed 5 years ago by PetrGasparik

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 Changed 5 years ago by arn34

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 Changed 5 years ago by jan

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 Changed 4 years ago by anonymous

  • Milestone Open Source Release deleted

Milestone Open Source Release deleted

comment:12 Changed 4 years ago by wacko

  • Milestone set to Backlog

comment:13 Changed 3 years ago by historic_bruno

  • Status changed from new to closed
  • Resolution set to worksforme
  • Milestone changed from Backlog to Alpha 5
Note: See TracTickets for help on using tickets.