Logos Absturz direkt nach Start
Und es ist ein Mega-peinlicher Programmier-Fehler: NullPointer-Exception (bzw. Argument-Null-Ex):
Auszug:
Error ID: 8744 Error detail: ArgumentNullException: Value cannot be null. (Parameter 'key') System.ArgumentNullException: Value cannot be null. (Parameter 'key') at System.Collections.Generic.Dictionary`2.FindValue(TKey key) at System.Collections.Generic.Dictionary`2.get_Item(TKey key) at Libronix.DataTypes.DataTypeManager.OurDataTypeDictionary.get_Item(String key) at Libronix.DigitalLibrary.Utility.DataTypeLists.<>c.<DoGetBibleDataTypes>b__20_2(ResourceMilestoneIndexInfo mi) at System.Linq.Enumerable.SelectIListIterator`2.MoveNext() at System.Linq.Enumerable.OfTypeIterator[TResult](IEnumerable source)+MoveNext() at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1 source, Boolean& found) at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source) at Libronix.DigitalLibrary.Utility.DataTypeLists.<>c.<DoGetBibleDataTypes>b__20_1(ResourceInfo ri)
Zudem werden noch SQLite-Fehler folgender Art geloggt:
Program Version: 39.1 (39.1.0.0006) Time: 2025-01-29 12:07:10 +01:00 (2025-01-29T11:07:10Z) SQLite Error 283: recovered 18 frames from WAL file X:\Logos\Documents\abcdef.7nk\LocalUserPreferences\PreferencesManager.db-wal Program Version: 39.1 (39.1.0.0006) Time: 2025-01-29 12:07:10 +01:00 (2025-01-29T11:07:10Z) SQLite Error 283: recovered 12 frames from WAL file X:\Logos\Data\abcdef.7nk\Errors\Application\ErrorReportManager.db-wal Program Version: 39.1 (39.1.0.0006) Time: 2025-01-29 12:07:10 +01:00 (2025-01-29T11:07:10Z) SQLite Error 283: recovered 2 frames from WAL file X:\Logos\Data\abcdef.7nk\ResourceManager\ResourceManager.db-wal Program Version: 39.1 (39.1.0.0006) Time: 2025-01-29 12:07:10 +01:00 (2025-01-29T11:07:10Z) SQLite Error 283: recovered 30 frames from WAL file X:\Logos\Data\abcdef.7nk\KeyLinkManager\keylinkmanager.db-wal
Comments
-
Which of the developers forgot to Null-Check the dictionary parameter?
Da bin ich gespannt, wie sie das fixen wollen… Es bleibt keine Zeit ein Update zu laden, da crasht die App schon! Da war wahrscheinlich der Praktikant dran.
2 -
Error ID: 8744 Error detail: ArgumentNullException: Value cannot be null. (Parameter 'key') System.ArgumentNullException: Value cannot be null. (Parameter 'key') at System.Collections.Generic.Dictionary`2.FindValue(TKey key) at System.Collections.Generic.Dictionary`2.get_Item(TKey key) at Libronix.DataTypes.DataTypeManager.OurDataTypeDictionary.get_Item(String key) at Libronix.DigitalLibrary.Utility.DataTypeLists.<>c.<DoGetBibleDataTypes>b__20_2(ResourceMilestoneIndexInfo mi) at System.Linq.Enumerable.SelectIListIterator`2.MoveNext() at System.Linq.Enumerable.OfTypeIterator[TResult](IEnumerable source)+MoveNext() at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1 source, Boolean& found) at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source) at Libronix.DigitalLibrary.Utility.DataTypeLists.<>c.<DoGetBibleDataTypes>b__20_1(ResourceInfo ri) at System.Linq.Enumerable.SelectIListIterator`2.MoveNext() at Libronix.Utility.EnumerableUtility.<WhereNotNull>g__DoWhereNotNull|64_0[T](IEnumerable`1 s)+MoveNext() at System.Linq.Enumerable.AppendPrependIterator`1.LoadFromEnumerator() at System.Linq.Enumerable.AppendPrepend1Iterator`1.MoveNext() at System.Collections.Generic.HashSet`1.UnionWith(IEnumerable`1 other) at System.Collections.Generic.HashSet`1..ctor(IEnumerable`1 collection, IEqualityComparer`1 comparer) at System.Linq.Enumerable.DistinctIterator`1.ToList() at Libronix.DigitalLibrary.Utility.DataTypeLists.DoGetBibleDataTypes() at Libronix.Utility.LazyObject`1.get_Value() at Libronix.DigitalLibrary.Utility.DataTypeLists.GetBibleDataTypes() at Libronix.DigitalLibrary.Utility.NotesTool.NotesDigitalLibraryService.GetDataTypePreferencesAsync(CancellationToken cancellationToken) at Faithlife.NotesApi.ClientData.SqliteNotesClientRepository.VerifyDataTypePreferencesAsync(DbConnector connector, CancellationToken cancellationToken) at Faithlife.NotesApi.ClientData.SqliteNotesClientRepository.UpdateAnchorsAsync(UpdateAnchorsRepositorySettings settings, CancellationToken cancellationToken) at Faithlife.NotesApi.Core.CommonNotesApi.UpdateAnchorsAsync(UpdateAnchorsSettings settings, CancellationToken cancellationToken) at Faithlife.NotesApi.ClientCore.ClientNotesApi.UpdateAnchorsAsync(UpdateAnchorsSettings settings, CancellationToken cancellationToken) at Libronix.DigitalLibrary.NotesTool.NotesToolManager.UpdateAnchorsAsync(CancellationToken cancellationToken) at Libronix.DigitalLibrary.NotesTool.NotesToolManager.BackgroundWork.RunAsync(CancellationToken cancellationToken) at Libronix.DigitalLibrary.NotesTool.NotesToolManager.BackgroundWork.<Run>b__1_0()
Der Manager des Notiz-Tools wird im Hintergrund gestartet. Er updated die Notiz-Anker und versucht die Einstellungen der Datentypen zu verifizieren (und lädt sie von der lokalen SQLite-Datenbank). Dabei ruft er die Bibel-Datentypen in Logos ab und iteriert durch alle Typen. Dabei wird versucht ein Wert aus einer Wörterbuch-Datenstruktur abzurufen mit einem ungültigen NULL-Wert.
0 -
Es könnte natürlich sein, dass eine neue Bibel beim Datentyp einen falschen oder keinen Wert gesetzt hat…
0