SMAPI - Stardew Modding API

SMAPI - Stardew Modding API

971k Downloads

Asset key or local path contains invalid characters

d0x7 opened this issue · 5 comments

commented

Hello,

I guess since the latest SMAPI update (SDV 1.3.10, SMAPI 2.6-beta.8) I'm having really annoying crashes.

At some point a error appears in the console and when that happens I cannot save the game. When I'm going to sleep the game crashes.

SMAPI Log: https://log.smapi.io/QCqSPzqc
Crash Log: https://log.smapi.io/gfZ5ka7n

If you need the save game I can upload it for you.

Thanks

commented

@d0x7 Does it still happen if you reset your game files? If so, can you attach your save files?

commented

@Pathoschild I've just verified the integrity of the game files via steam, no files were broken or missing.

As this wouldn't fix the issue I uninstalled stardew valley and installed it again.
The issue is still happing.

Save Game: * removed *
Screenshot: stardew
Crash Log: https://log.smapi.io/y9WzSgtH
Crash Log of 2nd Player: https://log.smapi.io/MExMT7Rd

The NoSuitableGraphicsDeviceException isn't related to SMAPI (or maybe it is, but at least not related to this bug report).

I'm not very aware of C# nor the Stardew Modding API, but could the issue be about the fact that I named my horse 'Lotta ♡'? Maybe \u2661 is causing an issue?

To reproduce just load the savegame, maybe install CJB Cheats Menu (I guess it also happens without it) and play some SDV, like collect the animal stuff and so on. After some time the error will occur.

commented

Fixed in the upcoming SMAPI 2.6-beta.12. Thanks for reporting it!

commented

Yeah, sure but I have a question. As said earlier I don't know about the SDV Modding API, so the question is maybe dumb, but what's the use of throwing another exception? Does this exception get catched and handled correctly, but the other won't or what? Thanks anyways.

commented

You mean why does 69850cb fix it? The error happens when the game loads dialogue from a file named Characters\Dialogue\Lotta <.xnb (< turns into a heart). The game detects if a ContentLoadException is thrown, and if so assumes there's no dialogue for this character. However SMAPI was throwing a different exception type, which the game didn't handle. So throwing the exception that the game expects ensures that it treats an invalid file name the same way as a missing file.