xivapi / SaintCoinach

A .NET library written in C# for extracting game assets and reading game assets from Final Fantasy XIV: A Realm Reborn.
Do What The F*ck You Want To Public License
315 stars 100 forks source link

SaintCoinach.Cmd "rawexd": "Export of QuestDefineClient failed: Unable to read beyond the end of the stream." #135

Open Sophira opened 1 year ago

Sophira commented 1 year ago

Since FFXIV Patch 6.3 (game version 2022.12.23.0000.0000), I've been getting an error from SaintCoinach.Cmd when I use the rawexd command: "Export of QuestDefineClient failed: Unable to read beyond the end of the stream.":

C:\saintcoinach>SaintCoinach.Cmd.exe "C:\Program Files (x86)\SquareEnix\FINAL FANTASY XIV - A Realm Reborn"
Game version: 2023.01.11.0000.0000
Definition version: 2023.01.11.0000.0000
SaintCoinach.Cmd (Version 0.1.0.0)
> rawexd
Export of QuestDefineClient failed: Unable to read beyond the end of the stream.
6687 files exported, 1 failed

I first discovered this behaviour on Linux with WINE, but before reporting I verified that it also occurs on a regular Windows 10 installation on a different computer - and that's where the transcript above is from.

I'm using the latest binary release of SaintCoinach as of the time of writing (based on commit bdd2ef2).

Prior to patch 6.3, this was working without any issues, so it's quite recent.

If you need any more information, please let me know!

Sulca-dev commented 1 year ago

I have the exact same error with "exd" and "sql" commands, changing langage ("en" or "fr") doesn't help.

e-huff commented 1 year ago

This looks like a bug in XivString.Decode, but the issue seems to be intermittent. I was trying to debug the issue, but it disappeared after 5 or so attempts. I'll try again later today to see if I can replicate the issue.

IcarusTwine commented 1 year ago

Cause of the issue: Header file exist for the the file, (exh exists) Data file does not exist (exd does not exist) I personally don't know c very well so I cannot fix this, however we are not missing out on much as there is no actual data there.

Sulca-dev commented 1 year ago

My real problem with this bug is that it stops the sql command unlike the exd command which ignores the file. I don't know if it possible to make sql treatment skip missing data files ?