30
Root
7y

My project at work (an electron/angular desktop app) has an exceedingly rare bug that causes it to crash-to-desktop while loading. Nothing about the bug makes sense, and there's no way to catch or detect it until the next run, and it happens 100% of the time for affected users.

There have been six confirmed cases so far (out of 500k+ users), and nothing linking them together. None of the fixes discovered by those users have worked for other affected users.

The worst part?
I was the first of those cases. I inadvertently fixed it for myself and haven't been able to reproduce it since.

I'm stumped!

Comments
  • 1
    OMG VISUAL STUDIO CODE AND ATOM KEEPS CRASHING WHEN I START IT

    IM THE 7TH
  • 0
    macOS Sierra
    MacBook Pro 15" mid 2010
    intel i5 2.4Ghz
    Nvidia GeForce GT 330M
  • 2
  • 1
    Have you tried using an error logger like sentry.io?

    Although that would only work in the probably only work in the renderer process, not the main process...
  • 1
    @spiffwhack
    Yeah, unfortunately I doubt it would help. 🙁

    Electron's console output doesn't show anything either, so I doubt there's a way to trap it.
  • 1
    That's absurd...Serving 500k users makes it a great deal. I have not used electron before, I am a great user of Ionic, so basically I won't help much.

    But here is what I would do - Brute force...Isolate some parts of the app and run. Like isolate controllers not used on your landing page and their respective routes. Add them back one by one to identify where the bug is...then go on and find it. It's hard to fix something when you don't even know where it arises.
  • 2
    @briannyagol
    The only way I can reproduce this is... I can't, actually. But I can try asking the two remaining affected users to run test builds, but they're muggles.

    Also, the crash happens before any of my controllers initialize: it crashes when Electron starts its first renderer process. So I'm not even sure it's an issue with my code.

    I'm pretty sure I know what the issue is, though: when I inherited this project over a year ago, many of its dependencies were very out of date -- like using node 0.12! It also has no testing suite. With rushed features, I haven't been able to update them since, and doing so is going to take pretty significant effort. Plus, with recent financial troubles, the company can't afford that technical debt... so they're probably going to stay outdated for quite awhile. 🙁
  • 1
    @Ashkin Oh no. Sorry for replying late. When backbone dependencies are that old, such deep end errors are prone to come around.

    Have you tried to consider the relationship between the browsers or versions of browsers where the error occurs or the operating systems? If it works for others, it is most likely the legacy versions of node especially has trouble running on some kind ( or version ) of the browsers.

    What do you think about that?
  • 1
    @briannyagol

    As it's a packaged Electron app, I control the version of all its dependencies, including the browser it uses (chromium). I also bundle a version of java for the game proper, and I believe I also package node along with the other dependencies. This makes me believe the cause of the crash is entirely environmental.

    To figure out what could be causing it, I've compared everything between the affected systems, and haven't found a single thing in common:

    Most use Windows, but some use Linux. The hardware differs (mobo, graphics, cpu). The amount of ram is always sufficient (happened to me with over 25gb free). Since most were on Windows systems, I compared those more extensively, looking at driver versions, dxdiags, the process list, Windows event logs... nothing in common with all of them.

    And the most confusing of all: the fixes reported by users don't work for the other users -- and don't include dependency version changes.

    I'm stumped.
  • 1
    @briannyagol
    I'd definitely appreciate any other suggestions or advice you have!
  • 0
    @Ashkin Oh girl..This is all confusing now. No relationship, no console logs, pre-load crashes...

    I am out of ideas...but I will sure think about it again and again...

    These however may be leading questions.

    1. Who do you think is the culprit? Electron or Angular?

    2. Which property of [1] is likely to cause load time errors?

    I am a little interested in your app. Can I get to see it?
  • 1
    @Ashkin Alright...let me know when you find a solution. I'd love to know. I would like to know your opinion on a website I have been working on for a long time.

    Www.VibeCampo.com
  • 1
    Though i should probably probably remove the references here to keep anonymity for both myself and my employer.

    Mind removing yours as well @briannyagol ?
  • 0
    @Ashkin Not a problem. Any reference to the name of the project or even the ideas we have been sharing?
  • 1
    @briannyagol just the name ^^
  • 0
    @Ashkin Okay...Did you ckeck out the link I sent?
  • 1
    I haven't had the chance yet -- mother's day plans!
  • 0
    @Ashkin Haha what are you planning or what are the kids planning for you?
  • 0
    @Ashkin Did you have a look at my website?
Add Comment