MultiMC / Launcher

A custom launcher for Minecraft that allows you to easily manage multiple installations of Minecraft at once
https://multimc.org/
Other
4.32k stars 884 forks source link

Possible race condition on update checker #2993

Closed SoniEx2 closed 4 years ago

SoniEx2 commented 4 years ago

System Information

MultiMC version: 0.6.7-develop-1326

Operating System: Arch Linux

Summary of the issue or suggestion:

1581000715

What should happen:

It should prompt for update normally.

Steps to reproduce the issue (Add more if needed):

  1. Open MultiMC

  2. Press "return" at just the right time

Suspected cause:

Race condition in UI

Logs/Screenshots:

(PI removed)

``` 0.050 D <> Log initialized. 0.050 D MultiMC 5, (c) 2013-2019 MultiMC Contributors 0.050 D Version : "0.6.7-develop-1326" 0.050 D Git commit : "8bdff97ac0ff39f4a20e7e929b14b70427878b10" 0.050 D Git refspec : "refs/heads/develop" 0.050 D Work dir before adjustment : "/home/soniex2" 0.050 D Work dir after adjustment : "/home/soniex2/MultiMC" 0.050 D Adjusted by : "Command line /home/soniex2/MultiMC" 0.050 D Binary path : "/home/soniex2/MultiMC/bin" 0.050 D Application root path : "/home/soniex2/MultiMC" 0.050 D <> Paths set. 0.066 D Detected default console font: "Bitstream Vera Sans Mono" , substitutions: "" 0.067 D <> Settings loaded. 0.068 D Your language is "en" 0.068 D <> Translations loaded. 0.068 D <> Updater started. 0.069 D Started watching "/home/soniex2/MultiMC/icons" 0.069 D Adding "icons/ .png" 0.078 D Adding "icons/.png" 0.084 D <> Instance icons intialized. 0.084 D <> Icon themes initialized. 0.084 D "" 0.084 D Loading theme "custom" 0.084 D <> Widget themes initialized. 0.084 D Instance path : "instances" 0.085 D Loading Instances... 0.085 D Discovering instances in "/home/soniex2/MultiMC/instances" 0.085 D Found instance ID "" 0.085 D Found instance ID "" 0.085 D Found instance ID "" 0.085 D Found instance ID "" 0.085 D Found instance ID "" 0.085 D Found instance ID "" 0.085 D Found instance ID "" 0.086 D Found instance ID "" 0.086 D Found instance ID "" 0.086 D Found instance ID "" 0.086 D Found instance ID "" 0.086 D Found instance ID "" 0.086 D Found instance ID "" 0.086 D Found instance ID "" 0.086 D Found instance ID "" 0.086 D Found instance ID "" 0.086 D Found instance ID "" 0.086 D Found instance ID "" 0.086 D Found instance ID "" 0.086 D Found instance ID "" 0.086 D Found instance ID "" 0.086 D Found instance ID "" 0.086 D Found instance ID "" 0.086 D Found instance ID "" 0.086 D Found instance ID "" 0.087 D Found instance ID "" 0.087 D Found instance ID "" 0.087 D Found instance ID "" 0.087 D Found instance ID "" 0.087 D Found instance ID "" 0.087 D Found instance ID "" 0.087 D Found instance ID "" 0.087 D Found instance ID "" 0.087 D Found instance ID "" 0.087 D Found instance ID "" 0.087 D Found instance ID "" 0.087 D Found instance ID "" 0.087 D Will load group list now. 0.087 D Group list loaded. 0.088 D Loaded instance "" from "" 0.089 D Loaded instance "" from "" 0.089 D Loaded instance "" from "" 0.090 D Loaded instance "" from "" 0.090 D Loaded instance "" from "" 0.091 D Loaded instance "" from "" 0.092 D Loaded instance "" from "" 0.092 D Loaded instance "" from "" 0.093 D Loaded instance "" from "" 0.093 D Loaded instance "" from "" 0.094 D Loaded instance "" from "" 0.095 D Loaded instance "" from "" 0.095 D Loaded instance "" from "" 0.096 D Loaded instance "" from "" 0.096 D Loaded instance "" from "" 0.097 D Loaded instance "" from "" 0.098 D Loaded instance "" from "" 0.098 D Loaded instance "" from "" 0.099 D Loaded instance "" from "" 0.099 D Loaded instance "" from "" 0.100 D Loaded instance "" from "" 0.101 D Loaded instance "" from "" 0.101 D Loaded instance "" from "" 0.102 D Loaded instance "" from "" 0.102 D Loaded instance "" from "" 0.103 D Loaded instance "" from "" 0.103 D Loaded instance "" from "" 0.104 D Loaded instance "" from "" 0.105 D Loaded instance "" from "" 0.105 D Loaded instance "" from "" 0.106 D Loaded instance "" from "" 0.106 D Loaded instance "" from "" 0.107 D Loaded instance "" from "" 0.107 D Loaded instance "" from "" 0.108 D Loaded instance "" from "" 0.109 D Loaded instance "" from "" 0.109 D Loaded instance "" from "" 0.109 D <> Instances loaded. 0.109 D Loading accounts... 0.109 D <> Accounts loaded. 0.111 D <> Cache initialized. 0.111 D Detecting proxy settings... 0.111 D Using no proxy is an option! 0.111 D <> Proxy settings done. 0.111 D Downloading Translations Index... 0.111 D Task "NetJob(Translations Index)" starting for the first time 0.112 D <> Icon theme set. 0.112 D <> Application theme set. 0.112 D <> Initialized analytics with tid "UA-87731965-2" 0.189 W QMetaObject::connectSlotsByName: No matching signal for on_actionInstanceSettings_triggered() 0.205 D Task "NetJob(Status JSON)" starting for the first time 0.207 D Task "NetJob(Startup player skins download)" starting for the first time 0.207 D Reloading news. 0.207 D Task "NetJob(News RSS Feed)" starting for the first time 0.207 D Checking for updates. 0.207 D Channel list isn't loaded yet. Loading channel list and deferring update check. 0.207 D Loading the channel list. 0.207 D Task "NetJob(Update System Channel List)" starting for the first time 0.207 D Task "NetJob(Checking for notifications)" starting for the first time 0.415 D Viewport size "694x563" 0.416 D RAM size is 7931 MB 0.444 D "LSB Version: 1.4 Distributor ID: Arch Description: Arch Linux Release: rolling Codename: n/a " 0.445 D [Analytics] "ScreenView: Main Window" 0.445 D <> Main window shown. 0.445 D Downloading "https://files.multimc.org/translations/index_v2.json" 0.449 D Downloading "https://status.mojang.com/check" 0.449 D Downloading "https://crafatar.com/skins/57dc244023994d649ad67d61ae9b969f.png" 0.449 D Downloading "https://multimc.org/rss.xml" 0.449 D Downloading "https://files.multimc.org/update/lin64/channels.json" 0.450 D Downloading "https://files.multimc.org/notifications.json" 0.487 D Dir changed: "/home/soniex2/MultiMC/translations" 1.108 D Download succeeded: "https://crafatar.com/skins/57dc244023994d649ad67d61ae9b969f.png" 1.108 D Task "NetJob(Startup player skins download)" succeeded 1.126 D Download succeeded: "https://files.multimc.org/update/lin64/channels.json" 1.127 D Task "NetJob(Update System Channel List)" succeeded 1.127 D Successfully loaded UpdateChecker channel list. 1.127 D Checking for updates. 1.127 D m_repoUrl = "http://files.multimc.org/update/lin64/develop/" 1.127 D Task "NetJob(GoUpdate Repository Index)" starting for the first time 1.127 D Downloading "http://files.multimc.org/update/lin64/develop/index.json" 1.195 D Location header: QUrl("https://files.multimc.org/update/lin64/develop/index.json") 1.195 D Following redirect to "https://files.multimc.org/update/lin64/develop/index.json" 1.195 D Downloading "https://files.multimc.org/update/lin64/develop/index.json" 1.195 D Download redirected: "https://files.multimc.org/update/lin64/develop/index.json" 1.393 D Download succeeded: "https://multimc.org/rss.xml" 1.393 D Task "NetJob(News RSS Feed)" succeeded 1.393 D Finished loading RSS feed. 1.395 D Loaded news entry "Let's Talk About Forge" 1.395 D Loaded news entry "0.6.7 - UI fixes and important metadata news - update required!" 1.395 D Loaded news entry "0.6.5 - translation UI and legacy sound fixes" 1.395 D Loaded news entry "0.6.4 - better translation workflow and new FTB API location" 1.395 D Loaded news entry "0.6.3 - The Big Sync" 1.395 D Loaded news entry "0.6.2 Released!" 1.395 D Loaded news entry "0.6.1 Released!" 1.395 D Loaded news entry "0.6.0 Released!" 1.395 D Loaded news entry "Introducing the Archive" 1.396 D Loaded news entry "0.5.1 - Bugfixes." 1.396 D Loaded news entry "0.5.0 - Running multiple instances at the same time!" 1.396 D Loaded news entry "0.4.11 - OSX 10.7 fix and workaround for Minecraft 1.9 compatibility" 1.396 D Loaded news entry "0.4.10 - Another wifi fix" 1.396 D Loaded news entry "0.4.9 - the Windows wifi fix." 1.396 D Loaded news entry "0.4.8 - Worlds and more." 1.396 D Loaded news entry "0.4.7 - What 0.4.6 should have been." 1.396 D Loaded news entry "0.4.6 - Bug fixes and improvements!" 1.396 D Loaded news entry "0.4.5 - Translations, Themes, and Technic" 1.397 D Loaded news entry "0.4 out - Jar mods, UI changes, and more!" 1.397 D Loaded news entry "Introducing QuickMods - A better way to install mods" 1.397 D Loaded news entry "Support us on Patreon!" 1.397 D Loaded news entry "Heartbleed Vulnerability Update (fixed!)" 1.397 D Loaded news entry "Announcing MultiMC 6" 1.397 D Loaded news entry "0.3 - The big feature update." 1.397 D Loaded news entry "First official MultiMC 5 release!" 1.397 D Loaded news entry "MultiMC Status Update" 1.397 D News loading succeeded. 1.432 D Download succeeded: "https://status.mojang.com/check" 1.432 D Task "NetJob(Status JSON)" succeeded 1.432 D Finished loading status JSON. 1.432 D Status loading succeeded. 1.556 D Download succeeded: "https://files.multimc.org/notifications.json" 1.594 D Task "NetJob(Checking for notifications)" succeeded 1.659 D Download succeeded: "https://files.multimc.org/translations/index_v2.json" 1.659 D Task "NetJob(Translations Index)" succeeded 1.659 D Got translations index! 1.704 D Task "LaunchController(0x29c72c0)" starting for the first time 1.705 D Task "RefreshTask(0x29c9110)" starting for the first time 1.934 D Download succeeded: "https://files.multimc.org/update/lin64/develop/index.json" 1.934 D Task "NetJob(GoUpdate Repository Index)" succeeded 1.935 D Finished downloading repo index. Checking for new versions. 1.935 D Processing repository version list. 1.936 D Found newer version with ID 1329 1.938 D Task "NetJob(Changelog)" starting for the first time 1.945 D Downloading "https://api.github.com/repos/MultiMC/MultiMC5/compare/8bdff97ac0ff39f4a20e7e929b14b70427878b10...develop" 2.696 D Processing authentication response. 2.696 D Getting new access token. 2.696 D Finished reading refresh response. 2.696 D Task "RefreshTask(0x29c9110)" succeeded 2.696 D Writing account list to "accounts.json" 2.696 D Building JSON data structure. 2.696 D Building account array. 2.696 D Writing account list to file. 2.697 D Saved account list to "accounts.json" 2.802 D Download succeeded: "https://api.github.com/repos/MultiMC/MultiMC5/compare/8bdff97ac0ff39f4a20e7e929b14b70427878b10...develop" 2.802 D Task "NetJob(Changelog)" succeeded 30.310 D [Analytics] "Query string = v=1&tid=UA-87731965-2&cid=607ca7aa-cd80-4b4a-b61b-32e40d9fe3ce&t=screenview&ul=en-ca&vp=694x563&sr=1920x1080&aip=1&cd=Main Window&an=MultiMC5&av=0.6.7-develop-1326&cd1=1.8.0_232&cd2=64&cd3=64&cd4=64&cd5=Linux&cd6=5.4.6-1-ck-ivybridge&cd7=arch&cd8=rolling&cm1=512&cm2=1536&cm3=7931&qt=29865" 31.112 D [Analytics] "Message sent" 60.311 D Task "NetJob(Status JSON)" starting for the first time 60.311 D Downloading "https://status.mojang.com/check" 61.039 D Download succeeded: "https://status.mojang.com/check" 61.039 D Task "NetJob(Status JSON)" succeeded 61.039 D Finished loading status JSON. 61.039 D Status loading succeeded. ``` Additional Info: ---------------------------
SoniEx2 commented 4 years ago

