casc_extract: "Invalid file length, expected ... got ..." in GameTables\HpPerSta.txt
Maintainers usually reply within 1 day
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 25/100
Research direction
Start with the linked checks in casc_extract/casc.py and casc_extract/casc_extract.py, then run the reported batch extraction on the Retail 11.1.0.59466 CASC store. Investigate why the listed GameTables files have unexpected lengths; done means extraction handles these files correctly without stopping, with the other files still extracting successfully.
Written by the indexing model from the issue text.
Description
Describe the bug
I'm attempting to extract data for a Windows install of Retail v11.1.0.59466. My CASC data also contains an install of wowxptr v11.1.0.59347.
Battle.net and game are not running while extracting, and the game can launch and run successfully from that CASC store.
I'm extracting data with this PowerShell script, in simc's casc_extract directory:
$build = "11.1.0.59466"
python casc_extract.py -m batch -d 'C:\Program Files (x86)\World of Warcraft\' -o "../casc_data/$build/" --product wow
Extraction fails at:
Extracting GameTables\HpPerSta.txt (id=1391642) ...
Usage: casc_extract.py -d wow_install_dir [options] file_path ...
casc_extract.py: error: Invalid file length, expected 343 got 84870439
If I change this line to print an error and then return None instead of exiting:
And then also replace sys.exit(1) with print("extraction failed") here so it continues trying to extract files after any failure:
The only other failures are:
Extracting GameTables\SandboxScaling.txt (id=1391659) ...
Invalid file length, expected 893 got 0
Extracting GameTables\CombatRatingsMultByILvl.txt (id=1391670) ...
Invalid file length, expected 9926 got 0
Extracting GameTables\ItemLevelByLevel.txt (id=2012881) ...
Invalid file length, expected 476 got 0
All other files appear to extract successfully.
I've also tried extracting wowxptr 11.1.0.59347, which has the same problems.
If this issue shows up for others, my hunch is that some CASC/BLTE data structure has changed, and this new encoding is only used for some files.
Looking at my IDE search history, I suspect this also failed in some v11.0.x builds, but I forgot to write a bug at the time and just patched around it. 🙈
I don't care about the failing files, so commenting out the checks and allowing some failures is fine for me. 😄
Additional information
-
SimulationCraft Version (required): 1df599cb7091d6f414d40acd61386fee1084e580
-
simc_gui.simc file or contents: n/a
- Dominant language
- C++
- Stars
- 1.6k
- Forks
- 789
- Avg merge
- 13h 25m
- Merged PRs (30d)
- 52
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from simulationcraft/simc
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
simulationcraft/simc#11973 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 69/100
simulationcraft/simc#11747 · 2 comments ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 45/100
simulationcraft/simc#11935 ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
simulationcraft/simc#11918 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
simulationcraft/simc#11845 ·
Maintainers usually reply within 1 day
All issues in simulationcraft/simc
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
-
Difficulty 1/5 Under an hour Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
eclipse-score/lifecycle#929 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
colbymchenry/codegraph#3223 ·
Maintainers usually reply within 1 day