game-compatibility icon indicating copy to clipboard operation
game-compatibility copied to clipboard

4D5307EA - Forza Motorsport 2

Open sephiroth99 opened this issue 9 years ago • 62 comments

Marketplace

Tested with benvanik/xenia@76efd13

Old Log

Issues:

Game goes through intro titles fine, displays a black menu

Screenshots:

xenia_2015-11-01_14-25-11

xenia_2015-11-05_20-33-41

sephiroth99 avatar Aug 20 '15 04:08 sephiroth99

Should be able to find the section, it clearly exists under XEX_HEADER_RESOURCE_INFO. Try it again maybe?

DrChat avatar Oct 24 '15 18:10 DrChat

Yeah it goes past that point now

Updated status:

Tested with benvanik/xenia@c3ecb1b

Log

Crashes with unhandled exception error when querying priority of a thread (see here). thread_ is "empty" as per VS debugger.

It may be just because I only have 4 logical processors on my machine, I know I have problems with other games e.g. Minecraft doesn't work for me.

Stacktrace:

>   xenia.exe!xe::kernel::XThread::QueryPriority() Line 597 C++
    xenia.exe!xe::kernel::xboxkrnl::KeSetBasePriorityThread_shim(xe::cpu::frontend::PPCContext_s * ppc_context, xe::kernel::KernelState * kernel_state) Line 282    C++
    [External Code] 

Tags : state-crash

sephiroth99 avatar Oct 24 '15 22:10 sephiroth99

thread_ should not be NULL in that state. ExCreateThread calls XThread::Create which initializes thread_.

According to your logs, thread creation is successful. Could you look into why thread_ is still NULL? I'm also assuming you're running Windows, not Linux.

DrChat avatar Oct 24 '15 22:10 DrChat

Yeah I'm on Windows 10 (on Linux, xenia does not fully compile yet anyway).

I'll try to find what is happening with thread_, might not have time soon, so in a coupe of days I should have an update.

sephiroth99 avatar Oct 24 '15 23:10 sephiroth99

So I tried to find the cause of the crash, but wasn't successful...

By debugging, I found out that sometimes the "thread_" value is not NULL (but points to garbage), and once it even started the game properly! This tells me it's either memory corrpution somehow, or the value gets destroyed (unique_ptr decides the value is not used anymore).

Other than that, I don't know what is happening...

sephiroth99 avatar Oct 30 '15 00:10 sephiroth99

Found it.

KeSetBasePriorityThread(0000183C, 00000011)

0x183c is a thread handle, not a pointer. The workaround here needs to be incremeted. With 0x2000 it works well :)

I guess the same workaround here needs to be updated right? @DrChat it was you who introduced the workaround in KeSetBasePriorityThread_shim, is it safe to increase it?

As for the game, will update the status once the fix is commited.

sephiroth99 avatar Oct 31 '15 06:10 sephiroth99

Yeah, though I'm wondering why they're even doing that. The first parameter is supposed to be a pointer, not a handle. Xboxkrnl would crash if they did that there.

Edit: Should be fixed in benvanik/xenia#447

DrChat avatar Oct 31 '15 14:10 DrChat

Tested the fix and it does works, good job on the real fix :)

sephiroth99 avatar Oct 31 '15 19:10 sephiroth99

Okay, cool. Could you update the issue with new info on how far it gets/etc?

DrChat avatar Nov 01 '15 00:11 DrChat

Sure!

With ignore_undefined_externs=true, the game crashes.

With ignore_undefined_externs=false, you get the error message box for undefined extern, which says undefined extern call to 8294F2E8 KeSetCurrentStackPointers

If you leave the message box there, the game continues in the background. Audio works (you hear the intro videos of Turn 10, Microsoft Studios, the intro video, etc). I get no display, black screen only (because AMD GPU...).

There are some libav errors in the log, only at the beginning though: 1st

!> 0000000C libav: overflow in spectral RLE, ignoring

2nd (Various frame numbers and size for this one, biggest frame number I see is 77)

w> 0000000C libav: frame[0] would have to skip 432 bits 

3rd

w> 0000000C libav: Reserved bit
w> 0000000C libav:  is not implemented. Update your Libav version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
w> 0000000C libav: If you want to help, upload a sample of this file to ftp://upload.libav.org/incoming/ and contact the libav-devel mailing list.
A> 0000000C libav failed to decode a frame!

4th

!> 0000000C libav: invalid number of fill bits
A> 0000000C libav failed to decode a frame!

I can upload the full log if needed, I let xenia go until Catalyst had enough and crashed, so the log is ~170MB!

sephiroth99 avatar Nov 01 '15 00:11 sephiroth99

https://gist.github.com/DrChat/47a7ce5225a0a5a85613

Stuff that into xboxkrnl_threading.cc and see what happens

DrChat avatar Nov 01 '15 01:11 DrChat

Unhandled exception at 0x00007FF62DE36596 in xenia.exe: 0xC0000005: Access violation writing location 0x0000000000C4A070. capture

sephiroth99 avatar Nov 01 '15 01:11 sephiroth99

I updated the gist link - retry it please

DrChat avatar Nov 01 '15 02:11 DrChat

Got a hold of a copy. The game now suffers from the same issue as #217.

DrChat avatar Nov 01 '15 20:11 DrChat

something new fzm2

Ale100000 avatar Feb 01 '16 19:02 Ale100000

Update

just tested for update logs and see the results. Xenia drawn correctly the intro but after into Xenia crash with stopped working.

Tested

