Result is exactly the same between platforms, linux collects the broken process almost immediately however.
[15.9+] Hang/KILL when maximising window
-
- Inserter
- Posts: 37
- Joined: Fri Nov 25, 2016 4:26 am
- Contact:
[15.9+] Hang/KILL when maximising window
... with the achievements display open. Basically all you need to do is load a world > open achievements list > shrink the game window (if it isn't already) and then maximise the window and boom! game locks up and eventually gets collected/terminated by windows (ie; "application has stopped responding"/"encountered a problem...")
Havn't tested linux yet but I would assume the condition is the same.
Result is exactly the same between platforms, linux collects the broken process almost immediately however.
Result is exactly the same between platforms, linux collects the broken process almost immediately however.
Last edited by Paul17041993 on Mon May 15, 2017 1:35 am, edited 1 time in total.
Re: [.15] Hang when maximising the window...
Post the log please, see my signature.
-
- Inserter
- Posts: 37
- Joined: Fri Nov 25, 2016 4:26 am
- Contact:
Re: [.15] Hang when maximising the window...
There's nothing logged at the time of hanging, due to it being a hang and not a crash.
Is the logging system on a separate thread alongside a watchdog? because you need these to debug hang conditions, without triggering the event yourself with the debugger attached (of which the log and watch threads are in the debugger instead).
Is the logging system on a separate thread alongside a watchdog? because you need these to debug hang conditions, without triggering the event yourself with the debugger attached (of which the log and watch threads are in the debugger instead).
- Attachments
-
- factorio-previous.log
- log from hang
- (2.65 KiB) Downloaded 160 times
-
- Inserter
- Posts: 37
- Joined: Fri Nov 25, 2016 4:26 am
- Contact:
Re: [15.9+] Hang/KILL when maximising window
Double-post for linux update, bug still exists in 15.10, it also seems to be possible for a crash/KILL to not occur if the window was already close to the maximised size when performing the maximise...
Again, nothing useful logged to file and any crash files, dumps or kernel logs are non-existant, seems to be a case of an ASSERT? (if you are using asserts in your code, you need to stop and remove all of them as they're just bad to use, period...)
Again, nothing useful logged to file and any crash files, dumps or kernel logs are non-existant, seems to be a case of an ASSERT? (if you are using asserts in your code, you need to stop and remove all of them as they're just bad to use, period...)
- Attachments
-
- factorio-current.log
- linux log before KILL
- (4.55 KiB) Downloaded 165 times
Re: [15.9+] Hang/KILL when maximising window
That's not how asserts work. If we left asserts enabled in the release build and one failed it would halt at that line of code and terminate the program - not hang it. As for the freeze I'll look into it.Paul17041993 wrote:Double-post for linux update, bug still exists in 15.10, it also seems to be possible for a crash/KILL to not occur if the window was already close to the maximised size when performing the maximise...
Again, nothing useful logged to file and any crash files, dumps or kernel logs are non-existant, seems to be a case of an ASSERT? (if you are using asserts in your code, you need to stop and remove all of them as they're just bad to use, period...)
If you want to get ahold of me I'm almost always on Discord.
Re: [15.9+] Hang/KILL when maximising window
Thanks for the report. It's now fixed for the next version of 0.15.
If you want to get ahold of me I'm almost always on Discord.
-
- Inserter
- Posts: 37
- Joined: Fri Nov 25, 2016 4:26 am
- Contact:
Re: [15.9+] Hang/KILL when maximising window
It varies with implementation actually, it can either be a one-line 'exit(1);' call (I think this is the default for C) or it can make a call to the OS signalling an assert (which is the default for windows last I checked, and likely why there's a debug option).Rseding91 wrote: That's not how asserts work. If we left asserts enabled in the release build and one failed it would halt at that line of code and terminate the program - not hang it.
Just don't use asserts, they're lazy, unhelpful and you don't ever need them. Use a crash handler, which can be as simple as a few lines of code that prints a link to the source line, stack and dumps it to a file. C++ has exception handling that can be used and you could make a full-fledged crash logger like minecraft's if you wanted.