New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Assertion `lobby_info_.games().size() == gamelistbox_->get_item_count()' failed. #3017

Closed
ProditorMagnus opened this Issue May 4, 2018 · 9 comments

Comments

Projects
None yet
3 participants
@ProditorMagnus
Contributor

ProditorMagnus commented May 4, 2018

Using https://flathub.org/apps/details/org.wesnoth.Wesnoth version with linux mint 18.3. Despite what log says, actual used resolution was 1600x900.

Happened after observing game, that game ended, and I quit to lobby. Last part of log https://pastebin.com/t5iywqbz (full is larger than pastebin limit.)
flatwes.log.gz full log

And last part of last part

20180504 22:10:44 error lobby: Error while applying the gamelist diff: 'illegal index to add child at' Getting a new gamelist.
20180504 22:10:44 error lobby: process_gamelist_diff failed!
20180504 22:10:44 error lobby: Ran out of listbox items -- triggering a full refresh
20180504 22:10:44 error lobby: Error while applying the gamelist diff: 'illegal index to add child at' Getting a new gamelist.
20180504 22:10:44 error lobby: process_gamelist_diff failed!
20180504 22:10:44 error lobby: Ran out of listbox items -- triggering a full refresh
20180504 22:10:44 warning engine: User SightHound has unknown game_id: 129
20180504 22:10:44 warning engine: User prettyword has unknown game_id: 129
20180504 22:10:44 warning engine: User kori has unknown game_id: 18
20180504 22:10:44 warning engine: User Yahnnieck has unknown game_id: 18
20180504 22:10:44 warning engine: User Passey has unknown game_id: 18
20180504 22:10:44 warning engine: User Erol has unknown game_id: 64
20180504 22:10:44 warning engine: User Kaya has unknown game_id: 192
20180504 22:10:44 warning engine: User YK_Owner has unknown game_id: 135
20180504 22:10:44 warning engine: User ayghjib1 has unknown game_id: 135
20180504 22:10:44 warning engine: User LeIntrepid has unknown game_id: 57
20180504 22:10:44 warning engine: User Kube has unknown game_id: 57
20180504 22:10:44 warning engine: User Daiamonto has unknown game_id: 57
20180504 22:10:44 warning engine: User killzone290 has unknown game_id: 64
20180504 22:10:44 warning engine: User kolberto has unknown game_id: 200
20180504 22:10:44 warning engine: User Silkycosmo has unknown game_id: 128
20180504 22:10:44 warning engine: User fruruf has unknown game_id: 202
20180504 22:10:44 warning engine: User wolfy527 has unknown game_id: 199
20180504 22:10:44 error lobby: Ran out of listbox items -- triggering a full refresh
wesnoth: src/gui/dialogs/multiplayer/lobby.cpp:552: void gui2::dialogs::mp_lobby::update_gamelist_filter(): Assertion `lobby_info_.games().size() == gamelistbox_->get_item_count()' failed.
`
@ProditorMagnus

This comment has been minimized.

Show comment
Hide comment
@ProditorMagnus

ProditorMagnus May 7, 2018

Contributor

This seems to be related to using game filter. After filtering, joining one of filtered games, and then returning https://i.imgur.com/eqJnrGX.png.

Contributor

ProditorMagnus commented May 7, 2018

This seems to be related to using game filter. After filtering, joining one of filtered games, and then returning https://i.imgur.com/eqJnrGX.png.

@gfgtdf

This comment has been minimized.

Show comment
Hide comment
@gfgtdf

gfgtdf May 7, 2018

Contributor

always funny to see the "retry" button in that dialogue.

Contributor

gfgtdf commented May 7, 2018

always funny to see the "retry" button in that dialogue.

@ProditorMagnus

This comment has been minimized.

Show comment
Hide comment
@ProditorMagnus

ProditorMagnus Jul 8, 2018

Contributor

After attempting to observe game I got this assertion again.

Output has entire gamelist as unknown command
20180708 18:22:44 error network: found unknown command:
[gamelist]
[game]
...

Contributor

ProditorMagnus commented Jul 8, 2018

After attempting to observe game I got this assertion again.

Output has entire gamelist as unknown command
20180708 18:22:44 error network: found unknown command:
[gamelist]
[game]
...

@ProditorMagnus

This comment has been minimized.

Show comment
Hide comment
@ProditorMagnus

ProditorMagnus Jul 10, 2018

Contributor

It seems to only happen after error lobby: Ran out of listbox items -- triggering a full refresh
Might be useful to give client disconnection then instead.

Contributor

ProditorMagnus commented Jul 10, 2018

It seems to only happen after error lobby: Ran out of listbox items -- triggering a full refresh
Might be useful to give client disconnection then instead.

@ProditorMagnus

This comment has been minimized.

Show comment
Hide comment
@ProditorMagnus

ProditorMagnus Jul 20, 2018

Contributor

Happened again, now I changed that file to return instead of assert.

Contributor

ProditorMagnus commented Jul 20, 2018

Happened again, now I changed that file to return instead of assert.

@gfgtdf

This comment has been minimized.

Show comment
Hide comment
@gfgtdf

gfgtdf Jul 20, 2018

Contributor

ye i happend to me aswell, same situation (Happened after observing game, that game ended, and I quit to lobby), if we had a reliable way to reproduce i think i could fix it.

Contributor

gfgtdf commented Jul 20, 2018

ye i happend to me aswell, same situation (Happened after observing game, that game ended, and I quit to lobby), if we had a reliable way to reproduce i think i could fix it.

@gfgtdf

This comment has been minimized.

Show comment
Hide comment
@gfgtdf

gfgtdf Jul 20, 2018

Contributor

do you know whether there is always a 'process_gamelist_diff failed!' somehere before the error ?

Contributor

gfgtdf commented Jul 20, 2018

do you know whether there is always a 'process_gamelist_diff failed!' somehere before the error ?

@ProditorMagnus

This comment has been minimized.

Show comment
Hide comment
@ProditorMagnus

ProditorMagnus Jul 20, 2018

Contributor

No, just I have not seen it happen without.

Contributor

ProditorMagnus commented Jul 20, 2018

No, just I have not seen it happen without.

gfgtdf added a commit to gfgtdf/wesnoth that referenced this issue Jul 22, 2018

don't process a corrupted gamelist_diff further
fixes wesnoth#3017, assuming that the error is actually casued by the
'process_gamelist_diff failed'

As process_gamelist_diff simply returns after getting an error its quite
likeley that the gamelist is then in a  corrupted state so we stop
processing it until we get a fresh gamelist.

gfgtdf added a commit to gfgtdf/wesnoth that referenced this issue Jul 23, 2018

don't process a corrupted gamelist_diff further
fixes wesnoth#3017, assuming that the error is actually casued by the
'process_gamelist_diff failed'

As process_gamelist_diff simply returns after getting an error its quite
likeley that the gamelist is then in a  corrupted state so we stop
processing it until we get a fresh gamelist.

gfgtdf added a commit that referenced this issue Jul 24, 2018

don't process a corrupted gamelist_diff further
fixes #3017, assuming that the error is actually casued by the
'process_gamelist_diff failed'

As process_gamelist_diff simply returns after getting an error its quite
likeley that the gamelist is then in a  corrupted state so we stop
processing it until we get a fresh gamelist.
@ProditorMagnus

This comment has been minimized.

Show comment
Hide comment
@ProditorMagnus

ProditorMagnus Jul 24, 2018

Contributor

Today I saw
20180724 19:53:31 error lobby: Error while applying the gamelist diff: 'illegal index to add child at' Getting a new gamelist.
20180724 19:53:31 error lobby: process_gamelist_diff failed!

No assertion though.

Contributor

ProditorMagnus commented Jul 24, 2018

Today I saw
20180724 19:53:31 error lobby: Error while applying the gamelist diff: 'illegal index to add child at' Getting a new gamelist.
20180724 19:53:31 error lobby: process_gamelist_diff failed!

No assertion though.

@gfgtdf gfgtdf closed this in 367aec2 Jul 31, 2018

jostephd added a commit to jostephd/wesnoth that referenced this issue Oct 6, 2018

don't process a corrupted gamelist_diff further
fixes wesnoth#3017, assuming that the error is actually casued by the
'process_gamelist_diff failed'

As process_gamelist_diff simply returns after getting an error its quite
likeley that the gamelist is then in a  corrupted state so we stop
processing it until we get a fresh gamelist.

jostephd pushed a commit to jostephd/wesnoth that referenced this issue Oct 7, 2018

don't process a corrupted gamelist_diff further
fixes wesnoth#3017, assuming that the error is actually casued by the
'process_gamelist_diff failed'

As process_gamelist_diff simply returns after getting an error its quite
likeley that the gamelist is then in a  corrupted state so we stop
processing it until we get a fresh gamelist.

(cherry-picked from commit 367aec2)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment