[0.8.x] Factorio hangs on load
Posted: Tue Dec 24, 2013 7:48 pm
Hi guys!
Here is one probably quite rare ocuring bug but bug nonetheless. It probably won't be easy to track it down as it happens only under certain conditions. More detailed explanation of these conditions below.
If Factorio can't sucsessfully conect to server to check if there are any updates available (blocked by firewall or the internet conection goes down) it will cylce itself up in waiting for server reply and simply stays at loading screen with fully filed progressbar.
With the use of Process Explorer I have created memory Minidump. Check provided "Factorio MiniDump 1.dmp" to see at which status is Factorio at that time.
https://dl.dropboxusercontent.com/u/653 ... mp%201.dmp
So I then have to forcefully kill the Factorio as it can't be closed in normal ways (ALT+F4).
But here another bug presents. Factorio never gets completly killed. It seems that one thread, probably the one waiting for network reply doesn't get terminated. Check provided screenshot from Process Explorer "Factorio Threads Status.png"
https://dl.dropboxusercontent.com/u/653 ... Status.png
I have used Process Explorer again to create both Minidump and FullDump at this point. So check provided "Factorio MiniDump 2.dmp".
https://dl.dropboxusercontent.com/u/653 ... mp%202.dmp
So what are the conditions under which this bug apears:
1. There is available internet connection at application start
2. Internet connection gets terminated or blocked by firewall after the application has been started and before check for new updates.
On my computer this happens everytime I update Factorio to newer version. Why? I use Eset Smart Security which incroporates both AntiVirus software as Firewall in one. And one nice feature of this firewall is that it is able to recognize when there was any change made to the executable of a program which has been added to Firewall rule list.
In case of most other application Eset Smart Security reminds me that there has been a change made to such program and then asks me to confirm that this program can comunicates to the internet.
But for some reason when Factorio tries to connect to update server my Firewall doesn't registers this as an network comunication atemp but strictly folows existing rules. If thre is alowed rule for Factorio already made it alows it to comunicate through the network but if there is no rule for Factorio it blocks it straight away.
I use interactive mode on my Firewall so it asks me for any new connection atempt and Factorio is currently the only application which doesn't trigger the firewall to ask me for permisions to alow or deny network trafic for Factorio. I don't know why.
My system:
WIndows 7 64 bit
ESET Smart Security 5
Factorio installed on D:\Igre\Factorio so it is not afected by Windows UAC or DEP.
I use installer version of Factorio
If you need any more information please let me know and I'll try to provide it.
BTW Which aproach does Factorio use for comunicating with Update server?
This information would come in handy to me to figuure out why my Firewall doesn't request confirmation when Factorio tries to do network comunication with Update server.
Here is one probably quite rare ocuring bug but bug nonetheless. It probably won't be easy to track it down as it happens only under certain conditions. More detailed explanation of these conditions below.
If Factorio can't sucsessfully conect to server to check if there are any updates available (blocked by firewall or the internet conection goes down) it will cylce itself up in waiting for server reply and simply stays at loading screen with fully filed progressbar.
With the use of Process Explorer I have created memory Minidump. Check provided "Factorio MiniDump 1.dmp" to see at which status is Factorio at that time.
https://dl.dropboxusercontent.com/u/653 ... mp%201.dmp
So I then have to forcefully kill the Factorio as it can't be closed in normal ways (ALT+F4).
But here another bug presents. Factorio never gets completly killed. It seems that one thread, probably the one waiting for network reply doesn't get terminated. Check provided screenshot from Process Explorer "Factorio Threads Status.png"
https://dl.dropboxusercontent.com/u/653 ... Status.png
I have used Process Explorer again to create both Minidump and FullDump at this point. So check provided "Factorio MiniDump 2.dmp".
https://dl.dropboxusercontent.com/u/653 ... mp%202.dmp
So what are the conditions under which this bug apears:
1. There is available internet connection at application start
2. Internet connection gets terminated or blocked by firewall after the application has been started and before check for new updates.
On my computer this happens everytime I update Factorio to newer version. Why? I use Eset Smart Security which incroporates both AntiVirus software as Firewall in one. And one nice feature of this firewall is that it is able to recognize when there was any change made to the executable of a program which has been added to Firewall rule list.
In case of most other application Eset Smart Security reminds me that there has been a change made to such program and then asks me to confirm that this program can comunicates to the internet.
But for some reason when Factorio tries to connect to update server my Firewall doesn't registers this as an network comunication atemp but strictly folows existing rules. If thre is alowed rule for Factorio already made it alows it to comunicate through the network but if there is no rule for Factorio it blocks it straight away.
I use interactive mode on my Firewall so it asks me for any new connection atempt and Factorio is currently the only application which doesn't trigger the firewall to ask me for permisions to alow or deny network trafic for Factorio. I don't know why.
My system:
WIndows 7 64 bit
ESET Smart Security 5
Factorio installed on D:\Igre\Factorio so it is not afected by Windows UAC or DEP.
I use installer version of Factorio
If you need any more information please let me know and I'll try to provide it.
BTW Which aproach does Factorio use for comunicating with Update server?
This information would come in handy to me to figuure out why my Firewall doesn't request confirmation when Factorio tries to do network comunication with Update server.