oh also: it did not launch the instance. :/

Zetabite commented 4 years ago

can you try building from AUR?

SoniEx2 commented 4 years ago

it launched the instance when I hit "close" fwiw. but yeah.

also, no, I don't wanna build from AUR. that's how you invalidate an issue.

Zetabite commented 4 years ago

i mean, from what you said, it sounded like you asked for it to do something weird :D

SoniEx2 commented 4 years ago

I asked it to launch the last selected instance as soon as it showed up, before it had time to check for updates. why's that weird?

Zetabite commented 4 years ago

"Press "return" at just the right time"

SoniEx2 commented 4 years ago

yes, right before it checks for updates.

Zetabite commented 4 years ago

"also, no, I don't wanna build from AUR. that's how you invalidate an issue."?

SoniEx2 commented 4 years ago

I use the official builds so the reports don't get invalidated for using an unofficial build.

Zetabite commented 4 years ago

uh, both aur for it are made by peterix

Zetabite commented 4 years ago

so as i understand: you opened mmc, the update window showed up while you pressed enter and than mmc crashed?

SoniEx2 commented 4 years ago

nah, it didn't crash. it just had a wrong update checker prompt. notice the update checker says no updates available but shows a diff(?), that's kinda weird I guess.

Zetabite commented 4 years ago

well commits were done but probably no release created. on multimc-git it would have cause it to update

DBotThePony commented 4 years ago

can confirm this also happened to me (windows 10)