On (https://github.com/benvanik/xenia/commit/a148b965f19a99e4ea6c346075bd19de19f085fc)

Issues

crash after intros

Log

File (http://www.mediafire.com/file/2bfjuja5u68lh15/Forza2_161030.rar)

Labels

  • state-intro
  • state-crash

Sleepy93 avatar Oct 30 '16 11:10 Sleepy93

Update

plays the intro but after them Xenia has crashed.

Unhandled exception at 0x000000006DFBF0F0 (nvoglv64.dll) in xenia.exe: Fatal program exit requested.

Tested

On (https://github.com/benvanik/xenia/commit/70bd283e80125932339f23a54e5efcb3c74f0456)

Log file

Forza2_70db283e_161210.zip

Labels

  • state-intro
  • state-crash

Sleepy93 avatar Dec 10 '16 19:12 Sleepy93

Update

Unhandled exception at 0x000000005DE9E094 (nvoglv64.dll) in xenia.exe: Fatal program exit requested.

Tested

On (https://github.com/benvanik/xenia/commit/39cb957f1b827bc7f991dc19ee5f7a6f25aa50fb)

Log file

FM2_39cb957f_intro_crash_gpu.zip

Labels

  • state-intro
  • state-crash

Sleepy93 avatar Jan 14 '17 17:01 Sleepy93

Update:

Instant crash...

!> 00000044 ResolvePath(\Device\Harddisk0) failed - no root found

GPU:

writes to unk. register

  • 0081
  • 0082
  • 1E4E

Unimplemented:

  • XamInputGetUserVibrationLevel
  • XInputdFFGetDeviceInfo
  • XInputdFFSetEffect
  • XInputdFFUpdateEffect
  • XInputdFFEffectOperation
  • XInputdFFDeviceControl
  • XInputdFFSetDeviceGain
  • XInputdFFCancelIo
  • XInputdFFSetRumble

Tested:

On (https://github.com/benvanik/xenia/commit/eecc9d0aea1a0c841d9ddfa0d182c22a10ea4f86)

Log:

forza2.txt

Labels:

  • state-crash
  • regression
  • kernel-unimplemented-feature
  • xam-input-problems

Sleepy93 avatar Aug 19 '17 13:08 Sleepy93

Tested on https://github.com/xenia-project/xenia/commit/2de0e26 Runs fine with slight stuttering up until ~36s of gameplay, then it completely locks up Xenia and closes (last screenshot). 1544963426 1544963523 1544963552

!> 00000044 ResolvePath(\Device\Harddisk0\) failed - no root found
!> 00000044 ResolvePath(update:\) failed - no root found
!> 00000044 ResolvePath(Placeholder.fsb) failed - no root found
!> 00000044 ResolvePath(UIFrontEnd.fsb) failed - no root found
!> 00000044 ResolvePath(UIInGame.fsb) failed - no root found
!> 00000044 Unimplemented XLIVEBASE message app=000000FC, msg=00058037, arg1=00CA1000, arg2=4032F870
!> 00000044 undefined extern call to 8294E778 NetDll_getsockopt
!> 000018AC ResolvePath(Transmissions.fsb) failed - no root found
!> 000018AC ResolvePath(SuperChargers.fsb) failed - no root found
!> 000018AC ResolvePath(Turbos.fsb) failed - no root found
!> 000018AC ResolvePath(Damage.fsb) failed - no root found
!> 000018AC ResolvePath(Wind.fsb) failed - no root found
!> 000018AC ResolvePath(Tires.fsb) failed - no root found
!> 000018AC ResolvePath(Suspension.fsb) failed - no root found
!> 000018AC ResolvePath(Collisions.fsb) failed - no root found
...

xenia.zip

NotActuallyTerry avatar Dec 16 '18 12:12 NotActuallyTerry

start 35 fps then crash in race after 3 minute.

strangermoon avatar Feb 25 '19 05:02 strangermoon

I have only black screen in latest build.

Slo2018 avatar Aug 22 '19 08:08 Slo2018

@Slo2018 Which renderer? d3d12, or Vulkan?

Margen67 avatar Aug 22 '19 09:08 Margen67

Can confirm on latest master Renderer: D3D12

illusion0001 avatar Aug 22 '19 09:08 illusion0001

Last ingame commit is https://github.com/xenia-project/xenia/commit/2507f1a819310220230e5a9f03c34f40f634098b  Regression caused by https://github.com/xenia-project/xenia/commit/003c02c6404a0b795afe1309076fb629b1394be5

illusion0001 avatar Aug 22 '19 09:08 illusion0001

@Slo2018 Which renderer? d3d12, or Vulkan?

D3D12.

Slo2018 avatar Aug 22 '19 09:08 Slo2018

ingame again https://github.com/xenia-project/xenia/commit/803fa0cba9416a73425bc44cc886a1826ca06d70

illusion0001 avatar Sep 01 '19 07:09 illusion0001

Forza Motorsport 2 has no issue saving game progress, and it will make a profile for you where save files are stored, attempting to replace the file with another one (I grabbed the save data from my xbox hard drive and put it on my PC, to test whether my save file would work) will greet you with this loading screen (whether or not the "Saving Data" screen is indefinite has yet to be determined) image

This may have to do with the fact that FM2 specifically (I think with almost every Forza game) checks to see if you are logged onto the same Xbox profile the save data was created on, but I could be entirely wrong.

mzryyy avatar Sep 09 '19 17:09 mzryyy

Save still not working and i can't create profile.

Slo2018 avatar Dec 27 '20 10:12 Slo2018

works fine now, i just cant create a save profile. I press 'sign in' and it doesnt do anything

NfsFanboy03 avatar Jan 28 '21 21:01 NfsFanboy03