New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Preprocessor errors corrupts cache #1924
Comments
I also see exactly this error message |
I wonder if this call: https://github.com/wesnoth/wesnoth/blob/master/src/config_cache.cpp#L133-L134 should be wrapped in a josteph edit: link is probably meant to be this |
possible dublicate #1634 |
Got it reproduced on iOS every time, with "AI Demos" addon. |
… defined Half-fix for issue #1634 and issue #1924. The issue that remains to be solved is that on subsequent sessions after a campaign has failed to load, it is possible for the game to generate a cache entry for it that only contains the main menu WML for it. Apparently the config cache transactions mechanism causes the game to try to generate a cache entry with the wrong defines (a define set that doesn't include the campaign's symbol, for instance) instead of the ones that are actually needed and used to match the cache entry's filename via checksumming. As a result, on subsequent sessions the failed campaign is aborted with "failed to load the scenario" instead of displaying the real WML error again (since the error is not hit again if it depends on the campaign's symbol being defined). In the meantime, this at least removes the red herring error and makes the underlying issue a bit more visible. It's a very crude hack but it does the job.
… defined Half-fix for issue #1634 and issue #1924. The issue that remains to be solved is that on subsequent sessions after a campaign has failed to load, it is possible for the game to generate a cache entry for it that only contains the main menu WML for it. Apparently the config cache transactions mechanism causes the game to try to generate a cache entry with the wrong defines (a define set that doesn't include the campaign's symbol, for instance) instead of the ones that are actually needed and used to match the cache entry's filename via checksumming. As a result, on subsequent sessions the failed campaign is aborted with "failed to load the scenario" instead of displaying the real WML error again (since the error is not hit again if it depends on the campaign's symbol being defined). In the meantime, this at least removes the red herring error and makes the underlying issue a bit more visible. It's a very crude hack but it does the job.
… defined Half-fix for issue wesnoth#1634 and issue wesnoth#1924. The issue that remains to be solved is that on subsequent sessions after a campaign has failed to load, it is possible for the game to generate a cache entry for it that only contains the main menu WML for it. Apparently the config cache transactions mechanism causes the game to try to generate a cache entry with the wrong defines (a define set that doesn't include the campaign's symbol, for instance) instead of the ones that are actually needed and used to match the cache entry's filename via checksumming. As a result, on subsequent sessions the failed campaign is aborted with "failed to load the scenario" instead of displaying the real WML error again (since the error is not hit again if it depends on the campaign's symbol being defined). In the meantime, this at least removes the red herring error and makes the underlying issue a bit more visible. It's a very crude hack but it does the job.
… defined Half-fix for issue wesnoth#1634 and issue wesnoth#1924. The issue that remains to be solved is that on subsequent sessions after a campaign has failed to load, it is possible for the game to generate a cache entry for it that only contains the main menu WML for it. Apparently the config cache transactions mechanism causes the game to try to generate a cache entry with the wrong defines (a define set that doesn't include the campaign's symbol, for instance) instead of the ones that are actually needed and used to match the cache entry's filename via checksumming. As a result, on subsequent sessions the failed campaign is aborted with "failed to load the scenario" instead of displaying the real WML error again (since the error is not hit again if it depends on the campaign's symbol being defined). In the meantime, this at least removes the red herring error and makes the underlying issue a bit more visible. It's a very crude hack but it does the job. (cherry-picked from commit 0c2298d)
Should Iris still be the assignee if she's on Wesbreak now? |
If you happen to find a way to reliably reproduce it, please let us know. |
See conversation below from IRC:
The text was updated successfully, but these errors were encountered: