peterhaneve / evemon

A lightweight, easy-to-use standalone Windows application designed to assist you in keeping track of your EVE Online character progression.
310 stars 72 forks source link

Crash when searching for assets #280

Open NevarrTivianne opened 3 years ago

NevarrTivianne commented 3 years ago

Using 4.0.20 I couldn't reproduce #273 but when searching for e.g. "isotopes" or a substring of it, I get this one:

System.NullReferenceException: Object reference not set to an instance of an object.
   at EVEMon.CharacterMonitoring.CharacterAssetsList.IsTextMatching(Asset x, String text)
   at System.Linq.Enumerable.WhereListIterator`1.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at EVEMon.CharacterMonitoring.CharacterAssetsList.<UpdateContentAsync>d__34.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at EVEMon.CharacterMonitoring.CharacterAssetsList.<EveMonClient_ItemPricesUpdated>d__64.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

I think it's unrelated to how soon after starting you go use the search, this happened quickly after start (I have not yet fully understood when EVEMon says "No assets are available" or if it simply doesn't cache the asset information between restarts, or if that API query is on a timer like the rest of the calls) but yesterday when I had the crash for the first time EVEMon must've been running for hours (sadly I was in a hurry and did not copy the error message).

0d 0h 00m 43s > EveMonClient.OnCharacterImplantSetCollectionChanged - Character_1_XXX
0d 0h 01m 35s > CitadelStationProvider.FetchIDs - ESI lookup for XXX using XXX (Character_2_XXX)
0d 0h 01m 35s > EveMonClient.OnConquerableStationListUpdated
0d 0h 01m 48s > EMItemPricer.OnPricesDownloaded - done