Settings values disappeared in GUI

At some point in the last week, my settings dialog started displaying missing values for several fields, though I never changed them. Everything is behaving as it was when the settings were displaying correctly, but the fields are blank.

My main indicator is that upload bandwidth is still limited to 100KB/s.

I suppose I can muck around in the settings files, but I’d love to continue using the GUI to make changes. I’m just wondering if maybe my settings are corrupt and the GUI is punting or what. Setting the values and saving did not “stick” for very long.

Here is a sanitized version of my config.xml (that appears to be valid XML):

<configuration version="20">
    <folder id="*" label="*" path="*" type="readwrite" rescanIntervalS="3600" ignorePerms="false" autoNormalize="true">
        <device id="*" introducedBy=""></device>
        <device id="*" introducedBy=""></device>
        <minDiskFree unit="%">1</minDiskFree>
        <versioning type="staggered">
            <param key="cleanInterval" val="3600"></param>
            <param key="maxAge" val="2592000"></param>
            <param key="versionsPath" val=""></param>
        </versioning>
        <copiers>0</copiers>
        <pullers>0</pullers>
        <hashers>0</hashers>
        <order>alphabetic</order>
        <ignoreDelete>false</ignoreDelete>
        <scanProgressIntervalS>0</scanProgressIntervalS>
        <pullerSleepS>0</pullerSleepS>
        <pullerPauseS>0</pullerPauseS>
        <maxConflicts>10</maxConflicts>
        <disableSparseFiles>false</disableSparseFiles>
        <disableTempIndexes>false</disableTempIndexes>
        <fsync>true</fsync>
        <paused>false</paused>
        <weakHashThresholdPct>25</weakHashThresholdPct>
    </folder>
    <folder id="*" label="*" path="*" type="readwrite" rescanIntervalS="14400" ignorePerms="false" autoNormalize="true">
        <device id="*" introducedBy=""></device>
        <device id="*" introducedBy=""></device>
        <minDiskFree unit="%">10</minDiskFree>
        <versioning></versioning>
        <copiers>0</copiers>
        <pullers>0</pullers>
        <hashers>0</hashers>
        <order>alphabetic</order>
        <ignoreDelete>false</ignoreDelete>
        <scanProgressIntervalS>0</scanProgressIntervalS>
        <pullerSleepS>0</pullerSleepS>
        <pullerPauseS>0</pullerPauseS>
        <maxConflicts>10</maxConflicts>
        <disableSparseFiles>false</disableSparseFiles>
        <disableTempIndexes>false</disableTempIndexes>
        <fsync>true</fsync>
        <paused>false</paused>
        <weakHashThresholdPct>25</weakHashThresholdPct>
    </folder>
    <folder id="*" label="*" path="*" type="readonly" rescanIntervalS="14400" ignorePerms="false" autoNormalize="true">
        <device id="*" introducedBy=""></device>
        <device id="*" introducedBy=""></device>
        <minDiskFree unit="%">1</minDiskFree>
        <versioning type="staggered">
            <param key="cleanInterval" val="3600"></param>
            <param key="maxAge" val="2592000"></param>
            <param key="versionsPath" val=""></param>
        </versioning>
        <copiers>0</copiers>
        <pullers>0</pullers>
        <hashers>0</hashers>
        <order>alphabetic</order>
        <ignoreDelete>false</ignoreDelete>
        <scanProgressIntervalS>0</scanProgressIntervalS>
        <pullerSleepS>0</pullerSleepS>
        <pullerPauseS>0</pullerPauseS>
        <maxConflicts>10</maxConflicts>
        <disableSparseFiles>false</disableSparseFiles>
        <disableTempIndexes>false</disableTempIndexes>
        <fsync>true</fsync>
        <paused>false</paused>
        <weakHashThresholdPct>25</weakHashThresholdPct>
    </folder>
    <folder id="*" label="*" path="*" type="readwrite" rescanIntervalS="3600" ignorePerms="false" autoNormalize="true">
        <device id="*" introducedBy=""></device>
        <device id="*" introducedBy=""></device>
        <minDiskFree unit="%">1</minDiskFree>
        <versioning type="staggered">
            <param key="cleanInterval" val="3600"></param>
            <param key="maxAge" val="2592000"></param>
            <param key="versionsPath" val=""></param>
        </versioning>
        <copiers>0</copiers>
        <pullers>0</pullers>
        <hashers>0</hashers>
        <order>alphabetic</order>
        <ignoreDelete>false</ignoreDelete>
        <scanProgressIntervalS>0</scanProgressIntervalS>
        <pullerSleepS>0</pullerSleepS>
        <pullerPauseS>0</pullerPauseS>
        <maxConflicts>10</maxConflicts>
        <disableSparseFiles>false</disableSparseFiles>
        <disableTempIndexes>false</disableTempIndexes>
        <fsync>true</fsync>
        <paused>false</paused>
        <weakHashThresholdPct>25</weakHashThresholdPct>
    </folder>
    <device id="*" name="*" compression="metadata" introducer="false" skipIntroductionRemovals="false" introducedBy="">
        <address>dynamic</address>
        <paused>false</paused>
    </device>
    <device id="*" name="*" compression="metadata" introducer="false" skipIntroductionRemovals="false" introducedBy="">
        <address>dynamic</address>
        <paused>false</paused>
    </device>
    <device id="*" name="*" compression="metadata" introducer="false" skipIntroductionRemovals="false" introducedBy="">
        <address>dynamic</address>
        <paused>false</paused>
    </device>
    <gui enabled="true" tls="true" debugging="false">
        <address>0.0.0.0:8384</address>
        <user>*</user>
        <password>*</password>
        <apikey>*</apikey>
        <theme>default</theme>
    </gui>
    <options>
        <listenAddress>default</listenAddress>
        <globalAnnounceServer>default</globalAnnounceServer>
        <globalAnnounceEnabled>true</globalAnnounceEnabled>
        <localAnnounceEnabled>true</localAnnounceEnabled>
        <localAnnouncePort>21027</localAnnouncePort>
        <localAnnounceMCAddr>*</localAnnounceMCAddr>
        <maxSendKbps>100</maxSendKbps>
        <maxRecvKbps>1500</maxRecvKbps>
        <reconnectionIntervalS>60</reconnectionIntervalS>
        <relaysEnabled>true</relaysEnabled>
        <relayReconnectIntervalM>10</relayReconnectIntervalM>
        <startBrowser>false</startBrowser>
        <natEnabled>true</natEnabled>
        <natLeaseMinutes>60</natLeaseMinutes>
        <natRenewalMinutes>30</natRenewalMinutes>
        <natTimeoutSeconds>10</natTimeoutSeconds>
        <urAccepted>-1</urAccepted>
        <urUniqueID></urUniqueID>
        <urURL>https://data.syncthing.net/newdata</urURL>
        <urPostInsecurely>false</urPostInsecurely>
        <urInitialDelayS>1800</urInitialDelayS>
        <restartOnWakeup>true</restartOnWakeup>
        <autoUpgradeIntervalH>0</autoUpgradeIntervalH>
        <upgradeToPreReleases>false</upgradeToPreReleases>
        <keepTemporariesH>24</keepTemporariesH>
        <cacheIgnoredFiles>false</cacheIgnoredFiles>
        <progressUpdateIntervalS>5</progressUpdateIntervalS>
        <limitBandwidthInLan>false</limitBandwidthInLan>
        <minHomeDiskFree unit="%">1</minHomeDiskFree>
        <releasesURL>https://upgrades.syncthing.net/meta.json</releasesURL>
        <overwriteRemoteDeviceNamesOnConnect>false</overwriteRemoteDeviceNamesOnConnect>
        <tempIndexMinBlocks>10</tempIndexMinBlocks>
        <trafficClass>0</trafficClass>
        <weakHashSelectionMethod>auto</weakHashSelectionMethod>
        <stunServer>default</stunServer>
        <stunKeepaliveSeconds>24</stunKeepaliveSeconds>
        <defaultKCPEnabled>false</defaultKCPEnabled>
        <kcpNoDelay>false</kcpNoDelay>
        <kcpUpdateIntervalMs>25</kcpUpdateIntervalMs>
        <kcpFastResend>false</kcpFastResend>
        <kcpCongestionControl>true</kcpCongestionControl>
        <kcpSendWindowSize>128</kcpSendWindowSize>
        <kcpReceiveWindowSize>128</kcpReceiveWindowSize>
        <minHomeDiskFreePct>0</minHomeDiskFreePct>
    </options>
