Page MenuHomeSchine - Phabricator

Starmade | windowPositionAndSizeConfig.tag not being created or changed from Multiplayer
Confirmed task for development, HighPublic

Description

windowPositionAndSizeConfig.tag is only being saved or changed from inside a local singleplayer game on a proper game exit.
its not being saved or created

The file windowPositionAndSizeConfig.tag seems to corrupt sporadically, causing the game to completely fail to start, until the file is either erased or the default world's name is changed(the file seems to store the data on a per-world basis, so changing the world's name will either point to an uncorrupted section of the file, or cause a new section to be generated with default values).
What causes the file to be corrupted is unknown though, and feedback regarding that is appreciated.
The stacktrace of the Exception resulting from a corrupted windowPositionAndSizeConfig.tag file is:

0.1932java.lang.NullPointerException
^at obfuscated.asA.a(SourceFile:114)
^at obfuscated.asA.h(SourceFile:105)
^at org.schema.game.common.Starter.main(SourceFile:874)

'^' indicates, that this row is a continuation of the row above.

Details

Task Type
Bug
Testing Results
Affected Gamemode(s)
Single and Multi
Reproducible
Yes
Last tested (version)
0.200.123
Category
Ingame GUI/HUD
Hardware/Software/System
OS-Specific
No
Hardware-Specific
No
Video Card Vendor
uncertain
Steps to reproduce

Remove the windowPositionAndSizeConfig.tag if it exists

start the game and go to singleplayer world
Create a change in the menu positioning (for example sticky a chat channel)
leave the world and end the game
windowPositionAndSizeConfig.tag gets created on Win 7
windowPositionAndSizeConfig.tag gets not created on Linux (according to Valck)

remove windowPositionAndSizeConfig.tag again
start the game and join a server
Create a change in the menu positioning (for example sticky a chat channel)
leave the world and end the game
windowPositionAndSizeConfig.tag gets not created on Win 7
windowPositionAndSizeConfig.tag gets not created on Linux (according to Valck)

Tester information (Internal use only)

Failing Linux :

Linux 4.12.12-gentoo x86_64

openjdk version "1.8.0_144"
OpenJDK Runtime Environment (IcedTea 3.5.1) (Gentoo icedtea-3.5.1)
OpenJDK 64-Bit Server VM (build 25.144-b01, mixed mode)

Event Timeline

Megacrafter127 added a project: Starmade.
Megacrafter127 changed the visibility from "Custom Policy" to "Public (No Login Required)".
Megacrafter127 changed the edit policy from "Task Author" to "All Users".
Megacrafter127 changed Category from none/unspecified to Engine.
Megacrafter127 changed Reproducible from uncertain to Not on purpose.
Megacrafter127 set Last tested (version) to 0.1932.
Megacrafter127 edited a custom field.
Megacrafter127 edited Serverconfig (server.cfg). (Show Details)
Megacrafter127 edited Clientconfig (settings.cfg). (Show Details)
Megacrafter127 added a subscriber: Megacrafter127.
Megacrafter127 created this task.
Megacrafter127 raised the priority of this task from to High.
Restricted Application added a project: Issue Navigation. · View Herald TranscriptJul 12 2015, 7:46 PM
AndyP moved this task from New / Unconfirmed to Feedback on the Issue Navigation board.
AndyP changed the edit policy from "All Users" to "Starmade (Project)".
AndyP set Task Type to Bug.
AndyP set Affected Gamemode(s) to none/unspecified.
AndyP set OS-Specific to No.
AndyP set Hardware-Specific to No.
AndyP set Video Card Vendor to uncertain.
AndyP claimed this task.

Open for feedback, we currently know it can happen but have no way to reproduce it..

AndyP changed the edit policy from "Starmade (Project)" to "Task Author".Jul 12 2015, 8:14 PM
schema added a subscriber: schema.Jul 13 2015, 5:58 AM

game will no longer crash without notice but you will be able to hit "continue" to reset the file (with a "please send in a report")

AndyP moved this task from Feedback to Confirmed on the Issue Navigation board.Jul 13 2015, 9:27 PM
AndyP changed the task status from Open to Resolved.
Restricted Application edited projects, added Quality Assurance; removed Issue Navigation. · View Herald TranscriptJul 13 2015, 9:28 PM
Megacrafter127 closed this task as Closed.Jul 13 2015, 9:59 PM

Corruption detection and reset confirmed to work.

