[1.1.34] Crash in scenario with character in locomotive (VehiclePassenger::setPositionWithoutMapRegistration)

This subforum contains all the issues which we already resolved.
Post Reply
kitcat
Long Handed Inserter
Long Handed Inserter
Posts: 66
Joined: Wed Apr 26, 2017 3:11 pm
Contact:

[1.1.34] Crash in scenario with character in locomotive (VehiclePassenger::setPositionWithoutMapRegistration)

Post by kitcat »

What happens?
The game crashes when trying to play a scenario that was saved with the “player” inside a locomotive.

How to reproduce the crash
* Alternative 1: Edit the attached scenario and click “Play” or “Tick once”. The attached log file is from this alternative.
* Alternative 2: Try to play the attached scenario via “New game”. Please note that with this alternative, the game crashes so hard that it won’t produce a useful stack trace.

How to reproduce the crashing scenario
* Create a new Sandbox scenario in the editor.
* Place some rails and a locomotive.
* Enter the locomotive.
* Save.
Note: Doing this with a new Freeplay scenario also produces a crash, but it never produced a useful stack trace for me.

How reproducible is it?
Always.

Worthy of note
When opening the broken scenario in the editor, it is possible to move around, so the “player” is not inside the locomotive even though the scenario was saved with the “player” inside.

Code: Select all

  19.524 Error CrashHandler.cpp:633: Received SIGSEGV
Factorio crashed. Generating symbolized stacktrace, please wait ...
Raw stacktrace: 0xd266a7, 0xf0e1ad, 0xd7e0c5, 0xd7e751, 0xd7e809, 0x33060, 0xe3c0d2, 0x1a4e2f5, 0x12d383a, 0x12d3b8d, 0x12d4208, 0x12d4657, 0x12d81ab, 0x13147a4, 0x1314aa1, 0xd3d851, 0x200fe40, 0x74a4, 0
  74.372 Warning Logger.cpp:526: Symbols.size() == 30, usedSize == 18
