Uploaded image for project: 'Puppet'
  1. Puppet
  2. PUP-6557

Dir.glob in Ruby 2.3 has changed behavior on Windows, can break code loading

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Normal
    • Resolution: Fixed
    • None
    • PUP 4.6.1
    • Windows
    • Hide

      Tests pass in a local dev environment.
      Solution does not cause performance degradation on non Windows platforms.

      Show
      Tests pass in a local dev environment. Solution does not cause performance degradation on non Windows platforms.
    • 3
    • Windows 2016-08-10, Windows 2016-08-24

    Description

      Ruby 2.3 addressed a bug in Dir.glob on Windows - https://bugs.ruby-lang.org/issues/10819 with commit https://github.com/ruby/ruby/commit/45df1c24d269f93a2bc1e7a6fe0ffcecc1193051

      Unfortunately this has changed the behavior in such a way that prevents file paths from being compared as they were previously. Previously an 8.3 style file path was passed to Dir.glob and it returned 8.3 style paths in Ruby 2.1. Due to bug fix 10819, the paths are now expanded from 8.3 paths.

      This should also involve adding a new test, so that AppVeyor catches the problem (which it currently does not)

      Analysis of the various call sites led to this gist - showing any time an Environment / Environment / Module was created - https://gist.github.com/Iristyle/9389f62d60a402f861df8a98012535c9

      Attachments

        Issue Links

          Activity

            People

              erick Erick Banks
              ethan Ethan Brown
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Zendesk Support