Closed clinkingdog closed 5 years ago
Ok. Using some good ol' binary chop, I've narrowed it down to the galnetmonitor.json file. I've attached my old one, but actually even starting without one (which worked fine) and changing one setting in order to create a new one with different data caused the crash again on next load.
I hope that's useful! Meanwhile I'll just fly with the default Galnet settings, it seems like everything else is working so that's fine for now.
(I spoke too soon - it seems EDDI writes itself a galnetmonitor.json at some point even if I don't change the settings from default - so it's still crashing regularly unless I delete the file each time. However, that's a probable workaround, or I can just - gasp - live without EDDI for a bit and upload journals etc. manually.)
Interestingly, EDDI is crashing periodically anyway seemingly without the galnetmonitor.json file. This doesn't happen on launch though so may be a different issue - but odd that it's started happening at the same time. Nothing notable in the logs in these cases.
Sorry for all the comments, I keep finding new things out and don't want my previous diagnoses to mislead anyone if the new info renders them invalid!
What language settings are you using please?
EDDI itself is left on "Automatic". The Galnet Monitor is on "English". (I don't think I've changed either of these at any point.)
Alright. So the exception in your log is probably significant.
f1fff9923b51:System.Xml.XmlException: For security reasons DTD is prohibited in this XML document. To enable DTD processing set the DtdProcessing property on XmlReaderSettings to Parse and pass the settings into XmlReader.Create method.
at System.Xml.XmlTextReaderImpl.Throw(Exception e)
at System.Xml.XmlTextReaderImpl.ThrowWithoutLineInfo(String res)
at System.Xml.XmlTextReaderImpl.ParseDoctypeDecl()
at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
at System.Xml.XmlTextReaderImpl.Read()
at System.Xml.XmlReader.MoveToContent()
at System.Xml.XmlReader.IsStartElement(String localname, String ns)
at System.ServiceModel.Syndication.Atom10FeedFormatter.CanRead(XmlReader reader)
at System.ServiceModel.Syndication.SyndicationFeed.Load[TSyndicationFeed](XmlReader reader)
at SimpleFeedReader.FeedReader.RetrieveFeed(String uri, IFeedItemNormalizer normalizer)
at GalnetMonitor.GalnetMonitor.<monitor>g__monitorGalnet|16_0()
at GalnetMonitor.GalnetMonitor.monitor()
at GalnetMonitor.GalnetMonitor.Start()
at Eddi.EDDI.<>c__DisplayClass119_0.<keepAlive>b__1()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
If there's a problem with the contents of the feed, we can expect more reports of this issue.
I'm getting this issue too. GalnetMonitor.cs line 161. Looks like something has changed in the structure of the Galnet feed.
Same here. https://community.elitedangerous.com/en/galnet-rss isn't there anymore. Found others having the same issues; https://forums.frontier.co.uk/showthread.php/479057-What-happened-to-the-GalNet-rss-feed-!
It sounds like this is a consequence of changes FDev is making to their website. I've submitted a PR to prevent this crash in the future, but we may be unable to access a feed for a little while. The very short term fix until the next update will be to disable the Galnet monitor.
@Tkael What do you think about this JSON Galnet link? Could be a stable replacement for the XML RSS feed. https://elitedangerous-website-backend-production.elitedangerous.com/api/galnet?_format=json
I've seen that. I think we need to handle the exception first (which my current PR will do) so that EDDI doesn't crash.
It seems like like a potentially viable replacement for English, though it'd require a rewrite since we're used to receiving an xml formatted RSS feed. Other languages are left out in the cold for the time being it seems.
Whether we should adopt that url in the future depends on whether a new RSS feed will be made available in the short term or not. If we're looking at a few days of down time, re-coding the Galnet monitor to read json rather than xml may not be worth the effort.
EDDI version in which issue found
3.3.6 - both VA and standalone
Steps to reproduce
Observed
VA crashes a second or two after loading. EDDI desktop does the same, or crashes so fast that I never even see it :(
Investigation
Everything's been working fine the last few days! I'm not sure what I can have changed to affect this.
I restarted my PC, no joy, and I've tried running the EDDI installer again. I don't want to uninstall altogether unless absolutely necessary because I have a bunch of customised scripts which I foolishly forgot to back up. My latest eddi.log is attached. I don't seem to get that exception if it's launched in VA - the log in that case has no evidence of error.
I'm about to try removing the %appdata%\EDDI settings and adding them back in. I'll report back shortly - but wanted to get this up with my log file before I write too many more of those and forget which is which :)