CRASH 5.1a RC1 prevents startup!

Attached are logfiles. The main issue is: 

Error ID: 7523
Error detail: XamlParseException: Beim Festlegen der Eigenschaft "System.Windows.ResourceDictionary.Source" wurde eine Ausnahme ausgelöst.

System.Windows.Markup.XamlParseException: Beim Festlegen der Eigenschaft "System.Windows.ResourceDictionary.Source" wurde eine Ausnahme ausgelöst. ---> System.IO.IOException: Die Ressource "images/verbum%20logo-en.xaml" kann nicht gefunden werden.

(exception has been thrown, XAML resource not found)

This Crash prevents startup of L5.1a RC1

Backstory:

I used RC1 since it came out - no issues at all. 

This may be unrelated - or the root cause, I don't know, but: Yesterday I wanted to check on the German UI localization once again (I had seen it in earlier Beta stage, but had switched back to English UI) and changed the settings respectively, then tried restarting L5. It didn't come up. I tried various things like restarting Windows, Repair from the Windows System as well as from the Logos Installer file - no effect. In the end I decided to back up my files according to wiki page (many GB over USB2.0 [:(] ), de-installed L5 and installed again. I assume this killed all traces of RC (i.e. UI language setting).

L5 started and worked okay (this was 5.0 stable in latest SP), of course without resources. I had it scan the resource folder and restarted for "preparing library", had it run through the night. Everything fine this morning.

So I switched update channel to beta, downloaded the RC and installed it: Crash, it didn't come up, same error in log files. 

5468.LogosError.log

8640.Logos Log Files.zip

0118.Logos Log Files.8-25.zip

Have joy in the Lord! Smile

Comments

  • Artur Wiebe
    Artur Wiebe Member Posts: 31

    It is the same with my LOGOS 5 program after updating ... Pleas help me!7711.Logos Log Files.zip

  • Angela Murashov
    Angela Murashov Member Posts: 1,532

    I have passed along both of your logs to Development. 

  • NB.Mick
    NB.Mick MVP Posts: 15,971

    Thanks!

    Maybe as a workaround someone can supply the missing file and location - or an idea to turn off Verbum and/or the German UI before startup [back in the good old days, life was sooo easy with *.ini files ...]  

    Have joy in the Lord! Smile

  • Bryan Albert
    Bryan Albert Member, Logos Employee Posts: 92

    Thanks for the feedback, and sorry for the inconvenience that this issue has caused. The heart of the problem is indeed the German localization--there's a string called "VerbumLogoFile," which is supposed to have a comment "Do not translate this." associated with it. The value of the string is actually the name of a file. It's supposed to be "VerbumLogo-en", regardless of the language. (It's included so that if at some point we did want to change the graphic it generates for a specific language, we could change the value, though it still shouldn't be translated.)

    Unfortunately, it looks like the string was translated into German anyway and given the value "Verbum Logo-en". When Logos runs in German, then, it uses the invalid German value of this filename, the file can't be located, and the application crashes. 

    Obviously this is an unacceptable state of affairs, and we'll add code to fix it and make it more robust. 

    In the meantime, you can reset your Logos UI language to English by deleting the registry string value UserInterfaceLanguage:

    1. Run regedit.exe
    2. Find the Computer\HKEY_CURRENT_USER\Software\Logos4 key in the folder tree on the left
    3. Find the UserInterfaceLanguage REG_SZ value on the right, it will have the value "de"
    4. Right-click on UserInterfaceLangauge on the right and choose Delete
    5. Close Registry Editor 
    6. Restart Logos

    That should do it... 

    Bryan

  • Bryan Albert
    Bryan Albert Member, Logos Employee Posts: 92

    You can also set the user interface language by running Logos from the command line and adding 

    /lang:en 

    So, something like this (depending the path to your Logos installation), typed into Command Prompt: 

    C:\Users\YourUserName\AppData\Local\Logos4\Logos.exe /lang:en

    When Logos comes up, use the "Set language to English" command in the Command Box to reset the language for next time. 

  • NB.Mick
    NB.Mick MVP Posts: 15,971

    Yay! That works! I put /lang:en into the command line of the shortcut Logos puts on my desktop. Back in business. Thanks a lot.

    Have joy in the Lord! Smile

  • Angela Murashov
    Angela Murashov Member Posts: 1,532

    This will be fixed in 5.1a RC 2. 

  • NB.Mick
    NB.Mick MVP Posts: 15,971

    This will be fixed in 5.1a RC 2. 

    Confirm, it is fixed. Thank you, Logos!

    Have joy in the Lord! Smile

  • Lee
    Lee Member Posts: 2,714

    Usually, a showstopper of a bug like this should not exist in a "stable" Release Candidate. Sigh, that's why I stay off them.

  • Seth Copeland
    Seth Copeland Member, Logos Employee Posts: 232

    Lee said:

    Usually, a showstopper of a bug like this should not exist in a "stable" Release Candidate. Sigh, that's why I stay off them.

    I'll take responsibility for it. We had tested all translations prior to this release and they were all working, and I meant to lock down the working translations as soon as we shipped the last beta and not allow any new ones from crowdin to come down until our next beta release. However a few more translations ended up getting pulled down from crowdin before I disabled the automated process that pulls them down, just before we pulled for this build, that unfortunately contained the bad translations that caused the crash in german. I agree a stable release candidate shouldn't contain a crash on startup, and I will make sure that the next time we ship a build with crowd sourced translations, we lock down the translations as soon as we ship the last beta.

    Regards,

    Seth Copeland

    Logos SW Development

  • Lee
    Lee Member Posts: 2,714

    That is a very responsible attitude to take. I salute you.

    If I may make a small suggestion. Add to the code a failsafe, e.g. falling back on English translation if NOTEXIST.

  • Seth Copeland
    Seth Copeland Member, Logos Employee Posts: 232

    Lee said:

    That is a very responsible attitude to take. I salute you.

    If I may make a small suggestion. Add to the code a failsafe, e.g. falling back on English translation if NOTEXIST.

    Thanks. We actually do typically do fallback, but this particular string is loaded from a .xaml resource, which just get loaded automatically at app startup time. It probably would be a good idea though to figure out a way to allow us to fall back on english even in this corner case.
  • Lee
    Lee Member Posts: 2,714

    I surmise that a comprehensive code audit is overdue...