Skip to content

util/shared_ptr.hpp: STX pointers library fixes#16450

Merged
elad335 merged 9 commits into
RPCS3:masterfrom
elad335:events
Dec 24, 2024
Merged

util/shared_ptr.hpp: STX pointers library fixes#16450
elad335 merged 9 commits into
RPCS3:masterfrom
elad335:events

Conversation

@elad335

@elad335 elad335 commented Dec 23, 2024

Copy link
Copy Markdown
Contributor

Bugs fixed:

  • stx::shared_ptr::reset() was resetting pointer storage only if reference count became 0. (should always reset pointer storage)
  • Fixup serialization in sys_process.
  • Move destructor code in sys_config to IDM designated abort notification, operator=(thread_state), where it should be.
    Do a similar thing with lv2_socket and spu_thread.

Optimization:

  • atomic_ptr constructors were adding a redundant atomic_t::store instead of raw access.

flixes #16447

@elad335 elad335 added the Bugfix label Dec 23, 2024
@elad335 elad335 changed the title [WIP] utils/shared_ptr.hpp: STX pointers library fixes [WIP] util/shared_ptr.hpp: STX pointers library fixes Dec 23, 2024
@elad335
elad335 force-pushed the events branch 9 times, most recently from db45d41 to ba78e46 Compare December 23, 2024 10:40
@elad335 elad335 changed the title [WIP] util/shared_ptr.hpp: STX pointers library fixes util/shared_ptr.hpp: STX pointers library fixes Dec 23, 2024
@elad335
elad335 marked this pull request as ready for review December 23, 2024 11:01
@Darkhost1999

This comment was marked as resolved.

@elad335
elad335 force-pushed the events branch 2 times, most recently from 6060df7 to e231b7b Compare December 23, 2024 13:17
@elad335

elad335 commented Dec 23, 2024

Copy link
Copy Markdown
Contributor Author

@Darkhost1999 Fixed.

@Darkhost1999

Darkhost1999 commented Dec 23, 2024

Copy link
Copy Markdown
Contributor

Fixed.

Indeed, and on all the games I previously tested in my library to have the issue has been resolved.

@Darkhost1999

Darkhost1999 commented Dec 23, 2024

Copy link
Copy Markdown
Contributor

RPCS3.zip
Need for Speed™ The Run [BLUS30757] on game window close event after fatal error message. If there's not a fatal error the win32 exception won't occur.
cleaner log
RPCS3.log

@Darkhost1999

Copy link
Copy Markdown
Contributor

RPCS3.log

·F 0:14:10.965577 {Emu State Load Thread: 'class ppu_function_manager'} SIG: Thread terminated due to fatal error: serial_breathe_and_tag(1): { reading, 0x1797f2be/0x179b0316, memory=0x8cb9d9, sample64=0x7b7fe6240f000000 }, object: 'none', next-object: 'class ppu_function_manager', expected/tag: 0x795e != 0x228,
(in file C:\Users\bryso\Documents\GitHub\rpcs3\rpcs3\Emu\savestate_utils.cpp:395[:24], in function unsigned short __cdecl stx::serial_breathe_and_tag(struct utils::serial &,class std::basic_string_view<char,struct std::char_traits<char> >,bool))

Saving states GTAV

@Darkhost1999

Copy link
Copy Markdown
Contributor

RPCS3.log
Savestate fatal error still occurs in any game
rpcs3\rpcs3\Emu\savestate_utils.cpp:396[:24], in function 'ushort stx::serial_breathe_and_tag'
No win32 exception message

RPCS3.log
Need for Speed The Run and possibly more games if we can trigger a fatal error,
have a win32 exception error after the fatal error dialog message.

I don't think these are blocking issues. The PR resolves games booting and playing. issues remaining are niche scenarios

@elad335
elad335 force-pushed the events branch 2 times, most recently from 672e0d5 to 9db71b0 Compare December 24, 2024 18:17
@elad335
elad335 merged commit 623f582 into RPCS3:master Dec 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants