(05-14-2018, 08:24 PM)degasus Wrote: Maybe we violate something in the ABI specs and some windows syscall overwrites our stack. We use the stack in a non-common way, with propper stack guards or anything similiar.
Yes indeed - at the moment i am trending to some data corruption, either globals or stack.
Currently i am writing out 2 kind of logs:
[color=#000000]1) [/color][color=#000000]e:\dolphin-master-org\dolphin\source\core\core\powerpc\jitarm64\jit.cpp:562 D[JIT] ....along with full PPC state.[/color]
From what i understand this log is written each time a new Jit-Block is generated.
[color=#000000]2) [color=#000000]e:\dolphin-master-org\dolphin\source\core\core\memtools.cpp:39 N[JIT]: EXCEPTION: CODE:c0000005 ACCESSTYPE: 0 BADADDRESS:00000002CC005020[/color][/color]
T[color=#000000][color=#000000][color=#111111]his is written on each exception and is typically handled by fastmem_handler, which inserts a trampoline to the proper C-functions - i intensively reviewed most of the code and could not find anything suspicious.[/color][/color][/color]
[color=#000000][color=#000000]The crashes happens undeterministically. Sometimes it runs for up to 3000 log lines and literally one run later i crashes after log line 400 or so....and from quick checks up to this everything is ok/identical. So it must have something to do with address layout ,which is different each run (i guess partly due to ASLR).[/color][/color]
[color=#000000][color=#000000]My biggest problem, since each crash is different, i cannot set proper breakpoints beforehand - and after the crash i do not have much insights what happened.[/color][/color]
[color=#000000][color=#000000]I assume i need to write out much more logs/traces...any idea which would be helpful?[/color][/color]