Crash To Desktop After 5 Sec.
#1
Posted 28 April 2013 - 01:07 PM
#2
Posted 29 April 2013 - 01:08 PM
Detailed reason for the crash if you're curious:
We recently introduced code making use of the MASKMOVDQU SSE instruction to write out only the first 4-bytes of a result from a 16-byte SSE register coming out of a hand-optimized function. Turns out that this instruction pulls in a full 128 bits of data from main memory, does the masked update on CPU, and then writes the full 128 bits back out to main memory regardless of which bytes were actually changed.
I've not made use of this particular instruction before, and the documentation didn't hint that this might be an issue, even though now it seems pretty obvious in hindsight . So if we were unlucky enough that the memory address we were writing back to was aligned right next to another page marked as unwritable, the kernel would generate an access violation.
#3
Posted 29 April 2013 - 01:31 PM
1st: "cryengine command buffer overflow" ... you get this, if you play in window fullscreen, the game hang and closes after confirming the OK button of the error-window.
2nd: "mwo missile freeze": The game just freezes (most of the time on missile hits) Can only be killed in the task manager. This error occurs, if you play in fullscreen mode. I think personally, that 1st and 2nd errors are the same, but you only can see the error message in window-fullscreen.
On both you will find a lot of answers to the thread starters. I hope you also will find the problem soon.
Best regards,
Tim
EDIT: And yes, i tried everything ... cleared the cache very often, different graphic drivers, reinstall, repair tool.
Edited by KOKO, 29 April 2013 - 01:33 PM.
#4
Posted 29 April 2013 - 01:51 PM
Karl Berg, on 29 April 2013 - 01:08 PM, said:
Detailed reason for the crash if you're curious:
We recently introduced code making use of the MASKMOVDQU SSE instruction to write out only the first 4-bytes of a result from a 16-byte SSE register coming out of a hand-optimized function. Turns out that this instruction pulls in a full 128 bits of data from main memory, does the masked update on CPU, and then writes the full 128 bits back out to main memory regardless of which bytes were actually changed.
I've not made use of this particular instruction before, and the documentation didn't hint that this might be an issue, even though now it seems pretty obvious in hindsight . So if we were unlucky enough that the memory address we were writing back to was aligned right next to another page marked as unwritable, the kernel would generate an access violation.
You. Are. Awesome.
That is all.
#5
Posted 01 May 2013 - 07:24 AM
Karl Berg, on 29 April 2013 - 01:08 PM, said:
Detailed reason for the crash if you're curious:
We recently introduced code making use of the MASKMOVDQU SSE instruction to write out only the first 4-bytes of a result from a 16-byte SSE register coming out of a hand-optimized function. Turns out that this instruction pulls in a full 128 bits of data from main memory, does the masked update on CPU, and then writes the full 128 bits back out to main memory regardless of which bytes were actually changed.
I've not made use of this particular instruction before, and the documentation didn't hint that this might be an issue, even though now it seems pretty obvious in hindsight . So if we were unlucky enough that the memory address we were writing back to was aligned right next to another page marked as unwritable, the kernel would generate an access violation.
I'm really liking all these awesome, highly-technical responses coming out. Please continue. Also, reading the words "hand-optimized" makes me all warm and fuzzy inside.
#6
Posted 01 May 2013 - 03:05 PM
#7
Posted 01 May 2013 - 05:45 PM
#8
Posted 01 May 2013 - 06:04 PM
MajorChunks, on 01 May 2013 - 07:24 AM, said:
I'm really liking all these awesome, highly-technical responses coming out. Please continue. Also, reading the words "hand-optimized" makes me all warm and fuzzy inside.
Hand-optimized is fine.. but you have to VALIDATE to make sure the results are "working as intended". Judging from the technical response, it clearly wasn't.
At least we know they are at least trying to optimize... but they need better tools to make sure stuff isn't broken when stuff is added/changed.
Edited by Deathlike, 01 May 2013 - 06:04 PM.
#9
Posted 02 May 2013 - 06:48 AM
Karl Berg, on 29 April 2013 - 01:08 PM, said:
Detailed reason for the crash if you're curious:
We recently introduced code making use of the MASKMOVDQU SSE instruction to write out only the first 4-bytes of a result from a 16-byte SSE register coming out of a hand-optimized function. Turns out that this instruction pulls in a full 128 bits of data from main memory, does the masked update on CPU, and then writes the full 128 bits back out to main memory regardless of which bytes were actually changed.
I've not made use of this particular instruction before, and the documentation didn't hint that this might be an issue, even though now it seems pretty obvious in hindsight . So if we were unlucky enough that the memory address we were writing back to was aligned right next to another page marked as unwritable, the kernel would generate an access violation.
I have not experienced a crash to desktop since closed beta, now I carash to desktop about 1 in 5 games how does this coding get past a internal alpha server??? Plus is this not a high priority bug yet im pretty sure 90% of the player base is getting crash to desktop now.....
#10
Posted 02 May 2013 - 06:49 AM
Deathlike, on 01 May 2013 - 06:04 PM, said:
True, but I've debugged low-level C and NASM assembly memory problems before, and I almost threw myself off of a bridge because of it. The fact that these guys can deal with it at all, and have the stones to admit when they messed up, earns them huge points in my book. You're right, it doesn't stop them from needing better regression testing, but we already knew that
Edited by MajorChunks, 02 May 2013 - 06:50 AM.
#11
Posted 02 May 2013 - 09:55 AM
SmokinDave73, on 02 May 2013 - 06:48 AM, said:
I have not experienced a crash to desktop since closed beta, now I carash to desktop about 1 in 5 games how does this coding get past a internal alpha server??? Plus is this not a high priority bug yet im pretty sure 90% of the player base is getting crash to desktop now.....
Unfortunately internal test servers are not the same thing as a real world deployment and as a result things can and do get missed. It's the nature of the beast, but it's also why we're here. As for the actual CTD, I too haven't had much of it since CB, but after the most recent patch, I had 2 happen pretty close to one another. Did a full uninstall and reinstall of the client and all is right with the world again, at least for me.
#12
Posted 02 May 2013 - 10:00 AM
Of course, none of this excuses us from missing this issue during testing; and for that we definitely apologize. The hotfix for this has made its way all the way to stage, and we are planning to patch this on production tomorrow morning.
#13
Posted 02 May 2013 - 10:08 AM
Karl Berg, on 02 May 2013 - 10:00 AM, said:
Of course, none of this excuses us from missing this issue during testing; and for that we definitely apologize. The hotfix for this has made its way all the way to stage, and we are planning to patch this on production tomorrow morning.
Thanks for the info, and I do understand that errors from time to time get through testing its just the CTD is by far the most frustrating bug of them all. Hopefully this hotfix helps the situation.
#14
Posted 02 May 2013 - 10:20 AM
#15
Posted 02 May 2013 - 11:04 AM
#16
Posted 02 May 2013 - 12:46 PM
Karl Berg, on 02 May 2013 - 10:00 AM, said:
Of course, none of this excuses us from missing this issue during testing; and for that we definitely apologize. The hotfix for this has made its way all the way to stage, and we are planning to patch this on production tomorrow morning.
You guys rock. Don't let anyone tell you otherwise.
#18
Posted 03 May 2013 - 10:02 AM
Thanks!
#19
Posted 03 May 2013 - 10:10 AM
#20
Posted 03 May 2013 - 10:47 AM
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users