Page 1 of 1

[0.17] [linux] Update to 0.17.1 std::bad_alloc

Posted: Tue Feb 26, 2019 11:09 pm
by braiam
Trying to upgrade from 0.17 to .1 results in a soft crash:

Code: Select all

   0.000 2019-02-26 19:01:02; Factorio 0.17.0 (build 42971, linux64, alpha)
   0.131 Operating system: Linux (Debian unstable)
   0.131 Program arguments: "/home/braiam/games/factorio/bin/x64/factorio" 
   0.131 Read data path: /home/braiam/games/factorio/data
   0.131 Write data path: /home/braiam/games/factorio [2682/102400MB]
   0.131 Binaries path: /home/braiam/games/factorio/bin
   0.140 System info: [CPU: AMD Ryzen 3 2200G with Radeon Vega Graphics    , 4 cores, RAM: 13009 MB]
   0.140 Environment: DISPLAY=:0.0, WAYLAND_DISPLAY=<unset>
   0.140 Display options: [FullScreen: 1] [VSync: 1] [UIScale: automatic (100.0%)] [MultiSampling: OFF] [Screen: 255] [Lang: en]
   0.222 Available displays: 1
   0.222  [0]: DELL S2419NX 24" - {[0,0], 1920x1080, SDL_PIXELFORMAT_RGB888, 60Hz}
   0.270 Initialised OpenGL:[0] AMD RAVEN (DRM 3.27.0, 4.20.0-trunk-amd64, LLVM 7.0.1); driver: 4.5 (Core Profile) Mesa 18.3.4
   0.270   [Extensions] s3tc:yes; KHR_debug:yes; ARB_clear_texture:yes, ARB_copy_image:yes
   0.270   [Version] 4.5
   0.287 Graphics settings preset: very-high
   0.287   Dedicated video memory size 3072 MB
   0.287 Graphics options: [Graphics quality: high] [Video memory usage: all] [Light scale: 25%] [DXT: high-quality]
   0.287                   [Max load threads: 32] [Max texture size: 0] [Tex.Stream.: 0] [Low quality rotation: 0]
   0.593 Loading mod core 0.0.0 (data.lua)
   0.662 Loading mod base 0.17.0 (data.lua)
   0.830 Loading mod base 0.17.0 (data-updates.lua)
   0.912 Checksum for core: 3857511955
   0.912 Checksum of base: 738832761
   1.304 Loading sounds...
   1.324 Info PlayerData.cpp:67: Local player-data.json available, timestamp 1551221858
   1.324 Info PlayerData.cpp:74: Cloud player-data.json unavailable
   1.401 Initial atlas bitmap size is 16384
   1.421 Created atlas bitmap 16384x16384 [none]
   1.425 Created atlas bitmap 16384x11340 [none]
   1.426 Created atlas bitmap 16384x2116 [decal]
   1.427 Created atlas bitmap 16384x3808 [low-object]
   1.428 Created atlas bitmap 16384x1888 [mipmap, linear-minification, linear-magnification, linear-mip-level]
   1.429 Created atlas bitmap 16384x6592 [terrain, mipmap, linear-minification, linear-mip-level, no-crop]
   1.429 Created atlas bitmap 16384x480 [smoke, mipmap, linear-minification, linear-magnification]
   1.430 Created atlas bitmap 16384x456 [not-compressed, mipmap, linear-minification, linear-magnification, linear-mip-level, no-crop, no-scale]
   1.430 Created atlas bitmap 16384x748 [alpha-mask]
   1.433 Created atlas bitmap 16384x12632 [shadow, linear-magnification, alpha-mask]
   1.433 Created atlas bitmap 16384x1264 [shadow, mipmap, linear-magnification, alpha-mask]
   1.855 Parallel Sprite Loader initialized (threads: 3)
  22.722 Sprites loaded
  23.005 Generated mipmaps for atlas of size 16384x3808
  23.087 Generated mipmaps for atlas of size 16384x1888
  23.156 Generated mipmaps for atlas of size 16384x6592
  23.189 Generated mipmaps for atlas of size 16384x480
  23.222 Generated mipmaps for atlas of size 16384x456
  23.236 Generated mipmaps for atlas of size 16384x1264
  23.287 Custom inputs active: 0
  23.344 Factorio initialised
  23.345 Info HttpSharedState.cpp:54: Downloading https://updater.factorio.com/updater/get-available-versions?username=braiam&token=<private>&apiVersion=2
  24.071 Info HttpSharedState.cpp:147: Status code: 200
  24.072 1 packages available to download (experimental updates enabled).
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc
  30.080 Warning Logger.cpp:491: Symbols.size() == 33, usedSize == 19
Factorio crashed. Generating symbolized stacktrace, please wait ...
Raw stacktrace: 0x9e6c41, 0xb4d76c, 0xb4db1d, 0xb4db79, 0x37940, 0, 0xb, 0x51195b, 0x17a43f6, 0x17a4431, 0x17a47f6, 0x506480, 0xf0d936, 0xf0e5d0, 0xf0f643, 0xf0fa2e, 0x51e2dc, 0, 0x52bf2e
  34.637 Warning Logger.cpp:491: Symbols.size() == 28, usedSize == 18
#0  0x0000000000b4d76c in GlobalContext::getMap() at /tmp/factorio-build-ZGr0e1/src/GlobalContext.cpp:1730
#1  0x0000000000b4db1d in CrashHandler::writeStackTrace(CrashHandler::CrashReason) at /tmp/factorio-build-ZGr0e1/src/Util/CrashHandler.cpp:173
#2  0x0000000000b4db79 in CrashHandler::commonSignalHandler(int) at /tmp/factorio-build-ZGr0e1/src/Util/CrashHandler.cpp:518
#3  0x0000000000037940 in CrashHandler::SignalHandler(int) at /tmp/factorio-build-ZGr0e1/src/Util/CrashHandler.cpp:532
#4  (nil) in ?? at ??:0
#5  0x000000000000000b in ?? at ??:0
#6  0x000000000051195b in ?? at ??:0
#7  0x00000000017a43f6 in __gnu_cxx::__verbose_terminate_handler() [clone .cold.1] at blake2s.c:?
#8  0x00000000017a4431 in __cxxabiv1::__terminate(void (*)()) at ??:?
#9  0x00000000017a47f6 in std::terminate() at ??:?
#10 0x0000000000506480 in __cxa_rethrow at ??:?
#11 0x0000000000f0d936 in void std::_Destroy<Updater::AvailableUpdate>(Updater::AvailableUpdate*) at /usr/include/c++/8/bits/stl_construct.h:98
#12 0x0000000000f0e5d0 in void std::_Destroy_aux<false>::__destroy<Updater::AvailableUpdate*>(Updater::AvailableUpdate*, Updater::AvailableUpdate*) at /usr/include/c++/8/bits/stl_construct.h:108
#13 0x0000000000f0f643 in void std::_Destroy<Updater::AvailableUpdate*>(Updater::AvailableUpdate*, Updater::AvailableUpdate*) at /usr/include/c++/8/bits/stl_construct.h:137
#14 0x0000000000f0fa2e in Updater::AvailableUpdate* std::__uninitialized_copy<false>::__uninit_copy<__gnu_cxx::__normal_iterator<Updater::AvailableUpdate const*, std::vector<Updater::AvailableUpdate, std::allocator<Updater::AvailableUpdate> > >, Updater::AvailableUpdate*>(__gnu_cxx::__normal_iterator<Updater::AvailableUpdate const*, std::vector<Updater::AvailableUpdate, std::allocator<Updater::AvailableUpdate> > >, __gnu_cxx::__normal_iterator<Updater::AvailableUpdate const*, std::vector<Updater::AvailableUpdate, std::allocator<Updater::AvailableUpdate> > >, Updater::AvailableUpdate*) at /usr/include/c++/8/bits/stl_uninitialized.h:88
#15 0x000000000051e2dc in Updater::AvailableUpdate* std::uninitialized_copy<__gnu_cxx::__normal_iterator<Updater::AvailableUpdate const*, std::vector<Updater::AvailableUpdate, std::allocator<Updater::AvailableUpdate> > >, Updater::AvailableUpdate*>(__gnu_cxx::__normal_iterator<Updater::AvailableUpdate const*, std::vector<Updater::AvailableUpdate, std::allocator<Updater::AvailableUpdate> > >, __gnu_cxx::__normal_iterator<Updater::AvailableUpdate const*, std::vector<Updater::AvailableUpdate, std::allocator<Updater::AvailableUpdate> > >, Updater::AvailableUpdate*) at /usr/include/c++/8/bits/stl_uninitialized.h:134
#16 (nil) in Updater::AvailableUpdate* std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator<Updater::AvailableUpdate const*, std::vector<Updater::AvailableUpdate, std::allocator<Updater::AvailableUpdate> > >, Updater::AvailableUpdate*, Updater::AvailableUpdate>(__gnu_cxx::__normal_iterator<Updater::AvailableUpdate const*, std::vector<Updater::AvailableUpdate, std::allocator<Updater::AvailableUpdate> > >, __gnu_cxx::__normal_iterator<Updater::AvailableUpdate const*, std::vector<Updater::AvailableUpdate, std::allocator<Updater::AvailableUpdate> > >, Updater::AvailableUpdate*, std::allocator<Updater::AvailableUpdate>&) at /usr/include/c++/8/bits/stl_uninitialized.h:289
#17 0x000000000052bf2e in std::vector<Updater::AvailableUpdate, std::allocator<Updater::AvailableUpdate> >::vector(std::vector<Updater::AvailableUpdate, std::allocator<Updater::AvailableUpdate> > const&) at /usr/include/c++/8/bits/stl_vector.h:463
#18 (nil) in Updater::Result::Result(Updater::Result const&) at /tmp/factorio-build-ZGr0e1/src/Updater.hpp:132
#19 (nil) in InDownloadingUpdatesGui::InDownloadingUpdatesGui(Updater::Result) at /tmp/factorio-build-ZGr0e1/src/AppManagerStates.hpp:1133
#20 (nil) in InUpdaterGui::process(AppManager*) at /tmp/factorio-build-ZGr0e1/src/AppManagerStates.cpp:2716
#21 (nil) in AppManager::process() at /tmp/factorio-build-ZGr0e1/src/AppManager.cpp:221
#22 (nil) in MainLoop::prePrepare() at /tmp/factorio-build-ZGr0e1/src/MainLoop.cpp:449
#23 (nil) in MainLoop::mainLoopStep(WorkerThread&, MainLoop::HeavyMode) at /tmp/factorio-build-ZGr0e1/src/MainLoop.cpp:537
#24 (nil) in MainLoop::run(Filesystem::Path const&, Filesystem::Path const&, bool, bool, std::function<void ()>, Filesystem::Path const&, MainLoop::HeavyMode) at /tmp/factorio-build-ZGr0e1/src/MainLoop.cpp:349
#25 (nil) in main at /tmp/factorio-build-ZGr0e1/src/Main.cpp:1244 (discriminator 3)
#26 (nil) in ?? at ??:0
#27 (nil) in _start at ??:?
Stack trace logging done
  34.638 Error Util.cpp:89: Unexpected error occurred. If you're running the latest version of the game you can help us solve the problem by posting the contents of the log file on the Factorio forums.
