X-Plane 10.20 beta 10 is out, and it features a new XPLM with two new features that help plugin authors detect problems with their plugins; I am jokingly  calling it “name and shame” because the new code lists the particular name of the plugin that failed.  This will help plugin authors figure out which plugin failed in a multi-plugin environment and help users report bugs to the right third party developer.

  • If a Linux or Mac 64-bit plugin incorrectly links against a number of common libraries, the plugin manager will log this on plugin load.  This will help authors detect linker setting errors and prevent a recurrence of the plugin conflicts that are quite common for 32-bit plugins.  (We do not log these problems with 32-bit plugins because they are very common; in fact, the sample templates for the SDK had the linker set up incorrectly until recently, so fixing these problems is “new” for most authors.)
  • If a crash is cause by a plugin (and thus not auto-reported to LR) we log the name of the plugin that crashed.

To this second point, your plugin is charged with the crash if ones of its callbacks was running during the crash.  This includes calls in X-Plane code due to your plugin.  For example if you call XPLMDrawObject with a bad object pointer and the sim crashes, your plugin gets dinged.

This beta (10.20 beta 10) is the beta to test!  If you have a 64-bit plugin, go test it against this new beta to see how well it really works!

About Ben Supnik

Ben is a software engineer who works on X-Plane; he spends most of his days drinking coffee and swearing at the computer -- sometimes at the same time.

14 comments on “10.20 Beta 10: Name and Shame for Plugins

  1. Great work Ben, even if most of it is over my head, LOL.

    Regarding the beta; could you tell me what cloud puff bases adjusted means?

    Cheers

    Dom

  2. Beta 10 on Mac and Linux leaves lots of messages in Log.txt listing the plugin symbols that you’re looking for and hoping not to find, e.g.:
    dlerror:dlsym(0x6f0665a0, png_create_read_struct): symbol not found

    To avoid confusion it might be best to suppress these “error” messages in future.

    1. I am seeing the same thing on my Linux and Mac builds but see then on every on including /Resources/plugins/PluginAdmin/64/lin.xpl. Do I understand correctly that they should not be there or is it my problem?

      Bill

  3. While you’re working on the logger, how about ditching all the ATC messaging and dumping that to a separate file, Ben. Makes it very hard to dig through if something important is amiss.

    Also….. will the error actually tell us what libary is missing, ala Dependency Checker?

    By the way…..Happy New Year, dude!

    1. I second that! In such case I would like to have more detailed ATC logging to help in the “debugging” of layouts and flow definitions. It would also be nice to have some kind visualization of ATC sectors that are defined in the atc.dat file from within X-plane. As an overlay on the local map maybe?

      1. The log is categorized by sub-system and warning severity. Our goal is to someday get _all_ log output to look like the ATC output. At that point the standard Unix tool ‘grep’ will let you extract the portions of interest.

  4. sometimes little things are enjoyable.
    Thanks a lot for fixing the broken keys on the german keyboard.

  5. Here is a question not releated to this topic, but I cannot seem to find a right time to ask you this..

    1. Does alphetasizing the scenery library actually work or have a valid performance gain?

    example: (fictional scenery setup)

    aaa_EGSS – Stanford Airport
    bbb_England_VFR
    ccc_UK – AI Traffic
    zzz_Europe – Terra Mesh 1.0

    As you can see are scenery and addons alphabetasized with xxx_ infront of their name
    Myth states that X-Plane render its scenery in layer format, reading from top to bottom in sequence. Which again would mean that aaa_ are shown first, than bbb_ and so on..

    True or False?

    Please feel free to email me the answer if you do not feel this reply is not topic related and will not be approved.

    1. X-Plane 10 reads in the order of the scenery_packs.ini. New packs NOT in the .ini are added (in alphabetical order) to the TOP of the file – thus the new pack you just got goes to top priority until you change it.

      Renaming a scenery pack means it isn’t in scenery_packs.ini – it goes back to the top.

      Performance will depend on who excludes who.

      Don’t rename your scenery packs; set their name once if and only if the author didn’t pick a good name. Edit the scenery_packs.ini file to reorganize.

Comments are closed.