Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crazy Taxi: Fare Wars #2451

Closed
HelicopterP opened this issue Jun 24, 2013 · 78 comments
Closed

Crazy Taxi: Fare Wars #2451

HelicopterP opened this issue Jun 24, 2013 · 78 comments
Labels
HLE/Kernel Kernel, memory manager, other HLE issues
Milestone

Comments

@HelicopterP
Copy link

The game freezes at loading after selecting Crazi Taxi 1. The log is really huge but it goes something like this:
a few MB of this lines -
36:53:926 idle0 W[HLE]: HLE\sceKernelThread.cpp:2598 sceKernelSuspendThread(314)
36:53:926 user_main W[HLE]: HLE\sceKernelThread.cpp:1926 800201a4=sceKernelStartThread(thread=314, argSize=16, argPtr=0986be40): thread already running
36:53:926 user_main W[HLE]: HLE\sceKernelThread.cpp:2629 sceKernelResumeThread(314)
36:53:926 idle0 W[HLE]: HLE\sceKernelThread.cpp:2598 sceKernelSuspendThread(314)
36:53:926 user_main W[HLE]: HLE\sceKernelThread.cpp:1926 800201a4=sceKernelStartThread(thread=314, argSize=16, argPtr=0986be40): thread already running
36:53:926 user_main W[HLE]: HLE\sceKernelThread.cpp:2629 sceKernelResumeThread(314)
36:53:926 idle0 W[HLE]: HLE\sceKernelThread.cpp:2598 sceKernelSuspendThread(314)

than this:

36:53:943 user_main I[HLE]: HLE\sceKernel.cpp:461 KO 297: Alarm "[Alarm]": -
36:53:944 user_main I[HLE]: HLE\sceKernel.cpp:461 KO 298: Alarm "[Alarm]": -
36:53:944 user_main I[HLE]: HLE\sceKernel.cpp:461 KO 299: Thread "idle0":

than some stuff mentioning sceMp3 than a lot of Alarms again than crash.

Here is a full log: http://www.sendspace.com/file/fwuiss

@sum2012
Copy link
Collaborator

sum2012 commented Aug 3, 2013

v0.8.1-1067-g0b502f1
Still freezes at loading after selecting Crazi Taxi 1
ppsspp debug log: https://docs.google.com/file/d/0B3OaSdeV0L8kOVcwX3hvZGZwS3M/edit?usp=sharing
jpcsp trace log: https://gist.github.com/sum2012/2a7780a71c641e04185a

@unknownbrackets
Copy link
Collaborator

Callback changes and timing improvements could've improved this.

Does it still have the same issues?

-[Unknown]

@sum2012
Copy link
Collaborator

sum2012 commented Oct 28, 2013

ppsspp-v0.9.1-2232-gc17dd02-windows-x86 same issues
info log
https://gist.github.com/sum2012/ba187ea3077d7107a902

@unknownbrackets
Copy link
Collaborator

I see some mpeg stuff in there and a loadexec, both of which I think had fixes in the past 3 months. Any improvement in the latest git build?

-[Unknown]

@HelicopterP
Copy link
Author

Still hangs or crashes at loading CT1.
CT2 is ingame but slow ( i have an i5 2500k) and crashes after loading a game city.
The log is full of this:

40:31:732 user_main W[KERNEL]: HLE\sceKernelThread.cpp:2176 800201a4=sceKernelStartThread(thread=287, argSize=16, argPtr=0986be40): thread already running
40:31:732 idle0 E[KERNEL]: HLE\sceKernelThread.cpp:2848 sceKernelSuspendThread(287): thread already suspended
40:31:732 user_main W[KERNEL]: HLE\sceKernelThread.cpp:2176 800201a4=sceKernelStartThread(thread=287, argSize=16, argPtr=0986be40): thread already running

In case of CT2 it's

