OK, I've managed to get that "Assertion failed!" with version 2.1.1 from April 22th (couldn't you just called it version 2.1.2?). Here is part of the log:
Saving a game:
CL_UpdateHireVar()... aircraft idx: 0, homebase: PHALANX HQ
Activate stage ufos_are_coming
CL_UpdateHireVar()... aircraft idx: 0, homebase: PHALANX HQ
Save 'slot2'
...subsystem 'base' - saved 5963 bytes
...subsystem 'campaign' - saved 348 bytes
...subsystem 'hospital' - saved 2 bytes
...subsystem 'market' - saved 2176 bytes
...subsystem 'research' - saved 6331 bytes
...subsystem 'employee' - saved 31661 bytes
...subsystem 'aliencont' - saved 0 bytes
...subsystem 'production' - saved 22 bytes
...subsystem 'aircraft' - saved 1 bytes
...subsystem 'messagesystem' - saved 28661 bytes
...subsystem 'stats' - saved 28 bytes
...subsystem 'nations' - saved 32 bytes
Campaign 'Shai49' saved.
After that save, I've built a second base with 2 radar stations (and the basics - power plant, living quarters...), as well as adding 2 more radar to my first base. Then I saved it:
CL_UpdateHireVar()... aircraft idx: 0, homebase: PHALANX HQ
Save 'slot3'
...subsystem 'base' - saved 11463 bytes
...subsystem 'campaign' - saved 348 bytes
...subsystem 'hospital' - saved 2 bytes
...subsystem 'market' - saved 2176 bytes
...subsystem 'research' - saved 6331 bytes
...subsystem 'employee' - saved 31661 bytes
...subsystem 'aliencont' - saved 0 bytes
...subsystem 'production' - saved 22 bytes
...subsystem 'aircraft' - saved 1 bytes
...subsystem 'messagesystem' - saved 28737 bytes
...subsystem 'stats' - saved 28 bytes
...subsystem 'nations' - saved 32 bytes
Campaign 'Shai50' saved.
Then I got a few of these errors:
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
B_GetNumberOfBuildingsInBaseByTypeIDX: Bad base-index given: 2 (numbases 2)
CL_UpdateHireVar()... aircraft idx: 0, homebase: PHALANX HQ
CL_UpdateHireVar()... aircraft idx: 0, homebase: PHALANX HQ
Then I decided to reload the game I just saved:
Loading savegame
...version: 1
...game version: 2.1.1
Global data loaded - size (null)u bytes
...techs: 132
...buildings: 18
...ranks: 8
...nations: 8
Load 'slot3'
...subsystem 'base' - loaded 11463 bytes
Initializing aircraft and aircraft-items ...
...aircraft and aircraft-items inited
Cmd_AddCommand: popup_aircraft_action_click already defined
Cmd_AddCommand: ships_click already defined
Cmd_AddCommand: ships_rclick already defined
Cmd_AddCommand: multi_select_click already defined
Activate stage intro
Activate stage ufos_are_coming
...subsystem 'campaign' - loaded 348 bytes
...subsystem 'hospital' - loaded 2 bytes
...subsystem 'market' - loaded 2176 bytes
...subsystem 'research' - loaded 6331 bytes
...subsystem 'employee' - loaded 31661 bytes
...subsystem 'aliencont' - loaded 0 bytes
...subsystem 'production' - loaded 22 bytes
...subsystem 'aircraft' - loaded 1 bytes
And then there was that crash. Actually, it's not really a crash, but it refers you to the C++ debugger (if you have one installed), and if you choose to reply, then you get the crash screen.
Here is a link to slot3.sav save, which cause this problem:
http://www.filefactory.com/file/f2ef1b/This should help you locate the problem, as it should take you directly to the debugger.
[EDIT] If I choose Ignore, I get a "Error in loading a subsystem" error. Here is the ufoconsole.log for that case:
Load 'slot3'
...subsystem 'base' - loaded 11463 bytes
Initializing aircraft and aircraft-items ...
...aircraft and aircraft-items inited
Cmd_AddCommand: popup_aircraft_action_click already defined
Cmd_AddCommand: ships_click already defined
Cmd_AddCommand: ships_rclick already defined
Cmd_AddCommand: multi_select_click already defined
Activate stage intro
Activate stage ufos_are_coming
...subsystem 'campaign' - loaded 348 bytes
...subsystem 'hospital' - loaded 2 bytes
...subsystem 'market' - loaded 2176 bytes
...subsystem 'research' - loaded 6331 bytes
...subsystem 'employee' - loaded 31661 bytes
...subsystem 'aliencont' - loaded 0 bytes
...subsystem 'production' - loaded 22 bytes
...subsystem 'aircraft' - loaded 1 bytes
...subsystem 'messagesystem' - loaded 28831 bytes
...subsystem 'messagesystem' could not be loaded correctly - savegame might be broken (ffffffff)
Changing to Singleplayer
And just in case - here is the previous save:
http://www.filefactory.com/file/f566f6/I saved just before building the second base with the 2 radar station, and before adding a radar station to my first base.
This save Is working fine.
[/EDIT]To sum all my posts so far - I've managed to get 2 different errors with both versions of version 2.1.1 (from April 20th and April 22th) - 1. "Error in loading a subsystem" error. 2. "Assertion failed!" Error and crash.
I'm sorry for all my posts here, but you did ask people to post about errors in the loading/saving system. I just hope something good will come out of all this.