-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
SPU2-X Windows XP crash fix #1195
Comments
http://trac.wxwidgets.org/ticket/13116 Also in wx/setup.h
Making changes to either might hurt performance and/or introduce bugs - I don't think either should be changed. |
Yea, I tend to agree. Keep #define wxUSE_COMPILER_TLS 1, as this will also kind of future proof the issue. |
Performance has been benchmarked here. And regardless, we are already using the slow path in Wx. As for introducing bugs.. isn't that like just the behavior vs2013 had? |
Well, I checked, we are indeed on the slow path. As for VS2013 behaviour, I don't know, but I'm still very much against changing the compiler flag and potentially introducing bugs that we could quite simply avoid by not doing so. |
If people want to use a nearly 20 years old OS, they must use old PSX2 build. Hack to support xp is a no go. |
Shouldn't the point be whether this entail any downside/problem or not? |
A flag changes that can creatle subtle issue, or in future code is bad. |
It's exactly in evaluating the "probability" of these issues that I think the point resides (and what I was asking). |
The vs2013 build bot is a valid and usable workaround, or? I guess we have like three xp users. They can either stick to older versions or use the appveyor 2013 build bot. |
nobody want to fiddle with thread safety. We already get enough issue with them. We can't support xp for a century. Besides, xp users can still install 1.4 (vs2013). They loose nothing. |
Potential upsides of dropping XP are:
This is a hint on what I'm working on. So the ability to run future PCSX2 dev builds on XP will disappear soon. It's already been stated multiple times that 1.4.0 is the last release to support XP and it's also in the README.md, so it should come as no surprise. |
I definitively know the "pros" are next to nonexistent. My point was more on whether the possibility of problems for enabling this switch couldn't be even more negligible than the little number you took as example.
? Who should? We always lived without it up to this point. Said this, if the benefits proposed by turteli are real I can see the huge jump ahead. But I wouldn't know if this is the best place to discuss them since as I said it was just about this change and if any I see the problem in estimating the odds of "side effects". EDIT: just while I was finalizing this comment, it seems Wx would gladly accept upstream a patch to include this change. |
Fixed upstream :* ^^ |
Meaning? |
Ehrm.. meaning they were looking forward to including the fix in 3.1.0 (and patch is there), but they still have to merge it. |
The funny thing is, I had this issue 2 or 3 months ago, for me I needed |
Really? You could have documented it tbh.
to I wonder why they all fled my bug report though. |
@mirh I did mention that in the forum and my github repo//commits. Also mentioned that SPU-X has same problem. Anyways, if you look at the TLS option in
So it effectively uses Both VS and wxWidgets trying to solve TLS issues at the same time seems to get bad results. I chose to let VS handle thread local storage safety and disable checks in wxWidgets for maximum performance when set as 2 for compiler TLS in And an answer to your question why they "fled" the bug report, in my openion vads wxWidget's dev, is waiting for XP to die out, he is clueless as everybody else how to handle this issue, and afraid to cause regressions, since Microsoft gave up on XP, and that issue doesn't exist from Vista onwards. The same way PCSX2 devs think. |
Mhh no, really, they seem to care a lot about it, and they all had been very sympathetic up to that point.
Man, until 9ed9b2d we were indeed using that.
And mhh no? This problem was about the change introduced here, which nullified wx workaround. You need both to be aware of the situation for that stuff to work. Funnily, while I was googling for that I found this. What about.. W8 SDK supporting XP too? ^^ |
Well, I was speaking for my experience with wxWidgets and my own plugin, not SPU2-X specifically. To answer your last question, Yes and no: You can use Windows SDK8.1 with targeting XP but you have to be careful, since XP doesn't support DirectX 10 nor of course 11. (see the links at the bottom) I did however, to get rid of DirectX SDK dependency and to rely on Windows SDK use Windows SDK7.1 (all DirectX headers that I need) and 8.1 (for the missing Here are two useful links: And for SPU2-X, I bet you can use the needed |
Yes, #1253 should perfect that. |
I'm going to close this - The compiler flag isn't going to be changed, and I don't see a point in making the change if we're not supporting XP on the dev builds anyway. |
Never say never :p |
Honestly. Only a single web browser is supported on XP, Firefox. They will drop the support mid 2017. |
I'm not pretending you to waste your time for support, but anyway I don't see the correlation between browser and pcsx2. |
What I mean is that the OS can't be used safely in any way. It is time to migrate to a new OS. And soon Win7 support will be dropped too. So let's not encourage people to keep a deprecated OS |
Oh, you meant that.
And by then, tbh, I'd expect the year of linux on desktop 😄 |
https://blog.mozilla.org/futurereleases/2016/12/23/firefox-support-for-xp-and-vista/ It is September 2017 not 2018. Well 3 years is soon. People need time to upgrade. |
In my experience, people need time to realize they have to upgrade |
Read all the blog. Yes I know. My gf's computer (Win7/Linux) is good enough for her work. If I replace the HDD by a SSD I can keep it for an additional 10 years. I'm afraid Win7 will still be here in 2025... |
Long story short, I tried to look for that " invalid access to memory location". And well, I found out we ain't alone. But workarounds weren't working with SPU2.
So I tried to force the thing on the whole damn pcsx2 solution, toghether with /MT and some other switches because reasons. After a lot of tinkering with property manager (inheriting sucks in VS2015), pinpointing and swearing at msdn with no damn info it seems...
The problem is in wxBase30.
More precisely you have to tell the compiler to build the project with
/Zc:threadSafeInit-
parameterIf other clues were needed, I dunno, people like @ramapcsx2 could try to decipher this :s
The text was updated successfully, but these errors were encountered: