JTNDev / galaxy-integration-wii

MIT License
14 stars 1 forks source link

Plugin keeps crashing #19

Open driscoll42 opened 4 years ago

driscoll42 commented 4 years ago

The plugin keeps crashing on me, it might work sometimes, but crashes pretty quickly. It seems to have some relation to how games are imported but I can't find the pattern.

2020-06-04 10:48:51.167 [Information][ (0)] [TID 44884][galaxy_client]: Platform 'nwii' login succeeded. Published 1 postponed action(s). 2020-06-04 10:48:51.276 [Information][ (0)] [TID 44884][galaxy_client]: Starting to import owned games for platform 'nwii'. 2020-06-04 10:48:51.276 [Information][ (0)] [TID 44884][galaxy_client]: Starting to import installed games for platform nwii. 2020-06-04 10:49:08.772 [Error][ (0)] [TID 44884][galaxy_client]: Plugin - pluginID/nwii_fc3e85e4-c66b-4310-96c0-8f95cc43e546 is not responding. 2020-06-04 10:49:08.772 [Information][ (0)] [TID 44884][galaxy_client]: Request to stop plugin pluginID/nwii_fc3e85e4-c66b-4310-96c0-8f95cc43e546 2020-06-04 10:49:08.772 [Warning][ (0)] [TID 44884][galaxy_client]: Failed to import owned games from platform 'nwii', reason 'Aborted'. 2020-06-04 10:49:08.772 [Warning][ (0)] [TID 44884][galaxy_client]: Failed to import local games from platform 'nwii', reason 'Aborted'. 2020-06-04 10:49:09.805 [Information][ (0)] [TID 44884][galaxy_client]: Received onPluginShutdownFailure for plugin pluginID/nwii_fc3e85e4-c66b-4310-96c0-8f95cc43e546 2020-06-04 10:49:09.805 [Warning][ (0)] [TID 44884][galaxy_client]: Plugin pluginID/nwii_fc3e85e4-c66b-4310-96c0-8f95cc43e546 shutdown failed, killing process 2020-06-04 10:49:09.805 [Error][ (0)] [TID 44884][galaxy_client]: Plugin - pluginID/nwii_fc3e85e4-c66b-4310-96c0-8f95cc43e546 has crashed.

greggameplayer commented 4 years ago

on my side it's crashing also after login to the plugin

ahnernoch commented 4 years ago

Yes same here. Alwaya have to disconnect and connect again.

driscoll42 commented 4 years ago

Found two parts of the issue.

  1. Misindentification of games.

In backend.py the check for the id is:

if user_config.match_by_id and record["id"] in file_split[0].upper():

Unfortunately this results in some issues where the record id is in the game name, for example:

LADE Phantasy Star D:\ROMs\Wii+GCN\Wii\SX4E01 - Xenoblade Chronicles.wbfs

This is mostly an issue due to VC games. I would suggest adding a regex split on the filename on -, , ' ', = or similar delimiters, and if the length of the first split is > 6, truncating it.

  1. Game Time errors

Getting errors like the below

2020-06-11 09:18:37,638 - galaxy.api.plugin - ERROR - Unexpected exception raised in game times importer Traceback (most recent call last): File "...\Local\GOG.com\Galaxy\plugins\installed\nwii_fc3e85e4-c66b-4310-96c0-8f95cc43e546\galaxy\api\plugin.py", line 63, in import_element element = await self.get(id, context_) File "...\Local\GOG.com\Galaxy\plugins\installed\nwii_fc3e85e4-c66b-4310-96c0-8f95cc43e546\plugin.py", line 73, in get_game_time game_time = int(game_times[game_id][0]) KeyError: 'RMHP08'

Probably should just add an entry for every single game id in the gametimes.xml, or in the get_game_time function adding logic to add new entries if no value found. It seems this logic only exists in cases where the game has been run.

Drakalinou commented 4 years ago

Same here, always crash, all games are well recognized and launchs well, but the plugin have random crashes

hyoretsu commented 1 year ago

+1, still not fixed, games don't even get recognized for me