[0.12.33] crash when updating modded item placeableResult
Posted: Tue May 10, 2016 11:34 pm
Hi there,
I'm working on updating hardCrafting to 0.3.11. The crusher machine should become an aseembling machine (select recipe) instead of furnace (can't select recipe) as people requested this.
So I added a new entity "crusher-v2". The old entity "crusher" still exists. For the item "crusher" I changed the placable result to "crusher-v2".
/edit2: When I do a migration file to change the entity from "crusher" to "crusher-v2" the game crashes when loading the map with some log:
See also attached log
The migration I used:
When I don't use a migration.json file:
Now when trying to migrate an old save game I found that the game crashes when a construction robot is still trying to pick up a crusher item and build a blueprint (which was set before migrating to the new mod version.
I can guess from the logs that the EntityGhost::itemToCreateThis doesn't find an item to create the old ghost entity. So I would assume the ghost just vanishes. But instead the game crashes.
For detailled logs+mods+savegame see attachement.
/edit: I guess i'm doing the migration wrong. If someone has a blueprint with crusher entities in there, it would probably also not work. How can I migrate the entity correctly?
Thanks a lot for having a look at this!
P.S. why don't you guys use a jira ticketing system?
I'm working on updating hardCrafting to 0.3.11. The crusher machine should become an aseembling machine (select recipe) instead of furnace (can't select recipe) as people requested this.
So I added a new entity "crusher-v2". The old entity "crusher" still exists. For the item "crusher" I changed the placable result to "crusher-v2".
/edit2: When I do a migration file to change the entity from "crusher" to "crusher-v2" the game crashes when loading the map with some log:
Code: Select all
c:\cygwin64\tmp\factorio-llngfe\src\energy\electricenergysource.cpp (225): ElectricEnergySource::connectPoles
c:\cygwin64\tmp\factorio-llngfe\src\entity\entity.cpp (238): Entity::setup
c:\cygwin64\tmp\factorio-llngfe\src\entity\entitywithowner.cpp (105): EntityWithOwner::setup
c:\cygwin64\tmp\factorio-llngfe\src\entity\craftingmachine.cpp (693): CraftingMachine::setup
c:\cygwin64\tmp\factorio-llngfe\src\entity\assemblingmachine.cpp (338): AssemblingMachine::setup
c:\cygwin64\tmp\factorio-llngfe\src\map\map.cpp (621): Map::setupEntities
c:\cygwin64\tmp\factorio-llngfe\src\scenario\scenario.cpp (188): Scenario::loadFactory
The migration I used:
Code: Select all
{
"entity": [
[ "crusher", "crusher-v2" ]
]
}
Now when trying to migrate an old save game I found that the game crashes when a construction robot is still trying to pick up a crusher item and build a blueprint (which was set before migrating to the new mod version.
I can guess from the logs that the EntityGhost::itemToCreateThis doesn't find an item to create the old ghost entity. So I would assume the ghost just vanishes. But instead the game crashes.
For detailled logs+mods+savegame see attachement.
/edit: I guess i'm doing the migration wrong. If someone has a blueprint with crusher entities in there, it would probably also not work. How can I migrate the entity correctly?
Thanks a lot for having a look at this!
P.S. why don't you guys use a jira ticketing system?