</configuration>

Here is a sanitized version of my config.xml which appears to be valid XML:

<configuration version="20">
    <folder id="*" label="*" path="*" type="readwrite" rescanIntervalS="3600" ignorePerms="false" autoNormalize="true">
        <device id="*" introducedBy=""></device>
        <device id="*" introducedBy=""></device>
        <minDiskFree unit="%">1</minDiskFree>
        <versioning type="staggered">
            <param key="cleanInterval" val="3600"></param>
            <param key="maxAge" val="2592000"></param>
            <param key="versionsPath" val=""></param>
        </versioning>
        <copiers>0</copiers>
        <pullers>0</pullers>
        <hashers>0</hashers>
        <order>alphabetic</order>
        <ignoreDelete>false</ignoreDelete>
        <scanProgressIntervalS>0</scanProgressIntervalS>
        <pullerSleepS>0</pullerSleepS>
        <pullerPauseS>0</pullerPauseS>
        <maxConflicts>10</maxConflicts>
        <disableSparseFiles>false</disableSparseFiles>
        <disableTempIndexes>false</disableTempIndexes>
        <fsync>true</fsync>
        <paused>false</paused>
        <weakHashThresholdPct>25</weakHashThresholdPct>
    </folder>
    <folder id="*" label="*" path="*" type="readwrite" rescanIntervalS="14400" ignorePerms="false" autoNormalize="true">
        <device id="*" introducedBy=""></device>
        <device id="*" introducedBy=""></device>
        <minDiskFree unit="%">10</minDiskFree>
        <versioning></versioning>
        <copiers>0</copiers>
        <pullers>0</pullers>
        <hashers>0</hashers>
        <order>alphabetic</order>
        <ignoreDelete>false</ignoreDelete>
        <scanProgressIntervalS>0</scanProgressIntervalS>
        <pullerSleepS>0</pullerSleepS>
        <pullerPauseS>0</pullerPauseS>
        <maxConflicts>10</maxConflicts>
        <disableSparseFiles>false</disableSparseFiles>
        <disableTempIndexes>false</disableTempIndexes>
        <fsync>true</fsync>
        <paused>false</paused>
        <weakHashThresholdPct>25</weakHashThresholdPct>
    </folder>
    <folder id="*" label="*" path="*" type="readonly" rescanIntervalS="14400" ignorePerms="false" autoNormalize="true">
        <device id="*" introducedBy=""></device>
        <device id="*" introducedBy=""></device>
        <minDiskFree unit="%">1</minDiskFree>
        <versioning type="staggered">
            <param key="cleanInterval" val="3600"></param>
            <param key="maxAge" val="2592000"></param>
            <param key="versionsPath" val=""></param>
        </versioning>
        <copiers>0</copiers>
        <pullers>0</pullers>
        <hashers>0</hashers>
        <order>alphabetic</order>
        <ignoreDelete>false</ignoreDelete>
        <scanProgressIntervalS>0</scanProgressIntervalS>
        <pullerSleepS>0</pullerSleepS>
        <pullerPauseS>0</pullerPauseS>
        <maxConflicts>10</maxConflicts>
        <disableSparseFiles>false</disableSparseFiles>
        <disableTempIndexes>false</disableTempIndexes>
        <fsync>true</fsync>
        <paused>false</paused>
        <weakHashThresholdPct>25</weakHashThresholdPct>
    </folder>
    <folder id="*" label="*" path="*" type="readwrite" rescanIntervalS="3600" ignorePerms="false" autoNormalize="true">
        <device id="*" introducedBy=""></device>
        <device id="*" introducedBy=""></device>
        <minDiskFree unit="%">1</minDiskFree>
        <versioning type="staggered">
            <param key="cleanInterval" val="3600"></param>
            <param key="maxAge" val="2592000"></param>
            <param key="versionsPath" val=""></param>
        </versioning>
        <copiers>0</copiers>
        <pullers>0</pullers>
        <hashers>0</hashers>
        <order>alphabetic</order>
        <ignoreDelete>false</ignoreDelete>
        <scanProgressIntervalS>0</scanProgressIntervalS>
        <pullerSleepS>0</pullerSleepS>
        <pullerPauseS>0</pullerPauseS>
        <maxConflicts>10</maxConflicts>
        <disableSparseFiles>false</disableSparseFiles>
        <disableTempIndexes>false</disableTempIndexes>
        <fsync>true</fsync>
        <paused>false</paused>
        <weakHashThresholdPct>25</weakHashThresholdPct>
    </folder>
    <device id="*" name="*" compression="metadata" introducer="false" skipIntroductionRemovals="false" introducedBy="">
        <address>dynamic</address>
        <paused>false</paused>
    </device>
    <device id="*" name="*" compression="metadata" introducer="false" skipIntroductionRemovals="false" introducedBy="">
        <address>dynamic</address>
        <paused>false</paused>
    </device>
    <device id="*" name="*" compression="metadata" introducer="false" skipIntroductionRemovals="false" introducedBy="">
        <address>dynamic</address>
        <paused>false</paused>
    </device>
    <gui enabled="true" tls="true" debugging="false">
        <address>0.0.0.0:8384</address>
        <user>*</user>
        <password>*</password>
        <apikey>*</apikey>
        <theme>default</theme>
    </gui>
    <options>
        <listenAddress>default</listenAddress>
        <globalAnnounceServer>default</globalAnnounceServer>
        <globalAnnounceEnabled>true</globalAnnounceEnabled>
        <localAnnounceEnabled>true</localAnnounceEnabled>
        <localAnnouncePort>21027</localAnnouncePort>
        <localAnnounceMCAddr>*</localAnnounceMCAddr>
        <maxSendKbps>100</maxSendKbps>
        <maxRecvKbps>1500</maxRecvKbps>
        <reconnectionIntervalS>60</reconnectionIntervalS>
        <relaysEnabled>true</relaysEnabled>
        <relayReconnectIntervalM>10</relayReconnectIntervalM>
        <startBrowser>false</startBrowser>
        <natEnabled>true</natEnabled>
        <natLeaseMinutes>60</natLeaseMinutes>
        <natRenewalMinutes>30</natRenewalMinutes>
        <natTimeoutSeconds>10</natTimeoutSeconds>
        <urAccepted>-1</urAccepted>
        <urUniqueID></urUniqueID>
        <urURL>https://data.syncthing.net/newdata</urURL>
        <urPostInsecurely>false</urPostInsecurely>
        <urInitialDelayS>1800</urInitialDelayS>
        <restartOnWakeup>true</restartOnWakeup>
        <autoUpgradeIntervalH>0</autoUpgradeIntervalH>
        <upgradeToPreReleases>false</upgradeToPreReleases>
        <keepTemporariesH>24</keepTemporariesH>
        <cacheIgnoredFiles>false</cacheIgnoredFiles>
        <progressUpdateIntervalS>5</progressUpdateIntervalS>
        <limitBandwidthInLan>false</limitBandwidthInLan>
        <minHomeDiskFree unit="%">1</minHomeDiskFree>
        <releasesURL>https://upgrades.syncthing.net/meta.json</releasesURL>
        <overwriteRemoteDeviceNamesOnConnect>false</overwriteRemoteDeviceNamesOnConnect>
        <tempIndexMinBlocks>10</tempIndexMinBlocks>
        <trafficClass>0</trafficClass>
        <weakHashSelectionMethod>auto</weakHashSelectionMethod>
        <stunServer>default</stunServer>
        <stunKeepaliveSeconds>24</stunKeepaliveSeconds>
        <defaultKCPEnabled>false</defaultKCPEnabled>
        <kcpNoDelay>false</kcpNoDelay>
        <kcpUpdateIntervalMs>25</kcpUpdateIntervalMs>
        <kcpFastResend>false</kcpFastResend>
        <kcpCongestionControl>true</kcpCongestionControl>
        <kcpSendWindowSize>128</kcpSendWindowSize>
        <kcpReceiveWindowSize>128</kcpReceiveWindowSize>
        <minHomeDiskFreePct>0</minHomeDiskFreePct>
    </options>
</configuration>

Check JS console on the browser for errors.

Chrome 58.0.3029.110 (64-bit) shows nothing in the console.

Syncthing v0.14.30 on Windows 7 (x64).

Ah, interesting. When using a browser on localhost, the settings show up fine. When accessing the same machine via a domain, this is when it fails. Maybe some CORS stuff? I guess I don’t need to be using HTTPS…

Yep, works fine over HTTP.

So, er, the GUI loads the config in one fell swoop. There should be no possibility of some values going missing along the way. Windows? Antivirus?

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.