#0  0x0000000000f0e1ad in std::__uniq_ptr_impl<LoggerFileWriteStream, std::default_delete<LoggerFileWriteStream> >::_M_ptr() const at /home/build/gcc-9.2/include/c++/9.2.0/bits/unique_ptr.h:154
#1  0x0000000000d7e0c5 in std::unique_ptr<LoggerFileWriteStream, std::default_delete<LoggerFileWriteStream> >::get() const at /home/build/gcc-9.2/include/c++/9.2.0/bits/unique_ptr.h:353
#2  0x0000000000d7e751 in std::unique_ptr<LoggerFileWriteStream, std::default_delete<LoggerFileWriteStream> >::operator->() const at /home/build/gcc-9.2/include/c++/9.2.0/bits/unique_ptr.h:347
#3  0x0000000000d7e809 in Logger::flush() at /tmp/factorio-build-J5waGd/src/Util/Logger.cpp:566
#4  0x0000000000033060 in Logger::logStacktrace(StackTraceInfo*) at /tmp/factorio-build-J5waGd/src/Util/Logger.cpp:552
#5  0x0000000000e3c0d2 in GlobalContext::getMap() at /tmp/factorio-build-J5waGd/src/GlobalContext.cpp:2048
#6  0x0000000001a4e2f5 in CrashHandler::writeStackTrace(CrashHandler::CrashReason) at /tmp/factorio-build-J5waGd/src/Util/CrashHandler.cpp:188
#7  0x00000000012d383a in CrashHandler::commonSignalHandler(int) at /tmp/factorio-build-J5waGd/src/Util/CrashHandler.cpp:635
#8  0x00000000012d3b8d in CrashHandler::SignalHandler(int) at /tmp/factorio-build-J5waGd/src/Util/CrashHandler.cpp:650
#9  0x00000000012d4208 in ?? at ??:0
#10 0x00000000012d4657 in VehiclePassenger::setPositionWithoutMapRegistration(MapPosition const&) at /tmp/factorio-build-J5waGd/src/Entity/Vehicle.cpp:83
#11 0x00000000012d81ab in Vehicle::update() at /tmp/factorio-build-J5waGd/src/Entity/Vehicle.cpp:289
#12 0x00000000013147a4 in void EntityOrderHelpers::EntityOrderList<LogisticRobot, ConstructionRobot, Inserter, Roboport, HeatPipe, Loader, AssemblingMachine, Furnace, MiningDrill, FluidWagon, ArtilleryWagon, CargoWagon, Locomotive, Character, Boiler, Generator, BurnerGenerator, Reactor, Lab, LandMine, ArithmeticCombinator, ArtilleryFlare, ArtilleryProjectile, ArtilleryTurret, Beam, Car, SpiderVehicle, CharacterCorpse, CombatRobot, Corpse, DeciderCombinator, ElectricEnergyInterface, EnemySpawner, Explosion, FireFlame, FlameThrowerExplosion, FluidStream, FluidTurret, FlyingText, Gate, HeatInterface, HighlightBoxEntity, InfinityContainer, InfinityPipe, ItemRequestProxy, OffshorePump, ParticleSource, PowerSwitch, Projectile, Pump, Radar, ProgrammableSpeaker, RocketSilo, RocketSiloRocket, SimpleSmoke, SmokeWithTrigger, SpeechBubble, Sticker, Turret, Unit>::update<Locomotive>(EntityOrderHelpers::ActiveEntitiesEntry&, IntrusiveListIterator<UpdatableEntity, void, false>&) at /tmp/factorio-build-J5waGd/src/Surface/ActiveEntitiesOrder.hpp:119
#13 0x0000000001314aa1 in EntityOrderHelpers::EntityOrderList<LogisticRobot, ConstructionRobot, Inserter, Roboport, HeatPipe, Loader, AssemblingMachine, Furnace, MiningDrill, FluidWagon, ArtilleryWagon, CargoWagon, Locomotive, Character, Boiler, Generator, BurnerGenerator, Reactor, Lab, LandMine, ArithmeticCombinator, ArtilleryFlare, ArtilleryProjectile, ArtilleryTurret, Beam, Car, SpiderVehicle, CharacterCorpse, CombatRobot, Corpse, DeciderCombinator, ElectricEnergyInterface, EnemySpawner, Explosion, FireFlame, FlameThrowerExplosion, FluidStream, FluidTurret, FlyingText, Gate, HeatInterface, HighlightBoxEntity, InfinityContainer, InfinityPipe, ItemRequestProxy, OffshorePump, ParticleSource, PowerSwitch, Projectile, Pump, Radar, ProgrammableSpeaker, RocketSilo, RocketSiloRocket, SimpleSmoke, SmokeWithTrigger, SpeechBubble, Sticker, Turret, Unit>::update(std::array<EntityOrderHelpers::ActiveEntitiesEntry, 60ul>&, IntrusiveListIterator<UpdatableEntity, void, false>&) at /tmp/factorio-build-J5waGd/src/Surface/ActiveEntitiesOrder.hpp:135
#14 0x0000000000d3d851 in Surface::update() at /tmp/factorio-build-J5waGd/src/Surface/Surface.cpp:1621
#15 0x000000000200fe40 in Map::updateEntities() at /tmp/factorio-build-J5waGd/src/Map/Map.cpp:1610 (discriminator 2)
#16 0x00000000000074a4 in Map::update() at /tmp/factorio-build-J5waGd/src/Map/Map.cpp:1571
#17 (nil) in Game::update() at /tmp/factorio-build-J5waGd/src/Game.cpp:210
#18 (nil) in Scenario::update() at /tmp/factorio-build-J5waGd/src/Scenario/Scenario.cpp:1275
#19 0x000075f3de5fa998 in Scenario::postUpdate() at /tmp/factorio-build-J5waGd/src/Scenario/Scenario.cpp:1169
#20 (nil) in Scenario::updateStep() at /tmp/factorio-build-J5waGd/src/Scenario/Scenario.cpp:1164
#21 (nil) in MainLoop::gameUpdateStep(MultiplayerManagerBase*, Scenario*, AppManager*, MainLoop::HeavyMode) at /tmp/factorio-build-J5waGd/src/MainLoop.cpp:1254
#22 (nil) in MainLoop::gameUpdateLoop(MainLoop::HeavyMode) at /tmp/factorio-build-J5waGd/src/MainLoop.cpp:1119
#23 (nil) in std::function<void ()>::operator=(decltype(nullptr)) at /home/build/gcc-9.2/include/c++/9.2.0/bits/std_function.h:498
#24 0x000075f3cc3b7e00 in WorkerThread::loop() at /tmp/factorio-build-J5waGd/src/Util/WorkerThread.cpp:49
#25 (nil) in std::default_delete<std::thread::_State>::operator()(std::thread::_State*) const at /home/build/gcc-9.2-source/gcc-9.2.0/build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/unique_ptr.h:81
#26 0x000075f300000000 in std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >::~unique_ptr() at /home/build/gcc-9.2-source/gcc-9.2.0/build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/unique_ptr.h:284
#27 (nil) in execute_native_thread_routine at /home/build/gcc-9.2-source/gcc-9.2.0/build/x86_64-pc-linux-gnu/libstdc++-v3/src/c++11/../../../../../libstdc++-v3/src/c++11/thread.cc:79
#28 (nil) in ?? at ??:0
#29 (nil) in ?? at ??:0
Stack trace logging done
Attachments
Crash_sandbox.zip
(183.37 KiB) Downloaded 157 times
factorio-current.log
(10.91 KiB) Downloaded 158 times


kitcat
Long Handed Inserter
Long Handed Inserter
Posts: 66
Joined: Wed Apr 26, 2017 3:11 pm
Contact:

Re: [1.1.34] Crash in scenario with character in locomotive (VehiclePassenger::setPositionWithoutMapRegistration)

Post by kitcat »

Should’ve searched for the crashing function, I guess. (Someone else added that to the subject after I made my post.)

Looks like it wasn’t properly fixed last time, even though you used exactly the same steps to reproduce the problem.

Rseding91
Factorio Staff
Factorio Staff
Posts: 13202
Joined: Wed Jun 11, 2014 5:23 am
Contact:

Re: [1.1.34] Crash in scenario with character in locomotive (VehiclePassenger::setPositionWithoutMapRegistration)

Post by Rseding91 »

Thanks for the report. It's now fixed for the next release. The previous fix fixed it for character controller types but not the editor controller type. Now it's fixed for all of them.
If you want to get ahold of me I'm almost always on Discord.

Post Reply

Return to “Resolved Problems and Bugs”