Comments on: The Anatomy of a Plugin Crash https:/2016/06/the-anatomy-of-a-plugin-crash/ Developer resources for the X-Plane flight simulator Thu, 23 Jun 2016 12:27:11 +0000 hourly 1 https://wordpress.org/?v=6.6.1 By: Joseph N. https:/2016/06/the-anatomy-of-a-plugin-crash/#comment-13344 Thu, 23 Jun 2016 12:27:11 +0000 http://xplanedev.wpengine.com/?p=7036#comment-13344 In reply to Markku Uttula.

That is great to hear! It sort of reminds me of the experimental process. d

Glad the issue was worked out, and this is a great connection to Ben’s post.

]]>
By: Saar https:/2016/06/the-anatomy-of-a-plugin-crash/#comment-13320 Tue, 21 Jun 2016 11:33:56 +0000 http://xplanedev.wpengine.com/?p=7036#comment-13320 Sounds like catch 22 to me.

A workaround might be sensible in current iteration of XP life. Maybe on next XP version you will be able to fix this issue, since incompatibilities should be acceptable.

]]>
By: Ben Supnik https:/2016/06/the-anatomy-of-a-plugin-crash/#comment-13303 Mon, 20 Jun 2016 13:32:09 +0000 http://xplanedev.wpengine.com/?p=7036#comment-13303 In reply to Stanislaw Halik.

I think so, yeah. If you want your object lazy-loaded, you should do so at the plugin level; since the next thing you can do with an OBJ is -draw- it, lazy loading by the SDK would imply blocks -during- drawing for loading objects. So we assume that if you want the OBJ now, you mean it. Note that you can also schedule an object to load async, which is often the best compromise.

]]>
By: Ben Supnik https:/2016/06/the-anatomy-of-a-plugin-crash/#comment-13302 Mon, 20 Jun 2016 13:30:57 +0000 http://xplanedev.wpengine.com/?p=7036#comment-13302 In reply to Glen Andker.

No.
– This bug is new to 10.50, so applying the fix to 10.45 makes no sense.
– We aren’t going to patch 10.45 at all – 10.50 -is- where bug fixes will go.

]]>
By: Stanislaw Halik https:/2016/06/the-anatomy-of-a-plugin-crash/#comment-13296 Mon, 20 Jun 2016 07:51:17 +0000 http://xplanedev.wpengine.com/?p=7036#comment-13296 Hey Ben,

Is lazy-loading .obj conditionals’ dependencies out of the question?

cheers,
sh

]]>
By: Glen Andker https:/2016/06/the-anatomy-of-a-plugin-crash/#comment-13295 Mon, 20 Jun 2016 04:55:26 +0000 http://xplanedev.wpengine.com/?p=7036#comment-13295 Ben,
Is it possible you could apply this fix to the current 10.45 stable version?

]]>
By: Markku Uttula https:/2016/06/the-anatomy-of-a-plugin-crash/#comment-13275 Sun, 19 Jun 2016 13:54:38 +0000 http://xplanedev.wpengine.com/?p=7036#comment-13275 This is a bit of a meta-comment, and is probably only of interest to the nerdy types… so any reader should feel free to skip if it ain’t of interest to you 😉

In the project I am currently emplyed in, just until a couple of weeks ago, we had one automated test that was failing “sometimes”. There was no clear cause for the test to fail, but myself and some other members of the team that took some time to investigate postulated that it was due to timing issues (always a nasty thing with asynchronous code execution). Eventually I was tasked with actually fixing the issue. So, my initial reaction was to refactor the code in such a manner that the timing would not be an issue. Once I did that, the test started to fail *always*.

Many junior software developers would think that this was a turn for worse, but I was positively thrilled. Instead of a test that was randomly failing, I now had a test that was always failing – so … this brought the realisation that the random failures were *not* the problem … the problem was that most of the time the test was “randomly” passing – even though it should have failed. So … I was thrilled because I had made the test behave deterministically and this was the first step in getting the feature actually work the way it was supposed to.

What to take home from all of this? a) Automated tests are developer’s friend, not an enemy. b) If/when your tests fail – even randomly, look into it; there is possibly a bug involved. c) If you make a change that causes a test that sometimes fails to fail always – that is not necessarily a bad thing.

…oh, and in case it is of interest to anyone, I did manage to fix the actual root cause of the failure in our tests. Since then the test (unmodified since the initial modification that caused it to always fail) has passed without problems. That is always nice thing to take home after work 🙂

]]>
By: Ben Supnik https:/2016/06/the-anatomy-of-a-plugin-crash/#comment-13261 Sat, 18 Jun 2016 23:34:02 +0000 http://xplanedev.wpengine.com/?p=7036#comment-13261 In reply to Carlos.

No. If you have the current installer (3.40r3) you don’t need a new installer.

If you are experiencing crashes on startup you may have to -manually- check for updates using that installer; some of the crashes in beta 1 crash before the auto-update check happens.

]]>
By: Stevil https:/2016/06/the-anatomy-of-a-plugin-crash/#comment-13257 Sat, 18 Jun 2016 18:56:35 +0000 http://xplanedev.wpengine.com/?p=7036#comment-13257 Cool, Ben!
Thanks for your hard work and especially for that detailed report of your findings. It was really interesting to read 🙂

]]>
By: Carlos https:/2016/06/the-anatomy-of-a-plugin-crash/#comment-13256 Sat, 18 Jun 2016 18:51:23 +0000 http://xplanedev.wpengine.com/?p=7036#comment-13256 Ben,

Is is going to be necessary to download a new installer once b2 goes live?

]]>