MantisBT - Doomseeker
View Issue Details
0003411DoomseekerUIpublic2018-04-11 14:532019-08-23 18:51
WubTheCaptain 
Zalewa 
normalminorrandom
closedfixed 
x86_64Debian GNU/Linuxbuster/sid
1.1 
1.21.2 
0003411: IDHiddenGroup and IDHiddenServerPointer are seen as visible columns
Doomseeker's server list has sortable columns, to allow sorting by player count, ping, etc.

The last two columns in the interface:
  • SORT_GROUP
  • SERVER_POINTER

were not intended to appear, but for some reason now do.

See attachment.
  1. Start Doomseeker.
  2. Look at the top of the server list dialog with sortable columns.
  3. Notice there's two sortable columns SORT_GROUP and SERVER_POINTER.
This issue is recent. Caused by Qt5 update?

  • Qt5 5.10.1
  • libc6 2.27


Affects both Doomseeker 1.1 and 1.2~beta-180305-2314M.

src/core/gui/models/serverlistcolumn.cpp
has relevant HIDDEN declarations for IDHiddenGroup and IDHiddenServerPointer.

Additionally, the table column widths may reset on every start of Doomseeker.
No tags attached.
related to 0003703closed Zalewa Refreshing a server list and then filtering by server name causes IDHiddenGroup and IDHiddenServerPointer to be seen again 
png 2018-04-11-143553_1032x247_scrot.png (63,621) 2018-04-11 14:53
https://zandronum.com/tracker/file_download.php?file_id=2317&type=bug
png

log dpkg-qt5-qt-libc.log (24,213) 2018-08-20 18:20
https://zandronum.com/tracker/file_download.php?file_id=2342&type=bug
? doomseeker.ini (6,268) 2018-08-20 21:11
https://zandronum.com/tracker/file_download.php?file_id=2343&type=bug
png SORT_GROUP.png (202,334) 2019-08-21 08:03
https://zandronum.com/tracker/file_download.php?file_id=2497&type=bug
png

png moresortgroup.PNG (338,662) 2019-08-22 19:19
https://zandronum.com/tracker/file_download.php?file_id=2498&type=bug
Issue History
2018-04-11 14:53WubTheCaptainNew Issue
2018-04-11 14:53WubTheCaptainFile Added: 2018-04-11-143553_1032x247_scrot.png
2018-04-11 15:03WubTheCaptainNote Added: 0019164
2018-08-14 13:15Pol MNote Added: 0019332
2018-08-14 19:33ZalewaNote Added: 0019333
2018-08-15 08:38ZalewaNote Added: 0019335
2018-08-15 08:38ZalewaAssigned To => Zalewa
2018-08-15 08:38ZalewaStatusnew => needs testing
2018-08-20 18:17WubTheCaptainNote Added: 0019341
2018-08-20 18:17WubTheCaptainStatusneeds testing => acknowledged
2018-08-20 18:20WubTheCaptainFile Added: dpkg-qt5-qt-libc.log
2018-08-20 18:22WubTheCaptainStatusacknowledged => new
2018-08-20 18:26WubTheCaptainNote Added: 0019342
2018-08-20 18:36WubTheCaptainNote Added: 0019343
2018-08-20 18:36WubTheCaptainStatusnew => feedback
2018-08-20 18:36WubTheCaptainNote Edited: 0019343bug_revision_view_page.php?bugnote_id=19343#r11620
2018-08-20 18:39WubTheCaptainAssigned ToZalewa => WubTheCaptain
2018-08-20 18:39WubTheCaptainStatusfeedback => assigned
2018-08-20 18:55ZalewaNote Added: 0019344
2018-08-20 18:55ZalewaAssigned ToWubTheCaptain => Zalewa
2018-08-20 20:55WubTheCaptainNote Added: 0019354
2018-08-20 21:01WubTheCaptainReproducibilityhave not tried => random
2018-08-20 21:11WubTheCaptainFile Added: doomseeker.ini
2018-08-20 21:14WubTheCaptainNote Added: 0019355
2018-08-20 21:19WubTheCaptainNote Edited: 0019355bug_revision_view_page.php?bugnote_id=19355#r11630
2018-08-20 21:32WubTheCaptainAdditional Information Updatedbug_revision_view_page.php?rev_id=11634#r11634
2018-08-20 22:58WubTheCaptainNote Added: 0019368
2018-08-21 16:21ZalewaNote Added: 0019378
2018-08-21 16:21ZalewaStatusassigned => needs testing
2018-08-21 16:22ZalewaNote Edited: 0019378bug_revision_view_page.php?bugnote_id=19378#r11656
2018-08-24 00:29WubTheCaptainNote Added: 0019390
2018-08-24 00:29WubTheCaptainStatusneeds testing => needs review
2018-08-24 00:36WubTheCaptainNote Edited: 0019390bug_revision_view_page.php?bugnote_id=19390#r11658
2018-08-24 00:46WubTheCaptainNote Added: 0019391
2018-08-24 03:30WubTheCaptainRelationship addedrelated to 0003463
2018-08-26 10:10ZalewaNote Added: 0019405
2018-08-26 10:10ZalewaStatusneeds review => resolved
2018-08-26 10:10ZalewaFixed in Version => 1.2
2018-08-26 10:10ZalewaResolutionopen => fixed
2018-09-27 03:23WubTheCaptainRelationship deletedrelated to 0003463
2018-09-27 03:23WubTheCaptainTarget Version => 1.2
2018-10-27 22:55WubTheCaptainStatusresolved => closed
2019-08-21 08:03ZalewaFile Added: SORT_GROUP.png
2019-08-21 08:06ZalewaNote Added: 0020970
2019-08-21 08:06ZalewaStatusclosed => new
2019-08-22 19:19AOSPFile Added: moresortgroup.PNG
2019-08-22 19:20AOSPNote Added: 0020971
2019-08-22 19:22AOSPNote Edited: 0020971bug_revision_view_page.php?bugnote_id=20971#r12774
2019-08-22 21:42ZalewaNote Added: 0020972
2019-08-22 21:42ZalewaAssigned ToZalewa =>
2019-08-22 21:42ZalewaStatusnew => confirmed
2019-08-23 08:57ZalewaAssigned To => Zalewa
2019-08-23 08:57ZalewaStatusconfirmed => assigned
2019-08-23 09:49ZalewaNote Added: 0020973
2019-08-23 09:49ZalewaStatusassigned => needs testing
2019-08-23 09:50ZalewaReproducibilityrandom => sometimes
2019-08-23 09:50ZalewaResolutionfixed => reopened
2019-08-23 09:50ZalewaFixed in Version1.2 =>
2019-08-23 09:50ZalewaTarget Version1.2 => 1.4
2019-08-23 17:53WubTheCaptainNote Added: 0020978
2019-08-23 18:00WubTheCaptainCategoryBug => UI
2019-08-23 18:00WubTheCaptainRelationship addedrelated to 0003703
2019-08-23 18:04WubTheCaptainNote Added: 0020979
2019-08-23 18:04WubTheCaptainStatusneeds testing => closed
2019-08-23 18:04WubTheCaptainResolutionreopened => fixed
2019-08-23 18:04WubTheCaptainFixed in Version => 1.2
2019-08-23 18:04WubTheCaptainTarget Version1.4 => 1.2
2019-08-23 18:51WubTheCaptainReproducibilitysometimes => random

Notes
(0019164)
WubTheCaptain   
2018-04-11 15:03   
As far as I remember, Qt 5.9 is fine.
(0019332)
Pol M   
2018-08-14 13:15   
I can't reproduce this :(
Maybe a Qt update fixed it? the current version I'm running is: 5.11.1
(0019333)
Zalewa   
2018-08-14 19:33   
Quote
I can't reproduce this :(
Maybe a Qt update fixed it? the current version I'm running is: 5.11.1


I hope so. These columns were explicitly marked as hidden by us, so if Qt suddenly decided to show them then I'm sure it wasn't an intended behavior.
(0019335)
Zalewa   
2018-08-15 08:38   
I'll mark this as "needs further testing" with Qt 5.11.1 for the time being.
(0019341)
WubTheCaptain   
2018-08-20 18:17   
I'm still experiencing this issue as of commit aafacb71daee (1.2~beta-180816-2126M) in both Doomseeker 1.1 and 1.2~beta.

My Qt5 package version on Debian is now 5.11.1-5, so I don't know.
(0019342)
WubTheCaptain   
2018-08-20 18:26   
Attached dpkg-qt5-qt-libc.log has some relevant output from dpkg -l from the host system experiencing the issue.
(0019343)
WubTheCaptain   
2018-08-20 18:36   
After the following commands, I'm no longer able to reproduce:

mv $HOME/.doomseeker/ $HOME/.doomseeker.bak/ # Doomseeker 1.1 directory
mv $HOME/.config/doomseeker/ $HOME/.config/doomseeker.bak/
mv $HOME/.local/share/doomseeker/ $HOME/.local/share/doomseeker.bak/
mv $HOME/.cache/doomseeker/ $HOME/.cache/doomseeker.bak/


Some kind of a data corruption bug in Doomseeker?

(0019344)
Zalewa   
2018-08-20 18:55   
This is an useful hint. The state of the table's header is saved in config and then restored, which most likely pinpoints the error to the 'else' block in


void ServerListView::setupTableColumnWidths()