Restricted Application removed a project: Quality Assurance. · View Herald TranscriptJul 13 2015, 9:59 PM
AndyP changed the edit policy from "Task Author" to "Starmade (Project)".Jul 13 2015, 10:11 PM
AndyP removed AndyP as the assignee of this task.
AndyP shifted this object from the S1 Public space to the S3 Starmade space.Aug 11 2015, 11:29 PM
AndyP changed the edit policy from "Starmade (Project)" to "All Users".
Restricted Application added a project: Engine. · View Herald TranscriptMar 10 2017, 6:30 PM
Valck added a subscriber: Valck.Oct 16 2017, 6:14 AM
Valck added a comment.EditedOct 16 2017, 6:17 AM

windowPositionAndSizeConfig.tag does not generate for me when it is deleted, nor does it update with current window positions.

If the file exists, it remains at the state it was in. This has been an issue for many builds, but it is current as of pre-0.199.654#20170826_140955 and dev-0.200.122#20171014_171706

Linux 4.12.12-gentoo x86_64

openjdk version "1.8.0_144"
OpenJDK Runtime Environment (IcedTea 3.5.1) (Gentoo icedtea-3.5.1)
OpenJDK 64-Bit Server VM (build 25.144-b01, mixed mode)

SmilingDemon updated the task description. (Show Details)Oct 16 2017, 7:37 PM
SmilingDemon changed Affected Gamemode(s) from none/unspecified to Multiplayer.
SmilingDemon changed Reproducible from Not on purpose to Yes.
SmilingDemon changed Last tested (version) from 0.1932 to 0.200.122.
SmilingDemon changed Category from Engine to Ingame GUI/HUD.
SmilingDemon renamed this task from windowPositionAndSizeConfig.tag sporadically corrupts. to windowPositionAndSizeConfig.tag not being created or changed from Multiplayer.
SmilingDemon reopened this task as Open.
Restricted Application edited projects, added Issue Navigation; removed Engine. · View Herald TranscriptOct 16 2017, 7:37 PM
Restricted Application added a subscriber: AndyP. · View Herald Transcript
SmilingDemon changed the task status from Open to Feedback.Oct 16 2017, 7:46 PM

@Valck can you confirm my observation about the file creation in singleplayer but not in multiplayer ?

Restricted Application added a project: Waiting on Author. · View Herald TranscriptOct 16 2017, 7:46 PM
Valck added a comment.Oct 17 2017, 7:36 AM

The file is not created or updated, regardless of single player or multiplayer.

If it already exists (legacy from a previous install), it will be read and applied, but not updated. If it doesn't, a new one will not be created.
At each game start, all in-game windows get reset either to their default positions and sizes, or the ones defined in windowPositionAndSizeConfig.tag if it exists, and no changes persist over exiting a game session.

Restricted Application edited projects, added Customer responded; removed Waiting on Author. · View Herald TranscriptOct 17 2017, 7:36 AM
Restricted Application changed the task status from Feedback to Open. · View Herald Transcript
SmilingDemon edited Tester information (Internal use only). (Show Details)
SmilingDemon changed Affected Gamemode(s) from Multiplayer to Single and Multi.
SmilingDemon changed Last tested (version) from 0.200.122 to 0.200.123.
SmilingDemon moved this task from Feedback to Open / Validated on the Issue Navigation board.
SmilingDemon moved this task from Open / Validated to Confirmed on the Issue Navigation board.
SmilingDemon added a subscriber: SmilingDemon.
SmilingDemon changed the task status from Open to In Queue.
SmilingDemon removed SmilingDemon as the assignee of this task.
Valck added a comment.EditedOct 24 2017, 3:25 PM

Apparently the file does get written when I "exit to desktop", or if the game shuts itself down in a controlled manner because of an error. It does not get written if I "exit to main menu".

Because exiting a running single player instance directly to the desktop has resulted in data loss before, I never exit to desktop directly - which is why the file never got written for me.

Tested on 0.200.133#20171024_101704; I might try and go back to the last pre-release to see if it behaves identically.
EDIT: Tested on build 0.199.654#20170826_140955, it's the same there. File gets written only if I "exit to desktop".

If this bug gets some love, may I humbly request a minor enhancement: write the various client configs to disk sporadically, not only at game exit. Maybe every time the user "applies" their changes would also be a good occasion.

AndyP moved this task from Backlog / Unclassed to Alpha on the GUI/HUD board.Jan 22 2019, 9:26 AM