38:06:297 user_main W[KERNEL]: HLE\sceKernelThread.cpp:2176 800201a4=sceKernelStartThread(thread=287, argSize=16, argPtr=09776f30): thread already running
38:06:297 Decompress I[KERNEL]: HLE\sceKernelThread.cpp:2260 __KernelReturnFromThread: 13595
38:06:297 idle0 E[KERNEL]: HLE\sceKernelThread.cpp:2843 sceKernelSuspendThread(287): thread not running
38:06:315 user_main W[UTIL]: HLE\sceUtility.cpp:418 sceUtilityNetconfGetStatus(): wrong dialog type
38:06:315 user_main I[KERNEL]: HLE\sceKernelThread.cpp:2180 sceKernelStartThread(thread=287, argSize=16, argPtr=09776f30)

Full logs
http://www.sendspace.com/filegroup/MQ7fG1g6syu81XZAqLwCnA

@sum2012
Copy link
Collaborator

sum2012 commented Jan 12, 2014

v0.9.6-406-g62eb701
CT1 debug log with stop on error,turn off fast memary
https://drive.google.com/file/d/0B3OaSdeV0L8kY3RyVzVMQU1hR0k/edit?usp=sharing

@dbz400
Copy link
Contributor

dbz400 commented Jan 18, 2014

CT2 is working but bit graphical issue and will crash after a while .Vertex cache/HW transform ON/OFF is not helping here.

screen00361
screen00362

@sum2012
Copy link
Collaborator

sum2012 commented Jan 18, 2014

ppsspp-v0.9.6-453-gda97a67-windows-x86 debug log (CT1)
fast memory off,stop on first error
https://drive.google.com/file/d/0B3OaSdeV0L8kZ1NZZDFKVHF1bU0/edit?usp=sharing

@unknownbrackets
Copy link
Collaborator

Has either game improved at all? The graphical glitches or the crash?

-[Unknown]

@sum2012
Copy link
Collaborator

sum2012 commented Jun 28, 2014

CT2 crash strace (v0.9.8-1450-g63bcb65 )

    PPSSPPDebug64.exe!Memory::ReadUnchecked_U32(const unsigned int address) Line 169    C++
    PPSSPPDebug64.exe!GPUCommon::Execute_Call(unsigned int op, unsigned int diff) Line 756  C++
    PPSSPPDebug64.exe!GLES_GPU::FastRunLoop(DisplayList & list) Line 658    C++
    PPSSPPDebug64.exe!GPUCommon::InterpretList(DisplayList & list) Line 516 C++
    PPSSPPDebug64.exe!GPUCommon::ProcessDLQueueInternal() Line 686  C++
    PPSSPPDebug64.exe!GPUCommon::ProcessEvent(GPUEvent ev) Line 643 C++
    PPSSPPDebug64.exe!GLES_GPU::ProcessEvent(GPUEvent ev) Line 695  C++
    PPSSPPDebug64.exe!ThreadEventQueue<GPUInterface,GPUEvent,enum GPUEventType,0,8,7>::RunEventsUntil(unsigned __int64 globalticks) Line 96 C++
    PPSSPPDebug64.exe!ThreadEventQueue<GPUInterface,GPUEvent,enum GPUEventType,0,8,7>::ScheduleEvent(GPUEvent ev) Line 48   C++
    PPSSPPDebug64.exe!GPUCommon::ProcessDLQueue() Line 666  C++
    PPSSPPDebug64.exe!GPUCommon::EnqueueList(unsigned int listpc, unsigned int stall, int subIntrBase, PSPPointer<PspGeListArgs> args, bool head) Line 301  C++
>   PPSSPPDebug64.exe!sceGeListEnQueue(unsigned int listAddress, unsigned int stallAddress, int callbackId, unsigned int optParamAddr) Line 432 C++
    PPSSPPDebug64.exe!WrapU_UUIU<&sceGeListEnQueue>() Line 671  C++
    PPSSPPDebug64.exe!CallSyscallWithoutFlags(const HLEFunction * info) Line 462    C++

1
2
3
4
5
6
7
8

@unknownbrackets
Copy link
Collaborator

Hmm, trying to jump the list to 0x0E003F38. Is this affected at all by PSP-1000/PSP-2000?

-[Unknown]

@sum2012
Copy link
Collaborator

sum2012 commented Jun 28, 2014

Not affected by PSP-1000/PSP-2000
same crash

@unknownbrackets
Copy link
Collaborator

Was this improved at all by the duplicate stack address check or the duplicate interrupt handler thing?

-[Unknown]

@HelicopterP
Copy link
Author

Nope, CT2 still crashes, CT1 still hangs.

@sum2012
Copy link
Collaborator

sum2012 commented Aug 26, 2014

@sum2012
Copy link
Collaborator

sum2012 commented Aug 26, 2014

JPCSP emulator has this log "Texture mipmap with invalid dimension at level 1:"
full log: https://gist.github.com/sum2012/10cc917c7c1d26e54b5b

@unknownbrackets
Copy link
Collaborator

I made a change not long ago to avoid the specific crash in the screenshots above, but it still means there's invalid ge data. Still happening, right?

-[Unknown]

@daniel229
Copy link
Collaborator

That crash is like the one happens in Resistance #4626

@sum2012
Copy link
Collaborator

sum2012 commented Sep 29, 2014

CT1 (ULUS10273) ppsspp-v0.9.9.1-558-gfeada0e-windows-amd64 log
info log:
EDIT:invalid address log (Do sceuliity debug log):
https://gist.github.com/sum2012/461e7178751fffc10b06
EDIT:non-stop log ,do not get invalid address(Do not do sceuliity debug log):
https://drive.google.com/file/d/0B3OaSdeV0L8kUDVhVHVnREQ0X1k/edit?usp=sharing

debug log: (Just do non-stop log ,do not get invalid address)
https://drive.google.com/file/d/0B3OaSdeV0L8kWlZaYlF2bUtleU0/edit?usp=sharing
EDIT:
invalid addres debug log:
https://drive.google.com/file/d/0B3OaSdeV0L8kOWc5M0JxM2Vybkk/edit?usp=sharing

@sum2012
Copy link
Collaborator

sum2012 commented Sep 29, 2014

@unknownbrackets some finding
PPSSPP do not return sceKernelCancelAlarm error

JPCSPtrace log:
05:24:09.755114 Decompress - -> sceKernelCancelAlarm 0x4394941 = 0x0
05:24:09.755204 Decompress - <- sceKernelCancelAlarm 0x4394941 = 0x8002019F
full JPCSPTrace log:
https://gist.github.com/sum2012/f4853b7851633e8e7ab4

JPCSP emulator also give this error code.
45926 [Decompress] WARN hle.ThreadManForUser - checkAlarmID unknown uid=0x6c
Full log:
https://gist.github.com/sum2012/bdf4ddc48bb3765317e3

@sum2012
Copy link
Collaborator

sum2012 commented Sep 29, 2014

For CT2
Last good
v0.9.8-1397-g412acc7

First bad
v0.9.8-1405-gfea0a26

It mean this pull request
#6414

@sum2012
Copy link
Collaborator

sum2012 commented Sep 30, 2014

@unknownbrackets For CT2
git bisect result
2
This commit
unknownbrackets@d8cff45

@unknownbrackets
Copy link
Collaborator

I guess it's a case of "accidentally working", then. Probably related to audio timing somewhere, though (e.g. sceAudio or sceAtrac or sceSas, all of which I'm pretty sure have fairly incorrect timing.)

-[Unknown]

@sum2012
Copy link
Collaborator

sum2012 commented Jan 16, 2015

@ppmeis
Copy link
Contributor

ppmeis commented Jul 25, 2015

Tested with latest build. It crash in both CT1 and CT2 after a while. Maybe related to #3854?¿

@sum2012
Copy link
Collaborator

sum2012 commented Jul 31, 2015

@ppmeis It doesn't work with interpreter mode,so that it is not related to #3854

@ppmeis
Copy link
Contributor

ppmeis commented Dec 6, 2015

Tested with latest build. Same status.

@sum2012
Copy link
Collaborator

sum2012 commented Oct 30, 2016

Update debug log to v1.3-135-g934aff4
https://drive.google.com/file/d/0B3OaSdeV0L8kV1Bmc21NQ3lGU0E/view?usp=sharing

@ppmeis
Copy link
Contributor

ppmeis commented Jan 10, 2017

