[0.10.0] Crash to desktop while auto placing power poles
Posted: Sat Jun 07, 2014 1:18 pm
I have hit this crash twice now and I think I have narrowed down the cause. It seems that if you are running along, auto-placing power poles (I was using medium poles) and hit a point where the game wants to place a pole, but there is a tree in the way, it crashes. Error given in a debugger is:
Unhandled exception at 0x000007f6e3d0dc5c in Factorio.exe: 0xC0000005: Access violation reading location 0x0000000000000090.
Obviously, I don't have symbols for the executable, but the disassembly is:
000007F6E3D0DBB5 ucomisd xmm0,mmword ptr [rax+158h]
000007F6E3D0DBBD jp 000007F6E3D0DBE7
000007F6E3D0DBBF jne 000007F6E3D0DBE7
000007F6E3D0DBC1 movsd xmm0,mmword ptr [rax+150h]
000007F6E3D0DBC9 ucomisd xmm0,mmword ptr [rax+160h]
000007F6E3D0DBD1 jp 000007F6E3D0DBE7
000007F6E3D0DBD3 jne 000007F6E3D0DBE7
000007F6E3D0DBD5 mov rax,qword ptr [rcx]
000007F6E3D0DBD8 call qword ptr [rax+328h]
000007F6E3D0DBDE mov rax,rbx
000007F6E3D0DBE1 add rsp,20h
000007F6E3D0DBE5 pop rbx
000007F6E3D0DBE6 ret
000007F6E3D0DBE7 movsd xmm0,mmword ptr [rcx+50h]
000007F6E3D0DBEC addsd xmm0,mmword ptr [rax+148h]
000007F6E3D0DBF4 movsd mmword ptr [rdx],xmm0
000007F6E3D0DBF8 movsd xmm1,mmword ptr [rax+150h]
000007F6E3D0DC00 addsd xmm1,mmword ptr [rcx+58h]
000007F6E3D0DC05 movsd mmword ptr [rdx+8],xmm1
000007F6E3D0DC0A movsd xmm0,mmword ptr [rax+158h]
000007F6E3D0DC12 addsd xmm0,mmword ptr [rcx+50h]
000007F6E3D0DC17 movsd mmword ptr [rdx+10h],xmm0
000007F6E3D0DC1C movsd xmm1,mmword ptr [rax+160h]
000007F6E3D0DC24 addsd xmm1,mmword ptr [rcx+58h]
000007F6E3D0DC29 movsd mmword ptr [rdx+18h],xmm1
000007F6E3D0DC2E mov eax,dword ptr [rax+168h]
000007F6E3D0DC34 mov dword ptr [rdx+20h],eax
000007F6E3D0DC37 mov rax,rbx
000007F6E3D0DC3A add rsp,20h
000007F6E3D0DC3E pop rbx
000007F6E3D0DC3F ret
000007F6E3D0DC40 push rdi
000007F6E3D0DC42 sub rsp,60h
000007F6E3D0DC46 mov qword ptr [rsp+30h],0FFFFFFFFFFFFFFFEh
000007F6E3D0DC4F mov qword ptr [rsp+70h],rbx
000007F6E3D0DC54 mov qword ptr [rsp+78h],rsi
000007F6E3D0DC59 mov rdi,rdx
*** 000007F6E3D0DC5C test byte ptr [rcx+90h],20h
000007F6E3D0DC63 je 000007F6E3D0DD03
000007F6E3D0DC69 lea r8,[rcx+68h]
000007F6E3D0DC6D mov rdx,qword ptr [rcx+98h]
000007F6E3D0DC74 lea rcx,[rsp+38h]
000007F6E3D0DC79 call 000007F6E3D0EA10
000007F6E3D0DC7E nop
000007F6E3D0DC7F mov rax,qword ptr [rsp+50h]
000007F6E3D0DC84 cmp rax,qword ptr [rsp+40h]
000007F6E3D0DC89 je 000007F6E3D0DCF4
000007F6E3D0DC8B xor esi,esi
000007F6E3D0DC8D nop dword ptr [rax]
000007F6E3D0DC90 mov dword ptr [rsp+20h],esi
000007F6E3D0DC94 lea r9,[7F6E44CF9B0h]
000007F6E3D0DC9B lea r8,[7F6E44E1E70h]
000007F6E3D0DCA2 xor edx,edx
000007F6E3D0DCA4 mov rcx,qword ptr [rax]
000007F6E3D0DCA7 call 000007F6E4234708
000007F6E3D0DCAC mov rbx,rax
000007F6E3D0DCAF test rax,rax
000007F6E3D0DCB2 je 000007F6E3D0DCDF
000007F6E3D0DCB4 mov r10,qword ptr [rdi]
000007F6E3D0DCB7 lea rdx,[rax+0B0h]
000007F6E3D0DCBE xor r9d,r9d
with the error occurring at 000007F6E3D0DC5C marked with ***
Unhandled exception at 0x000007f6e3d0dc5c in Factorio.exe: 0xC0000005: Access violation reading location 0x0000000000000090.
Obviously, I don't have symbols for the executable, but the disassembly is:
000007F6E3D0DBB5 ucomisd xmm0,mmword ptr [rax+158h]
000007F6E3D0DBBD jp 000007F6E3D0DBE7
000007F6E3D0DBBF jne 000007F6E3D0DBE7
000007F6E3D0DBC1 movsd xmm0,mmword ptr [rax+150h]
000007F6E3D0DBC9 ucomisd xmm0,mmword ptr [rax+160h]
000007F6E3D0DBD1 jp 000007F6E3D0DBE7
000007F6E3D0DBD3 jne 000007F6E3D0DBE7
000007F6E3D0DBD5 mov rax,qword ptr [rcx]
000007F6E3D0DBD8 call qword ptr [rax+328h]
000007F6E3D0DBDE mov rax,rbx
000007F6E3D0DBE1 add rsp,20h
000007F6E3D0DBE5 pop rbx
000007F6E3D0DBE6 ret
000007F6E3D0DBE7 movsd xmm0,mmword ptr [rcx+50h]
000007F6E3D0DBEC addsd xmm0,mmword ptr [rax+148h]
000007F6E3D0DBF4 movsd mmword ptr [rdx],xmm0
000007F6E3D0DBF8 movsd xmm1,mmword ptr [rax+150h]
000007F6E3D0DC00 addsd xmm1,mmword ptr [rcx+58h]
000007F6E3D0DC05 movsd mmword ptr [rdx+8],xmm1
000007F6E3D0DC0A movsd xmm0,mmword ptr [rax+158h]
000007F6E3D0DC12 addsd xmm0,mmword ptr [rcx+50h]
000007F6E3D0DC17 movsd mmword ptr [rdx+10h],xmm0
000007F6E3D0DC1C movsd xmm1,mmword ptr [rax+160h]
000007F6E3D0DC24 addsd xmm1,mmword ptr [rcx+58h]
000007F6E3D0DC29 movsd mmword ptr [rdx+18h],xmm1
000007F6E3D0DC2E mov eax,dword ptr [rax+168h]
000007F6E3D0DC34 mov dword ptr [rdx+20h],eax
000007F6E3D0DC37 mov rax,rbx
000007F6E3D0DC3A add rsp,20h
000007F6E3D0DC3E pop rbx
000007F6E3D0DC3F ret
000007F6E3D0DC40 push rdi
000007F6E3D0DC42 sub rsp,60h
000007F6E3D0DC46 mov qword ptr [rsp+30h],0FFFFFFFFFFFFFFFEh
000007F6E3D0DC4F mov qword ptr [rsp+70h],rbx
000007F6E3D0DC54 mov qword ptr [rsp+78h],rsi
000007F6E3D0DC59 mov rdi,rdx
*** 000007F6E3D0DC5C test byte ptr [rcx+90h],20h
000007F6E3D0DC63 je 000007F6E3D0DD03
000007F6E3D0DC69 lea r8,[rcx+68h]
000007F6E3D0DC6D mov rdx,qword ptr [rcx+98h]
000007F6E3D0DC74 lea rcx,[rsp+38h]
000007F6E3D0DC79 call 000007F6E3D0EA10
000007F6E3D0DC7E nop
000007F6E3D0DC7F mov rax,qword ptr [rsp+50h]
000007F6E3D0DC84 cmp rax,qword ptr [rsp+40h]
000007F6E3D0DC89 je 000007F6E3D0DCF4
000007F6E3D0DC8B xor esi,esi
000007F6E3D0DC8D nop dword ptr [rax]
000007F6E3D0DC90 mov dword ptr [rsp+20h],esi
000007F6E3D0DC94 lea r9,[7F6E44CF9B0h]
000007F6E3D0DC9B lea r8,[7F6E44E1E70h]
000007F6E3D0DCA2 xor edx,edx
000007F6E3D0DCA4 mov rcx,qword ptr [rax]
000007F6E3D0DCA7 call 000007F6E4234708
000007F6E3D0DCAC mov rbx,rax
000007F6E3D0DCAF test rax,rax
000007F6E3D0DCB2 je 000007F6E3D0DCDF
000007F6E3D0DCB4 mov r10,qword ptr [rdi]
000007F6E3D0DCB7 lea rdx,[rax+0B0h]
000007F6E3D0DCBE xor r9d,r9d
with the error occurring at 000007F6E3D0DC5C marked with ***