[posila] [0.18.0] Crash: "TransportLineManager::update"
[posila] [0.18.0] Crash: "TransportLineManager::update"
after i stopped playing 0.17 stable, i updated the game, turn on the game, and pressed continue button.
the game crashed
the game crashed
- Attachments
-
- factorio-current.log
- (13.45 KiB) Downloaded 143 times
Re: [0.18.0] Crash: "TransportLineManager::update"
0.18.0 server is the same
- Attachments
-
- factorio-current.log
- (54.95 KiB) Downloaded 133 times
Re: [0.18.0] Crash: "TransportLineManager::update"
Post the save please.
Re: [0.18.0] Crash: "TransportLineManager::update"
This crashes are most likely related to 79200 and may be "won't fix". Solution is to not remove mods that were defining 1x1 loaders using "loader" type
-
- Burner Inserter
- Posts: 7
- Joined: Tue Jan 08, 2019 8:29 am
- Contact:
Re: [0.18.0] Crash: "TransportLineManager::update"
I'm experiencing the same issue updating from 0.17 stable to 0.18.2:
1) Save in 0.17 stable
2) Update to 0.18.2
3) Update all mods
4) Launch 0.18.2
5) Load save game
Game crashes.
I've attached the logs/mod list and uploaded the save game: https://drive.google.com/file/d/1RMR13G ... rRBAJ/view
I'm aware of 79200 but please note that I haven't removed miniloader or any other mods. Problem is unchanged after reinstalling miniloader.
I hope that you can help, please let me know if you require any more information.
1) Save in 0.17 stable
2) Update to 0.18.2
3) Update all mods
4) Launch 0.18.2
5) Load save game
Game crashes.
I've attached the logs/mod list and uploaded the save game: https://drive.google.com/file/d/1RMR13G ... rRBAJ/view
I'm aware of 79200 but please note that I haven't removed miniloader or any other mods. Problem is unchanged after reinstalling miniloader.
I hope that you can help, please let me know if you require any more information.
- Attachments
-
- mods.png (33.01 KiB) Viewed 4050 times
-
- factorio-dump-current.dmp
- (805.97 KiB) Downloaded 112 times
-
- factorio-current.log
- (31.91 KiB) Downloaded 118 times
Re: [0.18.0] Crash: "TransportLineManager::update"
The problem is the miniloader migration. There's no fix except to load the save in 0.17 with the right mods and delete all modded loaders from your world, save, and then load it in 0.18 or later.
If you want to get ahold of me I'm almost always on Discord.
- Deadlock989
- Smart Inserter
- Posts: 2529
- Joined: Fri Nov 06, 2015 7:41 pm
Re: [0.18.0] Crash: "TransportLineManager::update"
There are several other mods which defined 1x1 loaders with a belt distance of 0 since 0.16.
Are all of those saved games now permanently blocked from running in 0.18 as well, short of deleting every 1x1 loader in your megabase by hand in 0.17? Seems a bit of a strange result from a change designed to prevent the corruption of saved games. You're going to get crash reports either way. I'd have preferred the status quo, which doesn't spoil existing saves unless you remove a mod from them, which is never going to pan out all that well.
Are all of those saved games now permanently blocked from running in 0.18 as well, short of deleting every 1x1 loader in your megabase by hand in 0.17? Seems a bit of a strange result from a change designed to prevent the corruption of saved games. You're going to get crash reports either way. I'd have preferred the status quo, which doesn't spoil existing saves unless you remove a mod from them, which is never going to pan out all that well.
Re: [posila] [0.18.0] Crash: "TransportLineManager::update"
I am still trying to look into this. But it is true the ability to set belt distance on loader prototype screwed up things a lot. In a long run it is better to have this resolved now.
Re: [posila] [0.18.0] Crash: "TransportLineManager::update"
Sigh, what did I get into ...
The main issue I can see now is that migration just doesn't work when migrating between two transport belt connectable types. The problem is, the migration creates dummy entity to load old type and migrated entity at the same type and when loading finishes it deletes dummy entities (because during loading, other stuff might reference them, so everything needs to load first, so that references are properly cleared). This causes two transport belt connectable entities with overlapping connections to exist on the map. But that it forbidden to happen. I can fairly easily fix this at cost of losing items on transport belt lines that the dummy entity was part of, but it uncoveres deeper problem. You could make a save with overlapping belt and chest, and than add migration to migrate chests to belts, result in overlapping belts and corrupted save.
This is similar to the original problem of dummy entity having different belt distance than the original, causing overlapping belt connection points, corrupting the save. I don't know where does the TransportLineManager::update crash come from, I haven't managed to reproduce the crash yet.
(Oh, and I haven't even started to think about what happens to migrated pipes)
The main issue I can see now is that migration just doesn't work when migrating between two transport belt connectable types. The problem is, the migration creates dummy entity to load old type and migrated entity at the same type and when loading finishes it deletes dummy entities (because during loading, other stuff might reference them, so everything needs to load first, so that references are properly cleared). This causes two transport belt connectable entities with overlapping connections to exist on the map. But that it forbidden to happen. I can fairly easily fix this at cost of losing items on transport belt lines that the dummy entity was part of, but it uncoveres deeper problem. You could make a save with overlapping belt and chest, and than add migration to migrate chests to belts, result in overlapping belts and corrupted save.
This is similar to the original problem of dummy entity having different belt distance than the original, causing overlapping belt connection points, corrupting the save. I don't know where does the TransportLineManager::update crash come from, I haven't managed to reproduce the crash yet.
(Oh, and I haven't even started to think about what happens to migrated pipes)
- Deadlock989
- Smart Inserter
- Posts: 2529
- Joined: Fri Nov 06, 2015 7:41 pm
Re: [posila] [0.18.0] Crash: "TransportLineManager::update"
It feels like the cure was worse than the sickness, to be fair ...
Re: [posila] [0.18.0] Crash: "TransportLineManager::update"
Well, it was rotten all along and now we just stepped into it.
For 0.18.3, I applied bandaid solution that should get pre-0.18 saves migrated without corrupting the game state. But items on transport lines that go through the migrated loaders will be lost. I am leaving this open mainly because problem of migration of transport belt connectables potentially causing game state corruption was not fully fixed, and also it would be nice to have migration of items too, if possible.
For 0.18.3, I applied bandaid solution that should get pre-0.18 saves migrated without corrupting the game state. But items on transport lines that go through the migrated loaders will be lost. I am leaving this open mainly because problem of migration of transport belt connectables potentially causing game state corruption was not fully fixed, and also it would be nice to have migration of items too, if possible.
- Deadlock989
- Smart Inserter
- Posts: 2529
- Joined: Fri Nov 06, 2015 7:41 pm
Re: [posila] [0.18.0] Crash: "TransportLineManager::update"
If the transport lines surrounding the loaders are preserved then losing a handful of items is a completely acceptable price to pay, thanks for looking into it.posila wrote: ↑Thu Jan 30, 2020 3:26 pm Well, it was rotten all along and now we just stepped into it.
For 0.18.3, I applied bandaid solution that should get pre-0.18 saves migrated without corrupting the game state. But items on transport lines that go through the migrated loaders will be lost. I am leaving this open mainly because problem of migration of transport belt connectables potentially causing game state corruption was not fully fixed, and also it would be nice to have migration of items too, if possible.
Re: [posila] [0.18.0] Crash: "TransportLineManager::update"
It might be more than handful. In the worst case, the transport line spanned across many many belt tiles (up to 200, I think?)
- Deadlock989
- Smart Inserter
- Posts: 2529
- Joined: Fri Nov 06, 2015 7:41 pm
Re: [posila] [0.18.0] Crash: "TransportLineManager::update"
Oh - the whole line. Yeah, that's not ideal. But still a massive improvement on having to rip up every loader in 0.17 and then replace them all by hand in 0.18.
Re: [posila] [0.18.0] Crash: "TransportLineManager::update"
So, in 0.18.4, migrating pre-0.18 saves will correctly migrate items on affected transport lines also. In the end I decided not to worry about cases of someone trying migrating 1x1 loader to 1x2 loader or non-transport-belt-connectible entity to transport belt connectible entity. If someone tries to do that, and it results in overlapping belt connections, there are consistency checks that will catch that.