KSP-CKAN / CKAN

The Comprehensive Kerbal Archive Network
https://forum.kerbalspaceprogram.com/index.php?/topic/197082-*
Other
1.97k stars 347 forks source link

[Bug] Mod list refresh gets stuck between "Updating filters..." and "Updating tray..." #3683

Closed darthgently closed 1 year ago

darthgently commented 1 year ago

Background

Have you made any manual changes to your GameData folder (i.e., not via CKAN)? No


Describe the bug

Gui client endlessly scrolling progress bars on linux during "updating filters" phase after some network issues were resolved, killing ckan, manually removing ckan lock file, and restarting ckan.

Screenshots (if applicable)

ckanhang

Debug log: ckan-debug.LOG

HebaruSan commented 1 year ago

while registry.json apparently has many filters in it.

Can you please explain what you mean by that? What are you seeing in that file that you think is related to this issue?

darthgently commented 1 year ago

I don't know that it means anything. I looked for places ckan would store filters and found entries in that file. If it is irrelevant then it is irrelevant, but thought it might be helpful in absence of a log.

HebaruSan commented 1 year ago

I don't know that it means anything. I looked for places ckan would store filters and found entries in that file. If it is irrelevant then it is irrelevant, but thought it might be helpful in absence of a log.

What did you find though? That's all I'm asking. You say you found entries in the file, what did you find?

darthgently commented 1 year ago

Mea culpa, too much online time and detecting sarcasm where none exists I suppose. There are many json "filter" elements in the file while the command line "ckan filter list" shows no filters and I thought that might be informative for someone who knows how the code works (not me). It is a large file so I'll just paste result of grep -A3 "filter" registry.json below. Let me know if you want full file:

Click to expand ``` "filter": [ "Thumbs.db" ] } -- "filter": [ "DeimosRast", "TK421d", "MiniAVC.dll" -- "filter": [ "DeimosRast", "TK421d", "MiniAVC.dll" -- "filter": [ "DeimosRast", "TK421d", "MiniAVC.dll" -- "filter": [ "DeimosRast", "TK421d", "MiniAVC.dll" -- "filter": [ ".git" ] } -- "filter": [ ".git" ] } -- "filter": [ ".git" ] } -- "filter": [ ".git" ] } -- "filter": [ ".git" ] } -- "filter": [ ".git" ] } -- "filter": [ ".git" ] } -- "filter": [ ".git" ] } -- "filter": [ "Source" ] } -- "filter": [ "Firespitter" ] } -- "filter": [ "000_Toolbar" ] } -- "filter": [ "000_Toolbar" ] } -- "filter": [ "src" ] } -- "filter": [ "Plugins" ] } -- "filter": [ "Ships" ] }, -- "filter_regexp": [ ".*\\.pdb$" ] } -- "filter_regexp": [ ".*\\.pdb$" ] } -- "filter_regexp": [ ".*\\.pdb$" ] } -- "filter_regexp": [ ".*\\.pdb$" ] } -- "filter_regexp": [ ".*\\.pdb$" ] } -- "filter_regexp": [ ".*\\.pdb$" ] } -- "filter_regexp": [ ".*\\.pdb$" ] } -- "filter_regexp": [ ".*\\.pdb$" ] } -- "filter_regexp": [ ".*\\.pdb$" ] } -- "filter_regexp": [ ".*\\.pdb$" ] } -- "filter_regexp": [ ".*\\.pdb$" ] } -- "filter_regexp": [ ".*\\.pdb$" ] } -- "filter_regexp": [ ".*\\.pdb$" ] } -- "filter_regexp": [ ".*\\.pdb$" ] } -- "filter_regexp": [ ".*\\.pdb$" ] } -- "filter_regexp": [ ".*\\.pdb$" ] } -- "filter_regexp": [ ".*\\.pdb$" ] } -- "filter_regexp": [ ".*\\.pdb$" ] } -- "filter_regexp": [ ".*\\.pdb$" ] } -- "filter_regexp": [ ".*\\.pdb$" ] } -- "filter_regexp": [ ".*\\.pdb$" ] } -- "filter_regexp": [ ".*\\.pdb$" ] } -- "filter": [ "ModuleAirlock.cs" ] } -- "filter": [ "ModuleAirlock.cs" ] } -- "filter": [ "Flags" ] } -- "filter": [ "Agencies" ] } -- "filter": [ "Agencies" ] } -- "filter": [ "Agencies" ] } -- "filter": [ "Agencies" ] } -- "filter": [ "Agencies" ] } -- "filter": [ "Agencies" ] } -- "filter": [ "Agencies" ] } -- "filter": [ "Agencies" ] } -- "filter": [ "Agencies" ] } -- "filter": [ "Agencies" ] } -- "filter": [ "Agencies" ] } -- "filter": [ "Agencies", "RSTKSPUtils" ] -- "filter": [ "Agencies", "RSTKSPUtils" ] -- "filter": [ "Agencies", "RSTKSPUtils" ] -- "filter": [ "Agencies", "RSTKSPUtils" ] -- "filter": [ "Agencies", "RSTKSPUtils" ] -- "filter": [ "Agencies", "RSTKSPUtils" ] -- "filter": [ "Agencies", "RSTKSPUtils" ] -- "filter": [ "Agencies", "RSTKSPUtils" ] -- "filter": [ "Agencies", "RSTKSPUtils" ] -- "filter": [ "Agencies", "RSTKSPUtils" ] -- "filter": [ "Agencies", "RSTKSPUtils" ] -- "filter": [ "Agencies", "RSTKSPUtils" ] -- "filter": [ "Agencies", "RSTKSPUtils" ] -- "filter": [ "Agencies", "RSTKSPUtils" ] -- "filter": [ "Agencies", "RSTKSPUtils" ] -- "filter": [ "Agencies", "RSTKSPUtils" ] -- "filter": [ "Agencies", "RSTKSPUtils" ] -- "filter": [ "Thumbs.db" ] } -- "filter": [ "Thumbs.db" ] } -- "filter": [ ".DS_Store" ] } -- "filter": [ ".DS_Store" ] } -- "filter": [ ".DS_Store" ] } -- "filter": [ ".DS_Store" ] } -- "filter": [ ".DS_Store" ] } -- "filter": [ ".DS_Store" ] } -- "filter": [ ".DS_Store" ] } -- "filter": [ ".DS_Store" ] } -- "filter": [ ".DS_Store" ] } -- "filter": [ ".DS_Store" ] } -- "filter": [ ".DS_Store" ] } -- "filter": [ ".DS_Store" ] } -- "filter": [ ".DS_Store" ] } -- "filter": [ ".DS_Store" ] } -- "filter": [ ".DS_Store" ] } -- "filter": [ ".DS_Store" ] } -- "filter": [ ".DS_Store" ] } -- "filter": [ ".DS_Store" ] } -- "filter": [ ".DS_Store" ] } -- "filter": [ ".DS_Store" ] } -- "filter": [ ".DS_Store" ] } -- "filter": [ ".DS_Store" ] } -- "filter": [ ".DS_Store" ] } -- "filter": [ ".DS_Store" ] } -- "filter": [ ".DS_Store" ] } -- "filter": [ ".DS_Store" ] } -- "filter": [ ".DS_Store" ] } -- "filter": [ ".DS_Store" ] } -- "filter": [ ".DS_Store" ] } -- "filter": [ ".DS_Store" ] } -- "filter": [ "Source" ] } -- "filter": [ "Source" ] } -- "filter": [ "Source" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".git" ] } -- "filter": [ ".git" ] } -- "filter": [ ".git" ] } -- "filter": [ "Props" ] }, -- "filter": [ "Props" ] } -- "filter": [ "Props" ] } -- "filter": [ "Props" ] } -- "filter": [ "Props" ] } -- "filter": [ "Props" ] } -- "filter": [ "Props" ] } -- "filter": [ "Props" ] } -- "filter": [ "Props" ] } -- "filter": [ "Props" ] } -- "filter": [ "Props" ] } -- "filter": [ "Props" ] } -- "filter": [ "Props" ] } -- "filter": [ "Props" ] } -- "filter": [ "Props" ] } -- "filter_regexp": [ ".*\\.pdb$" ] } -- "filter_regexp": [ ".*\\.pdb$" ] } -- "filter_regexp": [ ".*\\.pdb$" ] } -- "filter": [ "Thumbs.db" ] } -- "filter": [ "Thumbs.db" ] } -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter": [ "craft" ] }, -- "filter_regexp": [ ".*~$" ] } -- "filter_regexp": [ ".*~$" ] } -- "filter_regexp": [ ".*~$" ] } -- "filter_regexp": [ ".*~$" ] } -- "filter_regexp": [ ".*~$" ] } -- "filter_regexp": [ ".*~$" ] } -- "filter_regexp": [ ".*~$" ] } -- "filter_regexp": [ ".*~$" ] } -- "filter_regexp": [ ".*~$" ] } -- "filter_regexp": [ ".*~$" ] } -- "filter_regexp": [ ".*~$" ] } -- "filter_regexp": [ ".*~$" ] } -- "filter_regexp": [ ".*~$" ] } -- "filter": [ "__MACOSX" ] } -- "filter": [ "__MACOSX" ] } -- "filter": [ "__MACOSX" ] } -- "filter": [ "__MACOSX" ] } -- "filter": [ "__MACOSX" ] } -- "filter": [ "__MACOSX" ] } -- "filter": [ "__MACOSX" ] } -- "filter": [ "Plugins", "Changelog.txt", "License.txt" -- "filter": [ "Plugins" ] }, -- "filter": [ "Plugins" ] }, -- "filter": [ "Flags", "Agencies" ] -- "filter": [ ".DS_Store" ] } -- "filter": [ "Source", "BiomaticConfig.cfg" ] -- "filter": [ "Source", "BiomaticConfig.cfg" ] -- "filter": [ "Source", "BiomaticConfig.cfg" ] -- "filter": [ "Source", "BiomaticConfig.cfg" ] -- "filter": [ "Source", "BiomaticConfig.cfg" ] -- "filter": [ "BiomaticConfig.cfg" ] } -- "filter": [ "Realistic Retextures" ] } -- "filter": [ "Realistic Retextures" ] } -- "filter": [ "Realistic Retextures" ] } -- "filter": [ "Realistic Retextures" ] } -- "filter": [ "Realistic Retextures" ] } -- "filter": [ "Realistic Retextures" ] } -- "filter": [ "Realistic Retextures" ] } -- "filter": [ "Realistic Retextures" ] } -- "filter": [ "Realistic Retextures" ] } -- "filter": [ "Realistic Retextures" ] } -- "filter": [ "Realistic Retextures" ] } -- "filter": [ "Realistic Retextures" ] } -- "filter": [ "Realistic Retextures" ] } -- "filter": [ "Realistic Retextures" ] } -- "filter": [ "Realistic Retextures" ] } -- "filter": [ "Realistic Retextures" ] } -- "filter": [ "Realistic Retextures" ] } -- "filter": [ "Ships" ] }, -- "filter_regexp": [ "\\.ddsified$" ] } -- "filter_regexp": [ "\\.ddsified$" ] } -- "filter_regexp": [ "\\.ddsified$" ] } -- "filter_regexp": [ "\\.ddsified$" ] } -- "filter": [ "Ships", "Templates" ] -- "filter": [ "Ships", "Templates" ] -- "filter": [ "Ships", "Templates" ] -- "filter": [ "Ships", "Templates" ] -- "filter": [ "Ships", "Templates" ] -- "filter": [ "Ships", "Templates" ] -- "filter": [ "Ships", "Templates" ] -- "filter": [ "Ships", "Templates" ] -- "filter": [ "Ships" ] }, -- "filter": [ "Ships" ] }, -- "filter": [ "Ships" ] }, -- "filter": [ "BTforCommandModules.zip" ] } -- "filter": [ "BTforCommandModules.zip" ] } -- "filter": [ "BTforCommandModules.zip" ] } -- "filter": [ "BTforCommandModules.zip" ] } -- "filter": [ "BTforCommandModules.zip" ] } -- "filter": [ "Localizations" ] } -- "filter": [ "Localizations" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ ".gitignore" ] } -- "filter_regexp": [ ".*\\.pdb$" ] }, -- "filter_regexp": [ ".*\\.pdb$" ] }, -- "filter_regexp": [ ".*\\.pdb$" ] }, -- "filter_regexp": [ ".*\\.pdb$" ] }, -- "filter_regexp": [ ".*\\.pdb$" ] }, -- "filter_regexp": [ ".*\\.pdb$" ] }, -- "filter_regexp": [ ".*\\.pdb$" ] }, -- "filter_regexp": [ ".*\\.pdb$" ] }, -- "filter_regexp": [ ".*\\.pdb$" ] }, -- "filter": [ "Crap.tt" ] } -- "filter": [ ".gitignore" ] } -- "filter": [ "Thumbs.db" ] }, -- "filter": [ "Thumbs.db" ] }, -- "filter": [ ".DS_Store" ] }, -- "filter": [ "Regolith.dll", "CivilianManagement.pdb" ] -- "filter": [ "Regolith.dll", "CivilianManagement.pdb" ] -- "filter": [ "ignore" ] } -- "filter": [ "ignore" ] } -- "filter": [ "ignore" ] } -- "filter": [ "ignore" ] } -- "filter": [ "ignore" ] } -- "filter": [ "CraftFiles" ] }, -- "filter": [ "CraftFiles" ] }, -- "filter": [ "CraftFiles" ] }, -- "filter": [ "CraftFiles" ] }, -- "filter": [ "CraftFiles" ] }, -- "filter": [ "CraftFiles" ] } -- "filter": [ "CraftFiles" ] } -- "filter": [ "Extras" ] } -- "filter": [ "Extras" ] } -- "filter": [ "Extras" ] } -- "filter": [ "Extras" ] } -- "filter": [ "Extras" ] } -- "filter": [ "Extras" ] } -- "filter": [ "Extras" ] } -- "filter": [ "Extras" ] } -- "filter": [ "Extras" ] } -- "filter": [ "Extras" ] } -- "filter": [ "Extras" ] } -- "filter": [ "Extras" ] } -- "filter": [ "Extras" ] } -- "filter": [ "Extras" ] } -- "filter": [ "Extras" ] } -- "filter": [ "Extras" ] } -- "filter": [ "Extras" ] } -- "filter": [ "Extras" ] } -- "filter": [ "Extras" ] } -- "filter": [ "Extras" ] } -- "filter": [ "Extras" ] } -- "filter": [ "Extras" ] } -- "filter": [ "Extras" ] } -- "filter": [ "Extras" ] } -- "filter": [ "Extras" ] } -- "filter": [ "Extras" ] } -- "filter": [ "Extras" ] } -- "filter": [ "Extras" ] } -- "filter": [ "Extras" ] } -- "filter": [ "Extras" ] } -- "filter": [ "Extras" ] } -- "filter": [ "Extras" ] } -- "filter": [ "category_hide_cck.cfg" ] } -- "filter": [ "category_hide_cck.cfg" ] } -- "filter": [ "category_hide_cck.cfg" ] } -- "filter": [ "category_hide_cck.cfg" ] } -- "filter": [ "category_hide_cck.cfg" ] } -- "filter": [ "category_hide_cck.cfg" ] } -- "filter": [ "category_hide_cck.cfg" ] } -- "filter": [ "category_hide_cck.cfg" ] } -- "filter": [ "category_hide_cck.cfg" ] } -- "filter": [ "category_hide_cck.cfg" ] } -- "filter": [ "category_hide_cck.cfg" ] } -- "filter": [ "category_hide_cck.cfg" ] } -- "filter": [ "category_hide_cck.cfg" ] } -- "filter": [ "category_hide_cck.cfg" ] } -- "filter": [ "category_hide_cck.cfg" ] } -- "filter": [ "category_hide_cck.cfg" ] } -- "filter": [ "category_hide_cck.cfg" ] } -- "filter": [ "category_hide_cck.cfg" ] } -- "filter": [ "category_hide_cck.cfg" ] } -- "filter": [ "category_hide_cck.cfg" ] } -- "filter": [ "category_hide_cck.cfg" ] } -- "filter": [ "category_hide_cck_parts.cfg" ] } -- "filter": [ "CPTE_category_hide_cck_parts.cfg" ] } -- "filter": [ "CPTE_category_hide_cck_parts.cfg" ] } -- "filter": [ "CPTE_category_hide_cck_parts.cfg" ] } -- "filter": [ "CPTE_category_hide_cck_parts.cfg" ] } -- "filter": [ "CPTE_category_hide_cck_parts.cfg" ] } -- "filter": [ "CPTE_category_hide_cck_parts.cfg" ] } -- "filter": [ "CPTE_category_hide_cck_parts.cfg" ] } -- "filter": [ "CPTE_category_hide_cck_parts.cfg" ] } -- "filter": [ "CPTE_category_hide_cck_parts.cfg" ] } -- "filter": [ "CPTE_category_hide_cck_parts.cfg" ] } -- "filter_regexp": [ "PlumeParty/Version" ] } -- "filter": [ "Parts", "ConfigurableContainers.version" ] -- "filter": [ "TankTypes.cfg", "TankConfigs.cfg" ] -- "filter": [ "TankTypes.cfg", "TankConfigs.cfg" ] -- "filter": [ "TankTypes.cfg", "TankConfigs.cfg" ] -- "filter": [ "TankTypes.cfg", "TankConfigs.cfg", "Cryogenics.cfg" -- "filter": [ "TankTypes.cfg", "TankConfigs.cfg", "Cryogenics.cfg" -- "filter": [ "TankTypes.cfg", "TankConfigs.cfg", "Cryogenics.cfg" -- "filter": [ "TankTypes.cfg", "TankConfigs.cfg", "Cryogenics.cfg" -- "filter": [ "TankTypes.cfg", "TankConfigs.cfg", "Cryogenics.cfg" -- "filter": [ "TankTypes.cfg", "TankConfigs.cfg", "Cryogenics.cfg" -- "filter": [ "TankTypes.cfg", "TankConfigs.cfg", "Cryogenics.cfg" -- "filter": [ "TankTypes.cfg", "TankConfigs.cfg", "Cryogenics.cfg" -- "filter": [ "TankTypes.cfg", "TankConfigs.cfg", "Cryogenics.cfg" -- "filter": [ "TankTypes.cfg", "TankConfigs.cfg", "Cryogenics.cfg" -- "filter": [ "TankTypes.cfg", "TankConfigs.cfg", "Cryogenics.cfg" -- "filter": [ "TankTypes.cfg", "TankConfigs.cfg", "Cryogenics.cfg" -- "filter": [ "TankTypes.cfg", "TankConfigs.cfg", "Cryogenics.cfg" -- "filter": [ "TankTypes.cfg", "TankConfigs.cfg", "Cryogenics.cfg" -- "filter": [ "TankTypes.cfg", "TankConfigs.cfg", "Cryogenics.cfg" -- "filter": [ "TankTypes.cfg", "TankConfigs.cfg", "Cryogenics.cfg" -- "filter": [ "TankTypes.cfg", "TankConfigs.cfg", "Cryogenics.cfg" -- "filter": [ "TankTypes.cfg", "TankConfigs.cfg", "Cryogenics.cfg" -- "filter": [ "TankTypes.cfg", "TankConfigs.cfg", "Cryogenics.cfg" -- "filter": [ "TankTypes.cfg", "TankConfigs.cfg", "Cryogenics.cfg" -- "filter": [ "TankTypes.cfg", "TankConfigs.cfg", "Cryogenics.cfg" -- "filter": [ "TankTypes.cfg", "TankConfigs.cfg", "Cryogenics.cfg" -- "filter": [ "TankTypes.cfg", "TankConfigs.cfg", "Cryogenics.cfg" -- "filter": [ "TankTypes.cfg", "TankConfigs.cfg", "Cryogenics.cfg" -- "filter": [ "TankTypes.cfg", "TankConfigs.cfg", "Cryogenics.cfg" -- "filter": [ "Agencies" ] } -- "filter": [ "Agencies", "CONTARES_TweakScale.cfg" ] -- "filter": [ "Agencies" ] } -- "filter": [ "Agencies", "CONTARES_TweakScale.cfg" ] -- "filter": [ "Agencies", "CONTARES_TweakScale.cfg" ] -- "filter": [ "Agencies", "CONTARES_TweakScale.cfg" ] -- "filter": [ "Agencies", "CONTARES_TweakScale.cfg" ] -- "filter": [ "Agencies", "CONTARES_TweakScale.cfg" ] -- "filter": [ "Agencies", "CONTARES_TweakScale.cfg" ] -- "filter": [ "Agencies", "CONTARES_TweakScale.cfg" ] -- "filter": [ "Agencies", "CONTARES_TweakScale.cfg" ] -- "filter": [ "Agencies", "CONTARES_TweakScale.cfg" ] -- "filter": [ "Agencies", "CONTARES_TweakScale.cfg" ] -- "filter": [ "Agencies", "CONTARES_TweakScale.cfg" ] -- "filter": [ "Agencies", "CONTARES_TweakScale.cfg" ] -- "filter": [ "Agencies", "CONTARES_TweakScale.cfg" ] -- "filter": [ "Agencies", "CONTARES_TweakScale.cfg" ] -- "filter": [ "Agencies", "CONTARES_TweakScale.cfg" ] -- "filter": [ "Agencies", "CONTARES_TweakScale.cfg" ] -- "filter": [ "Agencies", "CONTARES_TweakScale.cfg" ] -- "filter": [ "Agencies", "CONTARES_TweakScale.cfg" ] -- "filter": [ "Agencies", "CONTARES_TweakScale.cfg" ] -- "filter_regexp": [ "EXAMPLECRAFT" ] } -- "filter_regexp": [ "EXAMPLECRAFT" ] } -- "filter_regexp": [ "EXAMPLECRAFT" ] } -- "filter_regexp": [ "EXAMPLECRAFT" ] } -- "filter_regexp": [ "EXAMPLECRAFT" ] } -- "filter_regexp": [ "EXAMPLECRAFT" ] } -- "filter_regexp": [ "EXAMPLECRAFT" ] } -- "filter_regexp": [ "EXAMPLECRAFT" ] } -- "filter_regexp": [ "EXAMPLECRAFT" ] } -- "filter_regexp": [ "EXAMPLECRAFT" ] } -- "filter_regexp": [ "EXAMPLECRAFT" ] } -- "filter_regexp": [ "EXAMPLECRAFT" ] } -- "filter": [ ".gitignore", "MiniAVC.dll" ] -- "abstract": "It filters contracts that come in so you dont have to! KSP 1.1.2", "author": [ "SilverFox8124" ], -- "abstract": "It filters contracts that come in so you dont have to! KSP 1.1.2", "author": [ "SilverFox8124" ], -- "abstract": "It filters contracts that come in so you dont have to! KSP 1.1.2", "author": [ "SilverFox8124" ], -- "homepage": "http://forum.kerbalspaceprogram.com/index.php?/topic/143085-contract-filter-continued/", "spacedock": "https://spacedock.info/mod/820/Contract%20Filter%20Continued", "repository": "https://github.com/linuxgurugamer/ContractFilterContinued" }, -- "filter": [ "SimpleBoiloff.dll" ] } -- "filter": [ "SimpleBoiloff.dll" ] } -- "filter": [ "SimpleBoiloff.dll" ] } -- "filter": [ "SimpleBoiloff.dll" ] } -- "filter": [ "SimpleBoiloff.dll" ] } -- "filter": [ "SimpleBoiloff.dll" ] } -- "filter": [ "SimpleBoiloff.dll" ] } -- "filter": [ "SimpleBoiloff.dll" ] } -- "filter": [ "SimpleBoiloff.dll" ] } -- "filter": [ "SimpleBoiloff.dll" ] } -- "filter": [ "SimpleBoiloff.dll" ] } -- "filter": [ "SimpleBoiloff.dll" ] } -- "filter": [ "SimpleBoiloff.dll" ] } -- "filter": [ "SimpleBoiloff.dll" ] } -- "filter": [ "SimpleBoiloff.dll" ] } -- "filter": [ "SimpleBoiloff.dll" ] } -- "filter": [ "SimpleBoiloff.dll" ] } -- "filter": [ "SimpleBoiloff.dll" ] } -- "filter": [ "SimpleBoiloff.dll" ] } -- "filter": [ "SimpleBoiloff.dll" ] } -- "filter": [ "SimpleBoiloff.dll" ] } -- "filter": [ "SimpleBoiloff.dll" ] } -- "filter": [ "SimpleBoiloff.dll" ] } -- "filter_regexp": [ "(?
darthgently commented 1 year ago

registry.json has balanced braces count as a quick integrity check (not partially writen apparently). Again, no idea if relevant, but reading filters seems to be causing a hang of some type so figured I'd try to see if that file was corrupted in a rough way

HebaruSan commented 1 year ago

OK thanks, those are filters from various install stanzas that tell CKAN to skip certain files when installing a mod. The ckan filter list command is from #3458 and lets users block certain files from being installed for all mods.

The message you're describing refers to something else: the mod search filters like compatible, cached, upgradeable, etc. It's raised on this line:

https://github.com/KSP-CKAN/CKAN/blob/cd7c3a0f180d7114101b2b5cdfa8604befd6efc2/GUI/Controls/ManageMods.cs#L1192

And the next message is "Updating tray..." here:

https://github.com/KSP-CKAN/CKAN/blob/cd7c3a0f180d7114101b2b5cdfa8604befd6efc2/GUI/Controls/ManageMods.cs#L1239

So if you're seeing the first message and not the second, then something between those lines either throws an exception (which we would probably see, so this is less likely) or runs forever.

Can you please run ckan --debug and share the output? That might give us some more information about what's happening.

darthgently commented 1 year ago

Ok, will do

darthgently commented 1 year ago

I did see this message appear a bit after startup on the console running 'ckan gui' which I had not noticed before, not sure if it was there previously, but I put it here for info: ~/ksp1.12.3/KSP_linux/saves/default$ ckan gui Could not set X locale modifiers

Screenshot so you can see where it hangs from user pov: ckanhang

And the output of ckan --debug. I let it run several minutes, did a sync, then killed the process. I verified the last line in the file is the same as the last line displayed though I figure you are not buffering in debug mode, so last line is point of hang ckan-debug.LOG

HebaruSan commented 1 year ago

Thanks, that's very good to have, but the issue is still very mysterious, so we'll need to gather more information.

Here's a test build that prints 27 new messages to the progress screen between "Updating filters..." and "Updating tray...":

Please run that and share a new screenshot so we can see how far it gets before getting stuck.

darthgently commented 1 year ago

Will do

darthgently commented 1 year ago

Is this supposed to reinstall all mods? That is what it is doing. I'd have (should have) made a full backup before running. I hope I didn't lose all my mod specific settings

HebaruSan commented 1 year ago

I don't know what you mean by "reinstall all mods". Can you share a screenshot?

darthgently commented 1 year ago

I get a "Success!" in the status bar but now it is hanging with a big red X across the screen. Here are the successive screen shots. ckantest_foundmetachanges ckantest_reinstalling ckantest_bigredx Here is the debug log. I should have made a backup, methinks, but I thought it just had more debug messages added and nothing more ckantest_debug.LOG

HebaruSan commented 1 year ago

Since we're trying to investigate the mod list loading problem, could you please click No on that popup to skip the reinstall step? We can look into that later if it's still happening once we've figured out the original problem.

darthgently commented 1 year ago

It didn't ask to reinstall mods, it asked to update metadata. The reinstall flowed on its own after that. Game won't load, ModuleManager fatal error. I have to go to work

HebaruSan commented 1 year ago

Do you see the Yes/No popup in your first screenshot? That's where it asked to reinstall mods (if you scroll all the way down to the end of the text). I was asking you to click No on that popup.

darthgently commented 1 year ago

I made the mistake of thinking the text at the top was adequate to explain the question. I did not scroll all the way down. I thought I was clicking "yes" to update metadata as that seemed harmless enough. My bad for not "scrolling all the way down".

HebaruSan commented 1 year ago

To be clear, I'm not blaming you, in ordinary circumstances clicking Yes would be perfectly reasonable. Clicking No in this case is just an investigation technique to try to get us back to investigating the issue in this issue, which was that the mod list refresh was freezing.

darthgently commented 1 year ago

Current situation is that running the debug build a few times eventually stopped hanging and settled on a normally behaving ckan UI and playable game. But the non-debug version still hangs.

If the inadvertent reinstall had fixed the original problem I'd expect the original version to stop hanging, so a number of possibilities come to mind.

1) A race condition alleviated by the delays created by additional debug messages or running in debug mode (though running in debug mode didn't help the original, so maybe just the additional log writing overhead solved a race; it wouldn't be the first time race condition evaporate under increased logging)

2) Other changes in in the debug version negotiate the situation better regardless of extra debug messages; perhaps better fault tolerance to sketchy marina WiFi connectivity

3) The debug version + reinstall/upgrade of all mods has caused positive changes that coincidentally make the now "outdated" original version fail in the apparently same way. Not likely

As a side note to deleted msgs, if I didn't have so many mods I might not be running ckan. It's a tautology eating it's own tail

HebaruSan commented 1 year ago

Thanks, that's pretty good news! Sounds like one of the other fixes in the current dev build incidentally fixed this issue as well, since that's what I used as a base to add more debugging. To confirm, you can try the version of it without the debug messages:

If that seems to work as well, then we can close this as already fixed. Cheers!

NOTE: The first version of this comment had the wrong URL. Please don't click the one in your email notification, if you received one. It's fixed above.