The hidden state for those columns needs to be enforced there too.
(0019354)
WubTheCaptain   
2018-08-20 20:55   
@Zalewa: Yes, another issue (surprisingly not mentioned yet) related to this bug is that the table column widths reset on every start of Doomseeker when the bug is present.
(0019355)
WubTheCaptain   
2018-08-20 21:14   
(edited on: 2018-08-20 21:19)
Attached doomseeker.ini reproduces the issue. Place it in Doomseeker configuration directory, which on GNU/Linux should be:
  • $HOME/.doomseeker/ directory on Doomseeker 1.1; or
  • $HOME/.config/doomseeker/ on Doomseeker 1.2~beta and later (after hg changeset 2146:908ed1778e0a or somewhere around there)


The cause of this is still unknown or random.

(0019368)
WubTheCaptain   
2018-08-20 22:58   
Unrelated note: Doomseeker 1.2~beta (aafacb71daee) just segfaulted on me on quit while testing this with broken state. I couldn't get a dump.
(0019378)
Zalewa   
2018-08-21 16:21   
(edited on: 2018-08-21 16:22)
I was able to reproduce this with Wub's config also in Qt 5.7.

Should be fixed with these 2 commits:

1.https://bitbucket.org/Doomseeker/doomseeker/commits/a2ed1f062be45feec33c7a52c5ba4e8863ae4eb2 [^]
2.https://bitbucket.org/Doomseeker/doomseeker/commits/3e1cbeb2dba8c72c3646923bab1c263b0bc4935d [^]

Please test.

(0019390)
WubTheCaptain   
2018-08-24 00:29   
(edited on: 2018-08-24 00:36)
If we have a corrupted state .ini, going from patched Doomseeker 1.2 to unpatched 1.1 the bug may still be reproduced. It's only seen as a non-issue in Doomseeker 1.2 visually, but we don't actually fix/reset the broken state (in the .ini), as Doomseeker:

  1. inits with hidden status (hidden)
  2. loads the config from saved state (possibly unhidden)
  3. hides it in the layout again (hidden)


What could cause the corrupted state where a column suddenly becomes unhidden, I've not found yet. Switching between clean 1.2 and 1.1 configs and migrating them between the two (multiple times) shouldn't cause this issue – and doesn't in my experience with some testing.

Is there something more we could still do on the issue to prevent this? Practically this issue is kind of resolved now, although it may be seen as some sort of a small hack.

All the better if the hidden status was not part of the saved state (because we don't allow hiding any other columns, anyway), but I almost doubt Qt does not allow.

(0019391)
WubTheCaptain   
2018-08-24 00:46   
Quote from WubTheCaptain
Is there something more we could still do on the issue to prevent this? Practically this issue is kind of resolved now, although it may be seen as some sort of a small hack.


And I'm kind of okay with this.
(0019405)
Zalewa   
2018-08-26 10:10   
Quote from "WubTheCaptain"
Is there something more we could still do on the issue to [fix the config in new version of the program so that the old version can load it properly]? Practically this issue is kind of resolved now, although it may be seen as some sort of a small hack.


No.

The config should be saved with proper values when there's a reason to save the config. Try opening the config dialog and pressing the "Apply" button.

The user must expect that config saved by a new version of the program may not be fully backwards compatible with the old version of the program.

The user may open the config in a text editor and remove the broken setting manually, letting Doomseeker to recreate it. That's the reason why config is a text file - so that people can modify it with a text editor when they feel it's necessary.

Unless there's still some problem with this issue in the current HEAD, I don't plan to spend any more time on it.
(0020970)
Zalewa   
2019-08-21 08:06   
The SORT_GROUP.png is a screenshot from someone who is reportedly using Doomseeker 1.3. The "hidden" columns are visible. There's no clear indiciation whether that's actually 1.3 or not, but if you look at the log everything indicates that it is:

a) Auto-updater states that there's nothing to update.
b) IP2C checksum is current.
(0020971)
AOSP   
2019-08-22 19:20   
(edited on: 2019-08-22 19:22)
I'm also experiencing this issue, screenshot (with version) attached.
Interestingly, it disappears if I restart Doomseeker - and I have no idea how to make it appear again, it just sometimes appears.

edit: Turns out that changing the filter will make these two columns appear.

(0020972)
Zalewa   
2019-08-22 21:42   
Yeah, refreshing a server list and then filtering by server name causes the columns to appear.
(0020973)
Zalewa   
2019-08-23 09:49   
I cured the problem by cutting it out. The columns will never appear again because they're gone:https://bitbucket.org/Doomseeker/doomseeker/commits/d97bb2af82d5820a1e6c962821e5b6c3182b9186 [^]
(0020978)
WubTheCaptain   
2019-08-23 17:53   
Lovely, "red" commits.

(Fyi: I'd have preferred if the closed tickets stay closed, with a new ticket for reintroduced issues. The original issue no longer shows up on the tracker as fixed in 1.2, despite the fix being incomplete.)
(0020979)
WubTheCaptain   
2019-08-23 18:04   
See 0003703.