Updating translations fails for some languages (but works for others)

• Dec 14, 2018 - 08:59
Reported version
3.0
Priority
P1 - High
Type
Functional
Frequency
Few
Severity
S3 - Major
Reproducibility
Always
Status
closed
Regression
Yes
Workaround
Yes
Project

Came up in https://musescore.org/en/node/279961

The update attempts are shown as "Failed, Try again"

Works e.g. for German, fails e.g. for Afrikaans, there it downloads the locale_af.zip but doesn't unpack (and subsequently remove) it. Extracting them manually though works, so the archive doesn't seem to be corrupt.


Comments

Title Updating translations fails for some langauages (bot works for others) Updating translations fails for some langauages (but works for others)

Maybe Windows only?

Title Updating translations fails for some languages (but works for others) [Windows 7] Updating translations fails for some languages (but works for others)

Now it just gets stuck in updating, and when trying to update too many it crashes

I tried to upgrade to 10, but so far always lost sound, so had to fall back to 7 again.

Workaround No Yes

Ah! Deleting previously updated translations (that are outdated meanwhile) fixed the issue (and so would a factory reset)

Title [Windows 7] Updating translations fails for some languages (but works for others) Updating translations fails for some languages (but works for others)
Frequency Once Few
Status needs info active

Was fixed near 12 H, but broken for now for fhe French language. (Working for English US)
Tested on 2 PC, Windows 10 and Widows 7:
- OS: Windows 10 (10.0), Arch.: x86_64, MuseScore version (64-bit): 3.0.0.4520, revision: 0c8121b
- OS: Windows 7 SP 1 (6.1), Arch.: x86_64, MuseScore version (64-bit): 3.0.0.4520, revision: 0c8121b

Update Translations 2.png

(After factory reset and deleted all previous downloaded packages)

Works just fine in the new beta for me, but there only very few languages are to be updated curently

Edit: actually no, it doesn't work, it still fails for some, but less than before

Actually it is failing for 14 languages currently and for me

Looks like a collision between 3.0beta3 branch and master branch translation files... Note for myself, disable translation operations in release branches...

Still the case. It does download the zip archives for those, but these archives' content is older than the files that the release has built in, except for the tours, i.e. mscore_LOCALE.qm and instruments_LOCALE.qm is older that what came bundled with MuseScore, just tours_LOCALE.qm is newer.
This is true for all 6 locales that it fails for currently: ar_EG, ca@valencia, gd, he, hy and lt, for MuseScore 3.0 release, and additionally hi_IN, ls and th for a self built from current master.

There are 3 distict conditions under which the error message "Failed, try again" gets put into those update buttons:

  1. !dl.saveFile() i.e. the download failed. Apparently not the cases here as the zip files exist.
  2. !verifyFile(localPath, hash) i.e. opening and reading the archive and comparing the hash values for the local and remote files fails.
  3. !f.open(QIODevice::WriteOnly) i.e. unpacking the archive failed. As it can get unziped manually, this seems unlikely.

Stepping thru under debug shows that indeed #2 is the failing case, so inside verifyFile() the hash comparison returns false (the opening of the archive succedes

Status active fixed

as translation updates have just changed to no longer going to 3.0, but to 3.0.1 (which is due shortly), and in 3.0 all translations available so far can get updated now, I'm marking this fixed (in the hope it doesn't crop up with 3.0.1 again)

Whatever you did on S3 (did you?) seems to have fixed the issue, I can now update all translations in the latest bdevelopment build (and MDL is back too)

In reply to by Jojo-Schmitz

I think I know the reason. I'll check the hypothesis tomorrow. I usually create new directory on S3 for the new version and don't copy files from the previous one. The files then are pushed by tx2s3 script but only for updated languages. It explains undefined nature of the bug.