The problem is that when creating a special application for testing the player pointer, you probably can't reproduce such a problem that is specific to a certain project.

Stripping down the project on the other hand has the advantage that in the process of stripping down, you have a good chance to find the reason of the problem at some point. Remove functions step by step and always test if the last step fixed the bug.