Tested with latest build. Instant crash in CT1 character select screen. CT2 goes ingame but also crash:
image

@hrydgard
Copy link
Owner

hrydgard commented Sep 1, 2020

Wow! Fantastic work shenweip and sum2012. That such a little thing fixed it... Really happy to see this closed, it's bothered me for a long time.

@sum2012
Copy link
Collaborator

sum2012 commented Sep 1, 2020

https://github.com/jpcsp/jpcsp/blob/master/src/jpcsp/HLE/modules/ThreadManForUser.java#L488

@shenweip @hrydgard
Just a bit worry that need for more hleReSchedule for thread function.

@unknownbrackets
Copy link
Collaborator

Very nice. Shows the importance of each function and tests.

JPCSPTrace log of @unknownbrackets https://gist.github.com/sum2012/066c74fbefff9a85d507c8e05e9d9c8e
@unknownbrackets why your jpcsptrace don't return
<- _sceKernelExitThread
or <- sceKernelExitThread ?

It just runs code before and after the function to do that. There's no after sceKernelExitThread(), so the code can't run.

As for other areas - we should be careful about assumptions, but we may definitely need more tests.

-[Unknown]

@SilentMRG
Copy link

SilentMRG commented Jul 5, 2021

Hi...

Crazy Taxi 2 works perfectly in version 1.11.3, however Crazy Taxi 1 freezes the screen after selecting the game.

I am playing on Windows 7 Ultimate 64bit and with Direct3D 9 API.

Ahh, I'm using the game version: Crazy Taxi - Fare Wars (USA) (v2.01).

I apologize for posting this information in a thread that was closed, but it's just that I don't have any information about the bug, and I thought it would be unnecessary to open a thread to just cite an old bug,

@SilentMRG
Copy link

SilentMRG commented Jul 5, 2021

I just did a quick test here using the OpenGL API, and the game froze 1 time when selecting Crazy Taxi 1 and froze again when selecting Crazy Taxi 2, that is, 1 freeze for each game when selecting them.

In Direct3D 9, the game froze several times and randomly, when selecting CT 1 and 2.

Unfortunately, my video card doesn't support Direct3D 11, so I can't test this API.

I think this old bug is still present, however, randomly, in the above two APIs. Perhaps, in Direct3D 11, this bug does not appear.

I leave this simple warning to those involved in the project.

@hrydgard
Copy link
Owner

hrydgard commented Jul 6, 2021

I don't think the hangs are graphics-API-related, though you never know, of course. It's clear that the game isn't completely fixed, so I'll re-open (although the situation is of course a lot better now than when this issue was originally reported).

@hrydgard hrydgard reopened this Jul 6, 2021
@Panderner
Copy link
Contributor

@SilentMRG what specs for your PC are you using?

@SilentMRG
Copy link

@SilentMRG what specs for your PC are you using?

Laptop:

Windows 7 Ultimate 64 bits
i5 2.67 GHz
4GB DDR3
Intel HD Graphics 1000

Note: Obviously it's a low performance machine, however it manages to run both GOW at 60 fps at default settings. Anyway, I don't believe the bug is hardware related.

@Panderner
Copy link
Contributor

Works fine for me:
I tested OpenGL and D3D9 for Both CT games when i swap CT games it didn't freeze and Crazy Taxi 1 works fine in-game.

@Panderner
Copy link
Contributor

Here's my Specs:

AMD A8-7680
Nvidia GTX 1050 Ti
8GB RAM DDR3 1333 MHz
Windows 10 Pro

@SilentMRG
Copy link

Works fine for me:
I tested OpenGL and D3D9 for Both CT games when i swap CT games it didn't freeze and Crazy Taxi 1 works fine in-game.

CT 1 and 2 working perfectly here too. The only problem is this random bug that freezes the screen when I select one of the games. Today I played CT 1 for 2 hours and didn't notice any bugs. Then I went to play CT 2 and the screen froze when selecting the game; I closed the emulation and went back to emulating CT 2, and it worked for 30 minutes without bugs.

Note: When the screen freezes the fps stays at 0/0 (100%) and sometimes drops to 90% or 80%, while the fps stays at 0/0, sometimes going up to 02/02.

