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

2 small errors in the BLEACH HEAT OF SOUL 6 [UCAS40258] in the version 0.9.9 and BUILD #6627

Closed
kirous opened this issue Jul 25, 2014 · 15 comments
Milestone

Comments

@kirous
Copy link

kirous commented Jul 25, 2014

  • Do not load the intro video again when it is in the PRESS START MENU BUTTON and the game crashes.
  • The CONSOLE LOG shoots me this error:

40:51:183 Main E[FONT]: HLE\sceFont.cpp:626 Font exists but is closed, which was not allowed in this call.
40:51:183 Main E[FONT]: HLE\sceFont.cpp:908 sceFontClose(8e06f1c) - font not open?
40:51:183 Main E[FONT]: HLE\sceFont.cpp:626 Font exists but is closed, which was not allowed in this call.
40:51:183 Main E[FONT]: HLE\sceFont.cpp:908 sceFontClose(8e06f68) - font not open?

  • This red, for this reason it will not load the video again or be anything else.
  • Another mistake but not as severe, is always loading the game, I vizualiza this:

bleachsave

  • You see, the image is not vizualiza when saving the game, but when you go to save it if the image is displayed.
  • The game is OK. Are only these two details.
@sum2012
Copy link
Collaborator

sum2012 commented Jul 25, 2014

@unknownbrackets
Copy link
Collaborator

The save thing should be fixed now. Does the crash still happen in the latest PPSSPP git build?

-[Unknown]

@sum2012
Copy link
Collaborator

sum2012 commented Mar 10, 2019

v1.7.5-553-gc77af182a crash before menu

debug log: https://drive.google.com/file/d/1H_oKJ7sdy3LGG1XAvn_cJ7qWU-ZHB6on/view?usp=sharing

crash trace

atio6axx.dll!00000000696c4e02()	Unknown
atio6axx.dll!0000000069693da5()	Unknown
atio6axx.dll!00000000692283e4()	Unknown
atio6axx.dll!0000000069626a03()	Unknown

PPSSPPDebug64.exe!GLQueueRunner::PerformBlit(const GLRStep & step) Line 633 C++
PPSSPPDebug64.exe!GLQueueRunner::RunSteps(const std::vector<GLRStep *,std::allocator<GLRStep > > & steps, bool skipGLCalls) Line 588 C++
PPSSPPDebug64.exe!GLRenderManager::Run(int frame) Line 527 C++
PPSSPPDebug64.exe!GLRenderManager::ThreadFrame() Line 201 C++
PPSSPPDebug64.exe!WindowsGLContext::ThreadFrame() Line 466 C++
PPSSPPDebug64.exe!MainThreadFunc() Line 243 C++
[External Code]
PPSSPPDebug64.exe!invoke_thread_procedure(unsigned int(
)(void ) procedure, void * const context) Line 92 C++
PPSSPPDebug64.exe!thread_start<unsigned int (__cdecl
)(void * __ptr64)>(void * const parameter) Line 115 C++
[External Code]

2

@hrydgard
Copy link
Owner

Hm, could maybe be out of bounds of the src or the destination of the blit, possibly? We have some clipping code in the Vulkan path that we maybe should use on all backends.

@sum2012
Copy link
Collaborator

sum2012 commented Mar 10, 2019

It only crash on Opengl.
DX9 and DX 11 not crash that place.

@sum2012
Copy link
Collaborator

sum2012 commented Mar 10, 2019

git bisect result:
2dc3912 in #11676
edit:In current master,revert that change fix the crash

@unknownbrackets
Copy link
Collaborator

Hmm, aspectMask there is GL_STENCIL_BUFFER_BIT. I wonder where we're trying to blit depth without z - that's definitely a bug.

-[Unknown]

unknownbrackets added a commit to unknownbrackets/ppsspp that referenced this issue Mar 10, 2019
@unknownbrackets
Copy link
Collaborator

Sorry, #11873 should fix that now.

-[Unknown]

@hrydgard
Copy link
Owner

hrydgard commented Mar 10, 2019

Oh good catch! That goes in 1.8.0.

And thanks for the bisect @sum2012 !

@sum2012
Copy link
Collaborator

sum2012 commented Mar 10, 2019

Thanks @unknownbrackets @hrydgard
The video still crash when I enable fast memory.

