Page 1 of 1

[0.12.6][Oxyd] Crash trying to write to protected config.ini

Posted: Tue Sep 01, 2015 1:35 pm
by lyallp
Software version info is in the dump, below :)
Gentoo Linux, amd64

I tried to change my volume (which, in the system version of the config, is off), and on exit, the crash is generated.
Obviously, my volume change setting does not 'stick'.

I sort of expect that either Factorio silently fails or puts up a dialog saying that my settings are not saved.

I generally would not have noticed as I use a GUI (Fluxbox) to start Factorio, but when I do an update, I have to run Factorio as 'root', so it can update the shared components. I had an issue with initialising sound as root and was checking to see if the same problem existed under my unprivileged account when I noticed this crash.

It's been quite a while since I had the sound turned on and was quite impressed by what I heard :)

Config file (the important part)

Code: Select all

[path]
read-data=__PATH__executable__/../../data
write-data=.local/share/factorio
[general]
locale=en
[debug]
show_fps=basic

Code: Select all

lyall@lyalls-pc ~ 
$ /usr/local/factorio/bin/x64/factorio 
   0.000 2015-09-01 22:57:05; Factorio 0.12.6 (Build 16640, linux64)
   0.000 Operating system: Linux
   0.000 Program arguments: "/usr/local/factorio/bin/x64/factorio" 
   0.000 Read data path: /usr/local/factorio/data
   0.000 Write data path: .local/share/factorio
   0.000 Binaries path: /usr/local/factorio/bin
   0.149 Initialised OpenGL: GeForce GTX 660/PCIe/SSE2; driver: 4.5.0 NVIDIA 352.30
   0.201 Graphics options: [FullScreen: false] [VSync: true] [UIScale: 100%] [MultiSampling: OFF] [Graphics quality: normal] [Video memory usage: all] [Screen: 255]
   0.238 Loading mod core 0.0.0 (data.lua)
   0.241 Loading mod base 0.12.6 (data.lua)
   0.969 Initial atlas bitmap size is 16384
   0.973 Created atlas bitmap 16384x7662
  10.885 Info Updater.cpp:720: Downloading https://www.factorio.com/updater/get-available-versions?username=lyallp&token=<private>&apiVersion=2
  12.243 Authorization error (Invalid username or token.)
  12.286 Factorio initialised
  17.913 Info Updater.cpp:720: Downloading https://www.factorio.com/updater/get-token?username=lyallp&apiVersion=2
  19.508 Info Updater.cpp:720: Downloading https://www.factorio.com/updater/get-available-versions?username=lyallp&token=<private>&apiVersion=2
  20.861 0 packages available to download (experimental updates enabled).
terminate called after throwing an instance of 'boost::filesystem::filesystem_error'
  what():  boost::filesystem::copy_file: Permission denied: ".local/share/factorio/config.ini", "/usr/local/factorio/config/config.ini"
  32.093 Warning Logger.cpp:315: Symbols.size() == 20, usedSize == 16
Factorio crashed. Generating symbolized stacktrace, please wait ...
  32.814 Warning Logger.cpp:315: Symbols.size() == 19, usedSize == 15
#0  0x3000834ee0 in ?? at ??:0
#1  0x3000834e67 in ?? at ??:0
#2  0x30008361ca in ?? at ??:0
#3  0xe2234d in __gnu_cxx::__verbose_terminate_handler() at ??:?
#4  0xd95026 in __cxxabiv1::__terminate(void (*)()) at ??:?
#5  0xe21fc9 in __cxa_call_terminate at ??:?
#6  0xd96975 in __gxx_personality_v0 at ??:?
#7  0x3001c0f603 in ?? at ??:0
#8  0x3001c0fb29 in ?? at ??:0
#9  0x7422a2 in std::string::_Rep::_M_dispose(std::allocator<char> const&) at /usr/include/c++/5/bits/basic_string.h:2633 (discriminator 1)
#10 0x9cf8f1 in _ZNSsD4Ev at /usr/include/c++/5/bits/basic_string.h:2940 (discriminator 1)
#11 0xa12e05 in _ZN5boost10filesystem4pathD4Ev at /home/build/build_environment/boost_1_58_0/output_linux64/include/boost/filesystem/path.hpp:55 (discriminator 1)
#12 0xa6563f in orderToSaveConfig at /tmp/factorio-ZMfMGa/src/GlobalContext.cpp:874 (discriminator 1)
#13 0x3000821aa5 in clearResources at /tmp/factorio-ZMfMGa/src/GlobalContext.cpp:439
#14 0x40a389 in _ZN13GlobalContextD4Ev at /tmp/factorio-ZMfMGa/src/GlobalContext.cpp:494
  32.814 Error Util.cpp:46: Unexpected error occurred. You can help us to solve the problem by posting the contents of the log file on the Factorio forums.
lyall@lyalls-pc ~ 

Re: [0.12.6][Oxyd] Crash trying to write to protected config.ini

Posted: Wed Sep 02, 2015 2:16 pm
by Oxyd
Well, 0.12.7 won't crash any more, but there won't be any GUI popup telling you about it either – just an error in the log. Reason being that when the config is being written, Factorio is already in a rather deinitialised state, so displaying anything in the GUI becomes fairly non-trivial.

I might be able to get an error dialog into 0.13. For now, this is resolved as the crash is gone.