I have 32 games here and this is the only one with a problem.

Because it's a random bug, it might not happen to everyone.

@unknownbrackets
Copy link
Collaborator

If you can find a way or place to reproduce the issue more frequently, that may help. I don't personally have the game, but bugs that take hours to reproduce are typically very hard bugs to fix even when you do own the game in question.

Sometimes, a thing that takes a long time to reproduce just actually needs 2 uncommon things to both happen in a specific order. That's not always the case, but figuring out those kinds of things can help significantly in making bugs easier to fix.

If you see 0/0, that means the game has gone an extended period of time without attempting to draw to the screen and this most likely means an emulation issue. It can also be caused by cheats, disc issues (please double check your CRC), savedata, or certain settings like the CPU clock speed setting.

Such an issue should definitely not be graphics backend specific (the screen locking up certainly can, be showing 0/0 or 2/2 shouldn't be.)

-[Unknown]

@ghost
Copy link

ghost commented Jul 27, 2021

@SilentMRG did you also try this game on android and the issue can reproduce?

@SilentMRG
Copy link

If you can find a way or place to reproduce the issue more frequently, that may help. I don't personally have the game, but bugs that take hours to reproduce are typically very hard bugs to fix even when you do own the game in question.

Sometimes, a thing that takes a long time to reproduce just actually needs 2 uncommon things to both happen in a specific order. That's not always the case, but figuring out those kinds of things can help significantly in making bugs easier to fix.

If you see 0/0, that means the game has gone an extended period of time without attempting to draw to the screen and this most likely means an emulation issue. It can also be caused by cheats, disc issues (please double check your CRC), savedata, or certain settings like the CPU clock speed setting.

Such an issue should definitely not be graphics backend specific (the screen locking up certainly can, be showing 0/0 or 2/2 shouldn't be.)

-[Unknown]

I understand. And I'll try as soon as I have time, because at the moment I have a lot of work.

@SilentMRG
Copy link

@SilentMRG did you also try this game on android and the issue can reproduce?

Unfortunately, I don't have a good Android to test, and that makes me stuck on the PC.

@ghost
Copy link

ghost commented Sep 9, 2021

@SilentMRG did you also try this game on android and the issue can reproduce?

Unfortunately, I don't have a good Android to test, and that makes me stuck on the PC.

I cannot reproduce this on my android phone.
Screenshot_2021-09-09-11-53-20-406_org ppsspp ppsspp
@iota97 why calculate crc is gone?

@hrydgard
Copy link
Owner

hrydgard commented Sep 9, 2021

Huh that is weird! CRC button should be there...

@ghost
Copy link

ghost commented Sep 9, 2021

Screenshot_2021-09-09-11-53-20-406_org ppsspp ppsspp
@iota97 why calculate crc is gone?

Never mind about the calculate crc.
I forget to scroll down ✌️😂

@hrydgard
Copy link
Owner

hrydgard commented Sep 9, 2021

Ah yeah. we should probably make it more obvious that it's scrollable somehow...

@ghost
Copy link

ghost commented Sep 11, 2021

This should be added to the future-prio milestone.

@hrydgard hrydgard modified the milestones: v1.11.0, Future-Prio Sep 11, 2021
@hrydgard
Copy link
Owner

Thanks, missed that.

@ppmeis
Copy link
Contributor

ppmeis commented Dec 17, 2022

Tested in latest windows build. It works just fine.

@sum2012
Copy link
Collaborator

sum2012 commented Oct 20, 2023

@anr2me in #11062 (comment) reported that Crazy Taxi Fare Wars can sometimes stuck/freezes after selecting either Crazy Taxi or Crazy Taxi 2 (still showing the game selection screen while it stucks

@anr2me Can you try Simulate UMD delays ?

@anr2me
Copy link
Collaborator

anr2me commented Oct 20, 2023

Ah right, i was using the default I/O timing method (Fast) when i was testing the graphical glitches back then, haven't tried using Simulate UMD yet.

Even with Fast it was quite difficult to reproduce it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
HLE/Kernel Kernel, memory manager, other HLE issues
Projects
None yet
Development

No branches or pull requests