Please also include the save file(s), any mods you may be using, and any steps you know of to reproduce the crash.
  36.941 Uploading log file
  36.949 Error CrashHandler.cpp:487: Unhandled exception type: St9bad_alloc
  36.950 Error CrashHandler.cpp:494: Unhandled exception: std::bad_alloc
Trying to update it manually right now, stuck in a infinite loop viewtopic.php?f=7&t=65273

Re: [0.17] [linux] Update to 0.17.1 std::bad_alloc

Posted: Wed Feb 27, 2019 12:11 am
by cjo9900
Similar stack trace when upgrading on Linux Mint 17.3

Log file attached

Repeatable tried twice with the same error and stack trace.
Steps to reproduce:
Prior to 0.17.1 being avaliable
Install [0.17.0] by unziping tarball
Start game and enter user login details.
Settings/Other -> Enable experimental updates
Exit game

Start game
Automatic updates notification shown
Mod core-linu64 Installed 0.17.0 0.17.1

Select Update Now
Downloading dialog shown then Unexpected error message shown.

Re: [0.17] [linux] Update to 0.17.1 std::bad_alloc

Posted: Wed Feb 27, 2019 12:12 am
by Omnifarious
Same basic problem, somewhat different crash log:
factorio-current.log
Log from run resulting in crash
(7.77 KiB) Downloaded 178 times
iI'm using Fedora 29 with Wayland on a Ryzen 7 gen 2.

