corrupted replays at replays.wesnoth.org

Having trouble with the game? Report issues and get help here. Read this first!

Moderator: Forum Moderators

Forum rules
Before reporting issues in this section, you must read the following topic:
Post Reply
SlowThinker
Posts: 876
Joined: November 28th, 2008, 6:18 pm

corrupted replays at replays.wesnoth.org

Post by SlowThinker »

Some replays at replays.wesnoth.org are corrupted. I reported the bug to to gna: https://gna.org/bugs/index.php?19603

The summary is in my next post, you can skip next obsolete posts, because they contain some wrong statements:
Post 1, obsolete
Next I will comment this one:
http://replays.wesnoth.org/1.10/2012032 ... _10_(8).gz ,
but many other replays suffer identical problems.


In the beginning of the replay I got this error message:

Code: Select all

<Invalid WML found> [replay], [statistics] not supported at scenario toplevel
then soon OOS started to be reported.


If you look into the file you will see the structure is strange. Especially notice a nested replay_start: [replay_start][replay_start][/replay_start][/replay_start]
Selections from the file (comments are mine):

Code: Select all

[replay]

	[command]
		sent=""
		[end_turn]
		[/end_turn]
	[/command]
# ...
# then suddendly the indentation starts to be corrupted:
[command]

		sent=""
		undo=""
		[move]
			x="21,22,23,24,25,25,25"
			y="10,10,10,10,11,12,13"
		[/move]
	[/command]
	
[/replay]
[replay_start]
# a corrupted indentation and unusual subcontainers follow:
...
[multiplayer]
	...
[/multiplayer]
[snapshot]
	...
[/snapshot]
[replay_start]
	...
[/replay_start]
[replay]
	...
[/replay]
...
[/replay_start]
-----------------------------------------
Next replay seems to be in good order:
http://replays.wesnoth.org/1.10/2012032 ... (12017).gz
Both replays referred in this post can be found here: http://replays.wesnoth.org/1.10/20120328/
Post 2, obsolete
It looks that
  • the replay is corrupted if the hosting player disconnects (it doesn't matter whether he disconnects during his turn or not)
  • only the replays at replay.wesnoth.org are affected, manual saves/replays seem to be in good order
Details of my test with 2p_Hamlets:
I started a game, saved manually (see attachment: 2p__Hamlets_Turn_1_(3631)_manual_save.gz), and ended the game (this replay is OK).
Then I reloaded, saved manually (2p__Hamlets_Turn_1_(3641)_manual_save_before_dc.gz), killed the hosting client, saved manually again (2p__Hamlets_Turn_1_(3641)_manual_save_after_dc.gz) and ended the game (this replay is broken)
All manual saves were done on the non-hosting client.

a note, maybe not important:
the correct saves/replays (both manual and servers' ones) contain
replay_start.turns=-1

the broken replays contain
replay_start.turns=""
Another test with 2p_—_Den_of_Onis :
http://replays.wesnoth.org/1.10/2012033 ... 85&#41;.gz (ok, before a kill of the hosting client)
http://replays.wesnoth.org/1.10/2012033 ... 98&#41;.gz (broken, after a kill of the hosting client)
Attachments
Hamlets.7z
this is an attachment of Post 2
(27.68 KiB) Downloaded 235 times
Last edited by SlowThinker on April 1st, 2012, 5:56 pm, edited 2 times in total.
I work on Conquest Minus • I use DFoolWide, Retro Terrain Package and the add-on 'High Contrast Water'
I moved to Nosebane's corner (Doc Paterson's signature); I am spending my time there, so PM me if I don't answer your post in forums
Anonymissimus
Inactive Developer
Posts: 2461
Joined: August 15th, 2008, 8:46 pm
Location: Germany

Re: corrupted replays at replays.wesnoth.org

Post by Anonymissimus »

Hm, well; in order to maybe make a good bug report out of it one would need to find out the "events" which took place during those games, or under which conditions they were created. "Events" meaning things that could confuse the engine or cause it to write such obviously bad data. Also whether only those server replays are affected or whether this can also happen for locally saved replays.
projects (BfW 1.12):
A Simple Campaign: campaign draft for wml startersPlan Your Advancements: mp mod
The Earth's Gut: sp campaignSettlers of Wesnoth: mp scenarioWesnoth Lua Pack: lua tags and utils
updated to 1.8 and handed over: A Gryphon's Tale: sp campaign
SlowThinker
Posts: 876
Joined: November 28th, 2008, 6:18 pm

Re: corrupted replays at replays.wesnoth.org

Post by SlowThinker »

Effects of the bug

Some replays at replays.wesnoth.org are corrupted. Only the replays at replay.wesnoth.org are affected, manual saves/replays seem to be in good order.
The effects of the bug are:
  • In the beginning of the replay you get this error message:

    Code: Select all

    <Invalid WML found> [replay], [statistics] not supported at scenario toplevel
    then soon OOSes start to be reported.
  • If you look into the replay file you will see the structure is strange. Especially notice a nested replay_start: [replay_start][replay_start][/replay_start][/replay_start]
    Selections from the file (comments are mine):

    Code: Select all

    ...
    [replay]
    [/replay]
    [replay_start]
    ...
    turns=""
    ...
    # unusual subcontainers follow:
    [multiplayer]
    	...
    [/multiplayer]
    [snapshot]
    	...
    [/snapshot]
    [replay_start]
    	...
    [/replay_start]
    [replay]
    	...
    [/replay]
    ...
    [/replay_start]
notes, not so important
It needn't be important, but the correct saves/replays (both manual and servers' ones) contain
replay_start.turns=-1

the broken replays contain
replay_start.turns=""

You can notice also indentation of [replay] is corrupted and empty lines are added, but this happens also to files that are not affected by the bug
__________________________________
Cause of the bug (how to reproduce)

It looks like
the bug happens if and only if the game has been reloaded
(my original hypothesis was wrong: the fact whether the hosting player disconnected or not has nothing to do with the bug)

__________________________________
Tests that support my statements

Next game (the replay works and the file seems not to be corrupted) ...
http://replays.wesnoth.org/1.10/2012040 ... _(8086).gz
... has been reloaded three times, no player disconnected during the game
http://replays.wesnoth.org/1.10/2012040 ... _(8092).gz
http://replays.wesnoth.org/1.10/2012040 ... _(8106).gz
http://replays.wesnoth.org/1.10/2012040 ... _(8124).gz
(all three replays produce the warning quoted above ("Invalid WML found ...") and the files are corrupted)

Next game has not been reloaded, only the host's client has been killed. The replay works and the file seems not to be corrupted:
http://replays.wesnoth.org/1.10/2012040 ... _(7927).gz
I work on Conquest Minus • I use DFoolWide, Retro Terrain Package and the add-on 'High Contrast Water'
I moved to Nosebane's corner (Doc Paterson's signature); I am spending my time there, so PM me if I don't answer your post in forums
Post Reply