30.06.2015, 12:41
Quote:
Code:
SA-MP 0.3.7 Exception At Address: 0x0040FB80 Base: 0x04280000 Registers: EAX: 0x00000EA0 EBX: 0x008D6264 ECX: 0x00000000 EDX: 0x0055B855 ESI: 0x008E48AC EDI: 0x008E48AC EBP: 0x00000000 ESP: 0x0029FC3C EFLAGS: 0x00210212 Code:
mov edx, [ecx+8] EDX: 0x0055B855 - seems okay and well within GTA reserved memory - should be fine. ECX: 0x00000000 - ops... This is the problem. The CPU doesn't know how to read memory from address 0 since there is no memory at address 0 (at least not readeable by user-space and GTA) - what CPU does when it finds problem? It raises exception which is then later catched by OS (Windows in this case) and OS decides what to do - in this case - it stops executing GTA and leaves informations about what caused exception to occur. Instruction mentioned above would look like this in psedo-C: Code:
v1 = *(_DWORD *)(this + 8); Since it doesn't happen for me in Windows 8.1 or Windows 10 i assume there is a difference between our configurations. Please re-check that all your files are original, you can find checksums for original GTA:SA files on internet. |
Edit: If someone knows where I can find a copy of a SA:MP version previous to 0.3.7, (containing both the client and server), I can test and see if other versions cause the crash on my system with Windows 10 too. I doubt it would make a difference, but it would be interesting to see if this update could be causing it.