Re: [0.17] [linux] Update to 0.17.1 std::bad_alloc

Posted: Wed Feb 27, 2019 12:19 am
by dgw
Ubuntu 18.04 crashed twice in a row after clicking the "Update now" button in 0.17.0. The GUI freezes with the "Update now" button highlighted/pressed, then the "Unexpected error" dialog appears. The GUI does not make it to the "Downloading" state.

I don't seem to have a friendly crash reason like a bad_alloc, though.

Logs of both crashes attached.

Re: [0.17] [linux] Update to 0.17.1 std::bad_alloc

Posted: Wed Feb 27, 2019 7:18 am
by Ayamari
Same here. Latest updates on Ubuntu 18.04 trying to update from 0.17.0 to 0.17.1 always crashes.
If I click "Update now" on the popup on startup I get std::bad_alloc. If I select "Ask me later" then go to "About" -> "Check updates" and "Update now" I get a SIGSEGV instead.

Code: Select all

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.2 LTS
Release:	18.04
Codename:	bionic

Re: [0.17] [linux] Update to 0.17.1 std::bad_alloc

Posted: Wed Feb 27, 2019 2:00 pm
by Oxyd
Thanks, fixed in 0.17.2.

Re: [0.17] [linux] Update to 0.17.1 std::bad_alloc

Posted: Wed Feb 27, 2019 3:32 pm
by wolletd
Does fixed mean I can update from .0 to .2 upon release or do I have to download the full release?

Re: [0.17] [linux] Update to 0.17.1 std::bad_alloc

Posted: Wed Feb 27, 2019 3:35 pm
by Oxyd
The problem is in the game client, so .0 and .1 will forever keep crashing. You'll have to download the full package.

Re: [0.17] [linux] Update to 0.17.1 std::bad_alloc

Posted: Wed Feb 27, 2019 5:48 pm
by linearj
Oxyd wrote: Wed Feb 27, 2019 3:35 pm The problem is in the game client, so .0 and .1 will forever keep crashing. You'll have to download the full package.
Can you post these instructions somewhere? How do I update an installed 0.17.0 without using the built-in updater?
I tried to download, but the account login isn't working: just copied same u/p from my keepass that the game uses to connect into the factorio login page, and it keeps telling me invalid username or password

Re: [0.17] [linux] Update to 0.17.1 std::bad_alloc

Posted: Thu Feb 28, 2019 1:29 am
by Omnifarious
linearj wrote: Wed Feb 27, 2019 5:48 pm Can you post these instructions somewhere? How do I update an installed 0.17.0 without using the built-in updater?
I tried to download, but the account login isn't working: just copied same u/p from my keepass that the game uses to connect into the factorio login page, and it keeps telling me invalid username or password
I wouldn't recommend doing this unless you understand the Linux command line pretty well, but...

I used

Code: Select all

find factorio -type f -exec stat -c '%Y %n' '{}' '+' | sort -n | tail -60 | awk '{print $2;}' | tar -cf my-data.tar -T -
or something similar to save everything that was mine. This won't work well if you have spaces in your save file names.

Unfortunately, tar appears to set the modified timestamp to something fairly recent when it untars Factorio, so that may work poorly for you. It worked great for me because I initially did a completely clean install and played Factorio that way without having any data existing before the install.