58:49:061 Main W[MEMMAP]: MemmapFunctions.cpp:92 ReadFromHardware: Invalid address 00000000
58:49:061 Main W[MEMMAP]: MemmapFunctions.cpp:92 ReadFromHardware: Invalid address 00000004
58:49:061 Main W[MEMMAP]: MemmapFunctions.cpp:128 WriteToHardware: Invalid address 0000000c
58:49:061 Main W[MEMMAP]: MemmapFunctions.cpp:92 ReadFromHardware: Invalid address 00000000
58:49:061 Main W[MEMMAP]: MemmapFunctions.cpp:92 ReadFromHardware: Invalid address 0000000c
58:49:061 Main W[MEMMAP]: MemmapFunctions.cpp:92 ReadFromHardware: Invalid address 00000008
58:49:061 Main W[MEMMAP]: MemmapFunctions.cpp:92 ReadFromHardware: Invalid address 00000008
58:49:061 Main W[MEMMAP]: MemmapFunctions.cpp:92 ReadFromHardware: Invalid address 00000000
58:49:061 Main W[MEMMAP]: MemmapFunctions.cpp:128 WriteToHardware: Invalid address 00000004
58:49:061 Main W[MEMMAP]: MemmapFunctions.cpp:128 WriteToHardware: Invalid address 00000008
58:49:061 Main W[MEMMAP]: MemmapFunctions.cpp:128 WriteToHardware: Invalid address 00000000
58:49:061 Main W[MEMMAP]: MemmapFunctions.cpp:92 ReadFromHardware: Invalid address 0000000c
58:49:061 Main W[MEMMAP]: MemmapFunctions.cpp:92 ReadFromHardware: Invalid address 00000008
58:49:061 Main W[MEMMAP]: MemmapFunctions.cpp:92 ReadFromHardware: Invalid address 00000008
58:49:061 Main W[MEMMAP]: MemmapFunctions.cpp:92 ReadFromHardware: Invalid address 00000000
58:49:061 Main W[MEMMAP]: MemmapFunctions.cpp:128 WriteToHardware: Invalid address 00000004
58:49:061 Main W[MEMMAP]: MemmapFunctions.cpp:128 WriteToHardware: Invalid address 00000000
58:49:061 Main W[MEMMAP]: MemmapFunctions.cpp:128 WriteToHardware: Invalid address 00000008

full log: https://drive.google.com/file/d/1tRPbyxC-SrJf9X-3q1Sj7MolLsy_gGFO/view?usp=sharing

I try to hack to allow the close font ,but crash in the other place.

@unknownbrackets
Copy link
Collaborator

Hm. Those errors are between HLE\sceKernelThread.cpp:3195 Executing mipscall 101 and HLE\sceKernelThread.cpp:3252 __KernelReturnFromMipsCall(), returned 00000000.

Basically, we're calling freeFuncAddr from sceFontDoneLib, but there's a double free. I bet it doesn't call the callback on a double free, and that might be why it crashes.

Does it help to make the below change?

		// TODO: The return value of this is leaking.
		__KernelDirectMipsCall(params_.freeFuncAddr, 0, args, 2, false);

To:

		if (handle_) {
			// TODO: The return value of this is leaking.
			__KernelDirectMipsCall(params_.freeFuncAddr, 0, args, 2, false);
		}

-[Unknown]

@hrydgard
Copy link
Owner

That change is almost certainly good - calling a callback a second time on a double-free can't be right.

@sum2012
Copy link
Collaborator

sum2012 commented Mar 11, 2019

Well done @unknownbrackets @hrydgard
Those errors are gone when apply the change.
Can happy to use fast memory.
Just a log error message:
27:54:009 Main I[SCEIO]: HLE\sceIo.cpp:1031 stderr: font_error:I, 08c70000

full log: https://gist.github.com/sum2012/fbf6354c2c965e211f9685eb070b5725

@hrydgard
Copy link
Owner

Good. I don't think that error output is much to worry about.

@sum2012
Copy link
Collaborator

sum2012 commented Mar 11, 2019

Now no error on this game.
Can close this issue.
Closing

@sum2012 sum2012 closed this as completed Mar 11, 2019
@unknownbrackets unknownbrackets added this to the v1.8.0 milestone Mar 11, 2019
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

4 participants