Inconsistency after Version Warning

Bug #1542821 reported by Klaus Halfmann
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
widelands
Fix Released
High
Unassigned

Bug Description

I compile some branch (bug-1395278-base-economy) and tryed t open some old save file.
I got some warning about a incompatibilty (which is OK):
> UnhandledVersionError: This game was saved using an older version of Widelands and cannot be loaded anymore, or it's a new version that can't be handled yet.

>Packet Name: MapFlagdataPacket
>Saved Version: 4
>Current Version: 5

But after that trying to open a new intergame faild with:
> Assertion failed: (m_state == OFFLINE), function login, file
> .../bug-1395278-base-economy/src/network/internet_gaming.cc, line 140.
> Abort trap: 6

Even worse the intert server and the game claim that I am already logged in.

As this may affetc rc18->rc19 migration this is no developer only case.

Related branches

Revision history for this message
GunChleoc (gunchleoc) wrote :

The FlagDataPacket has changed in this branch, so you will not be able to load any savegames made with trunk.

Could you please test whether the internet game problem is also in trunk? We just removed the dedicated server, and I tested only LAN.

Revision history for this message
GunChleoc (gunchleoc) wrote :

The problem might also be some missing cleanup due to the exception thrown by the version error.

Revision history for this message
Klaus Halfmann (klaus-halfmann) wrote :

Using : bzr7799[trunk] this works,
with bug-1395278-base-economy this fails,
strange, will Add the Savegame I used.

Revision history for this message
Klaus Halfmann (klaus-halfmann) wrote :
Revision history for this message
Klaus Halfmann (klaus-halfmann) wrote :

@GunChleoc I guess the cleanup/execption handling is wrong, yes.

I just wonder why this happend in such a "harmless" branch about renaming membervariables,
but bot in trunk?
Looks like your change in map_flagdata_packet.cc. caused the exception,
but the broken handling is already in trunk?

Is there some specialist for that code we can ask?

Revision history for this message
GunChleoc (gunchleoc) wrote :

Yes, anytime you open an old, incompatible savegame, this exception will be thrown. You just happened upon it in the branch because it changed the version number for a packet. The broken exception handling is probably quite old, as exceptions would always be thrown in such a case. They just didn't occur very often due to the compatibility code we have thrown out now.

Revision history for this message
Klaus Halfmann (klaus-halfmann) wrote :

The very same assertion happens when you loose internet connectivity (I just unplugged the cable).
Tested in bzr7847[trunk].

GunChleoc (gunchleoc)
Changed in widelands:
status: New → Confirmed
importance: Undecided → High
GunChleoc (gunchleoc)
Changed in widelands:
status: Confirmed → In Progress
assignee: nobody → GunChleoc (gunchleoc)
GunChleoc (gunchleoc)
Changed in widelands:
status: In Progress → Fix Committed
assignee: GunChleoc (gunchleoc) → nobody
GunChleoc (gunchleoc)
Changed in widelands:
status: Fix Committed → Fix Released
Revision history for this message
GunChleoc (gunchleoc) wrote :

Fixed in build19-rc1.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.