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

Dracula X Chronicle stucking problem #6587

Closed
daniel229 opened this issue Jul 20, 2014 · 20 comments
Closed

Dracula X Chronicle stucking problem #6587

daniel229 opened this issue Jul 20, 2014 · 20 comments

Comments

@daniel229
Copy link
Collaborator

It stucks here when they are talking,but you can press START to skip it.
01

debug log(reame jpg to rar)
ppsspplog

@unknownbrackets
Copy link
Collaborator

Hmm, hard to say. The log is from just letting it stay hung and quitting, right?

SAS seems over, but it could be somehow SAS related. Maybe more likely sceAtrac if it's waiting for the music to end or something...

-[Unknown]

@daniel229
Copy link
Collaborator Author

Yes.
The infolog report these when they are talking.
'''
22:10:717 user_main W[IO]: HLE\sceIo.cpp:1110 sceIoLseekAsync(5, 0, 0): async busy
22:10:752 user_main W[IO]: HLE\sceIo.cpp:1110 sceIoLseekAsync(5, 0, 0): async busy
22:10:852 user_main W[IO]: HLE\sceIo.cpp:1110 sceIoLseekAsync(5, 0, 0): async busy
22:13:423 user_main W[IO]: HLE\sceIo.cpp:1110 sceIoLseekAsync(5, 0, 0): async busy
22:16:058 user_main W[IO]: HLE\sceIo.cpp:1110 sceIoLseekAsync(5, 0, 0): async busy
22:23:232 user_main W[IO]: HLE\sceIo.cpp:1110 sceIoLseekAsync(5, 0, 0): async busy
22:25:501 user_main W[IO]: HLE\sceIo.cpp:1110 sceIoLseekAsync(5, 0, 0): async busy
'''
comment return SCE_KERNEL_ERROR_ASYNC_BUSY; in that block,it will hang earlier.

@unknownbrackets
Copy link
Collaborator

Does it go away if you change __IoSchedAsync(f, id, 100); in sceIo.cpp to for example __IoSchedAsync(f, id, 1000);?

I'm supposing that async busy is a good thing, so if something is happening here to cause the operation to occur late and not hit async busy, that may be the issue. If that does help, it'd also be interesting if this helped:

https://github.com/unknownbrackets/ppsspp/compare/io-minor2?expand=1

It could also help to schedule io threads, since they currently are not scheduled (it just estimates time.)

-[Unknown]

@daniel229
Copy link
Collaborator Author

__IoSchedAsync(f, id, 1000); does not help,io-minor2 branch does not help either

@daniel229
Copy link
Collaborator Author

io-minor2 branch helps #6127 ,turn on BGM again,it would not hang.but not full fixes the issue. if you turn on BGM and not apply it, turn off it,then turn on again,then apply it,it still hangs.

@daniel229
Copy link
Collaborator Author

and fixes this #6557

@daniel229
Copy link
Collaborator Author

fixes #6189

@unknownbrackets
Copy link
Collaborator

Hmm, well, that implies that all of those are IO related. It still seems like this is IO related too.

What about an even higher number? Let's try something crazy like __IoSchedAsync(f, id, 100000);. Also, note that it appears like 3 times in sceIo.cpp.

-[Unknown]

@daniel229
Copy link
Collaborator Author

Still not help,just report more 45:57:071 user_main W[IO]: HLE\sceIo.cpp:1110 sceIoLseekAsync(5, 0, 0): async busy,change all 3 lines or just the line 1115 seems no difference.change to 10000000 bgm would be missing or delay and hangs early.

@unknownbrackets
Copy link
Collaborator

Well, could try changing other delays. If none of it helps it must not be related after all.

So change e.g.:

void __IoSchedAsync(FileNode *f, int fd, int usec) {

To:

void __IoSchedAsync(FileNode *f, int fd, int usec) {
   usec *= 10;

And:

void __IoSchedSync(FileNode *f, int fd, int usec) {

To:

void __IoSchedSync(FileNode *f, int fd, int usec) {
   usec *= 10;

It seemed like lseek was the last thing it usually did in the log before the async busy, but it could be something else.

-[Unknown]

@daniel229
Copy link
Collaborator Author

Not help either.even 100,1000

@daniel229
Copy link
Collaborator Author

Also fixes #5540

@daniel229
Copy link
Collaborator Author

Also fixes an invalid address issue and the camera issue in Danball Senki W #4786

@unknownbrackets
Copy link
Collaborator

Really. Wow, that seems to improve quite a few things then. Hmm... I should take another look at it, since I recall there were problems in some games, but maybe they were other bugs.

-[Unknown]

@daniel229
Copy link
Collaborator Author

Yes,I have try 20 or 30 times to reproduce the problem with the io-minor2 branch,still not happen.I think it's fixed.Usually would happen in 5 times

@daniel229
Copy link
Collaborator Author

That branch may cause invalid adresses in Tales of the World Radiant Mythology 2

@daniel229
Copy link
Collaborator Author

That branch makes World Neverland laggy.

@daniel229
Copy link
Collaborator Author

Don't Register sceAtrac3plus() can avoid the stucking.#6804

@daniel229
Copy link
Collaborator Author

JPCSP fixed it in https://code.google.com/p/jpcsp/source/detail?r=3629 ,

@daniel229
Copy link
Collaborator Author

Fixed in #8189

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants