Page 1 of 1

[0.10.0] Crash to desktop while auto placing power poles

Posted: Sat Jun 07, 2014 1:18 pm
by Telarin
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 ***

Re: [0.10.0] Crash to desktop while auto placing power poles

Posted: Sat Jun 07, 2014 2:35 pm
by Amenomade
Got the same when I run with auto lv1 pole placement, the game crash if at the maximal distance, their an object on the same case where the pole try to be placed. work with alot of object.

Re: [0.10.0] Crash to desktop while auto placing power poles

Posted: Sat Jun 07, 2014 3:31 pm
by moochoo
Also having this same crash when auto placing small poles.

Re: [0.10.0] Crash to desktop while auto placing power poles

Posted: Sat Jun 07, 2014 7:20 pm
by Balthazar
Trees aren't the problem, i've placed several power lines through forests and it works just fine, but i'm having this problem as well, not just with poles but substations as well. It seems to kick in when the game tries to place the new substation/pole. I've had it happen a few times while i noticed biters were running around. This is a bit of a long shot but maybe it's a problem with the pathfinding trying to access the spot you're building on while it's free, then treating it like free after you build on it causing the error?

Re: [0.10.0] Crash to desktop while auto placing power poles

Posted: Sat Jun 07, 2014 7:33 pm
by muzzy
Crashed while placing a pole as well, but I have symbol information for the devs:

Code: Select all

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000090

Thread 8 Crashed:
0   com.factorio.factorio         	0x00000001001316f7 Entity::collectCollidingItems(InventoryBuffer&) + 23
1   com.factorio.factorio         	0x00000001000a3101 ManualBuilder::buildItem(RealPosition const&, Direction, bool, std::string const&, bool, ID<Force, unsigned char>, ID<EntityPrototype, unsigned short>) + 2561
2   com.factorio.factorio         	0x00000001000a26df CharacterController::buildItem(RealPosition const&, Direction, bool, std::string const&, bool) + 111
3   com.factorio.factorio         	0x00000001001dbf24 GameActionHandler::buildItem(InputAction const&, Controller*) + 340
4   com.factorio.factorio         	0x00000001001d8c70 GameActionHandler::actionPerformed(InputAction const&) + 240
5   com.factorio.factorio         	0x00000001001d917c GameActionHandler::update() + 716
6   com.factorio.factorio         	0x0000000100307bad gameUpdate() + 157

Thread 8 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x0000000000000002  rcx: 0x0000000000000000  rdx: 0x000061800009c680
  rdi: 0x0000000000000000  rsi: 0x000000013f24e9f0  rbp: 0x000000013f24e8c0  rsp: 0x000000013f24e870
   r8: 0x0000000000000040   r9: 0x000000013f24e500  r10: 0x0000000100b305c0  r11: 0x0000000000000008
  r12: 0x000000013f24e9f0  r13: 0x0000000000000000  r14: 0x00000001018458e8  r15: 0x000061000064f300
  rip: 0x00000001001316f7  rfl: 0x0000000000010202  cr2: 0x0000000000000090
That address 0x90 sounds like an attempt to access class member through a null pointer.

Re: [0.10.0] Crash to desktop while auto placing power poles

Posted: Sat Jun 07, 2014 9:55 pm
by Balthazar
Ok, i've had it happen 12 times in a row now so i'm providing my savegame for reproduction. Just keep in mind it is not happening 100% of the time, but placing a diagonal line of substations between the bodies of water is crashing a lot, if it doesn't just reload and try again a few times, it should trigger it. I noticed a lot of them happen with biters chasing after me in the path of the placement, which is why i think it might be related to the path finding.

It's 150MB for some reason though, no idea why :(
http://www.mediafire.com/download/q6qqb ... dcrash.zip

Update; running game.killallenemies() did not prevent another crash, probably not pathfinding.

Re: [0.10.0] Crash to desktop while auto placing power poles

Posted: Sun Jun 08, 2014 4:48 am
by squisher
same crash happening to me twice in a short period of time, with the long-distance poles. once in the middle of some trees, once with no trees but biters chasing me (bots zapping them.)

Re: [0.10.0] Crash to desktop while auto placing power poles

Posted: Sun Jun 08, 2014 12:04 pm
by ficolas
I think it crashes when there is an entity where the power pole should be placed.

Re: [0.10.0] Crash to desktop while auto placing power poles

Posted: Sun Jun 08, 2014 5:09 pm
by _aD
ficolas wrote:I think it crashes when there is an entity where the power pole should be placed.
I wonder if this bug has the same cause. Maybe I'm trying to put down a capsule and there's a reason it cannot be placed?

Re: [0.10.0] Crash to desktop while auto placing power poles

Posted: Mon Jun 09, 2014 11:47 am
by Telarin
muzzy, I'm curious, how did you get your hands on the symbols files? Having them on my machine would make bug reports much more useful.

Re: [0.10.0] Crash to desktop while auto placing power poles

Posted: Mon Jun 09, 2014 11:53 am
by Sander Buruma
IVe had this happen a few times while dragging poles at just the edge of my placement range. This bug can be reproduced by dragging poles behind you so far away that pole blueprint oscillates between being whited out and being blue while dragging. This crashes me every time.

Re: [0.10.0] Crash to desktop while auto placing power poles

Posted: Tue Jun 10, 2014 11:49 am
by muzzy
Telarin wrote:muzzy, I'm curious, how did you get your hands on the symbols files? Having them on my machine would make bug reports much more useful.
the mac build just happens to have symbols still in the executable :D

PS. noo don't remove it devs, I like having symbol information!

Re: [0.10.0] Crash to desktop while auto placing power poles

Posted: Tue Jun 10, 2014 1:46 pm
by slpwnd
Thanks for the report guys (including very precise analysis of what is going on :D). This will be fixed in the 0.10.1.

PS. I was not aware that we have symbol information included in the binary. I will discuss leaving it there with others - especially seeing that it has been useful for you guys to pretty much come up with the solution to the bug report.

Re: [0.10.0] Crash to desktop while auto placing power poles

Posted: Tue Jun 10, 2014 2:17 pm
by _aD
slpwnd wrote:PS. I was not aware that we have symbol information included in the binary. I will discuss leaving it there with others - especially seeing that it has been useful for you guys to pretty much come up with the solution to the bug report.
Definitely makes sense for a beta version. Maybe DICE should consider the same? :-D