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

Bundler Fails when Running Under a Unicode Windows User

    Details

    • Type: Bug
    • Status: Accepted
    • Priority: Normal
    • Resolution: Unresolved
    • Affects Version/s: PUP 4.4.0
    • Fix Version/s: None
    • Component/s: Windows
    • Labels:
    • Environment:

      Agent: Windows Server 2012 R2 (WIN_SUT)

      Description

      Description

      If a user attempts to "bundle install" within a Puppet repo on Windows while logged-in as a Unicode user the install will fail.

      Glenn Sarti seems to already know the root cause.

      Attachments

      • None.

      Reproduction Steps

      1. Install Ruby 2.1.8 on WIN_SUT.
      2. Install Ruby DevKit on WIN_SUT.
      3. Install Git on WIN_SUT.
      4. Open Git Bash console and clone the Puppet repo on the WIN_SUT.

        git clone https://github.com/puppetlabs/puppet.git

      5. Switch to the "stable" branch of Puppet repo.

        git checkout stable

      6. Create user "㔲㔳㔴㔵㔶" and join the user to the "Administrators" group on WIN_SUT.
      7. Logoff and logon as the "㔲㔳㔴㔵㔶" user on the WIN_SUT.
      8. Open console and navigate to Puppet repo. (C:\puppet)
      9. Bundle install inside Puppet repo.

        bundle install --path .bundle

      Expect

      Bundler should install the gem dependencies for Puppet.

      Actual

      Bundler fails:

      C:\puppet>bundle install --path .bundle
      C:/Ruby21-x64/lib/ruby/site_ruby/2.1.0/rbreadline.rb:1097:in `<module:RbReadline
      >': HOME environment variable (or HOMEDRIVE and HOMEPATH) must be set and point
      to a directory (RuntimeError)
              from C:/Ruby21-x64/lib/ruby/site_ruby/2.1.0/rbreadline.rb:17:in `<top (r
      equired)>'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/site_ruby/2.1.0/readline.rb:10:in `<module:R
      eadline>'
              from C:/Ruby21-x64/lib/ruby/site_ruby/2.1.0/readline.rb:8:in `<top (requ
      ired)>'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/bundler-1.11.2/lib/bundler/v
      endor/thor/lib/thor/line_editor/readline.rb:2:in `<top (required)>'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/bundler-1.11.2/lib/bundler/v
      endor/thor/lib/thor/line_editor.rb:2:in `<top (required)>'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/bundler-1.11.2/lib/bundler/v
      endor/thor/lib/thor/base.rb:8:in `<top (required)>'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/bundler-1.11.2/lib/bundler/v
      endor/thor/lib/thor.rb:2:in `<top (required)>'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/bundler-1.11.2/lib/bundler/v
      endored_thor.rb:2:in `<top (required)>'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/bundler-1.11.2/lib/bundler/f
      riendly_errors.rb:3:in `<top (required)>'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/bundler-1.11.2/exe/bundle:16
      :in `<top (required)>'
              from C:/Ruby21-x64/bin/bundle:23:in `load'
              from C:/Ruby21-x64/bin/bundle:23:in `<main>'
      

      Output

      Administrator@w2012r2 MINGW64 /c
      $ git clone https://github.com/puppetlabs/puppet.git
      Cloning into 'puppet'...
      remote: Counting objects: 205189, done.
      remote: Compressing objects: 100% (82/82), done.
      remote: Total 205189 (delta 50), reused 0 (delta 0), pack-reused 205107
      Receiving objects: 100% (205189/205189), 49.28 MiB | 4.44 MiB/s, done.
      Resolving deltas: 100% (149646/149646), done.
      Checking connectivity... done.
       
      Administrator@w2012r2 MINGW64 /c
      $ cd puppet/
       
      Administrator@w2012r2 MINGW64 /c/puppet (master)
      $ git branch
      * master
       
      Administrator@w2012r2 MINGW64 /c/puppet (master)
      $ git checkout stable
      Branch stable set up to track remote branch stable from origin.
      Switched to a new branch 'stable'
       
      C:\puppet>bundle install --path .bundle
      C:/Ruby21-x64/lib/ruby/site_ruby/2.1.0/rbreadline.rb:1097:in `<module:RbReadline
      >': HOME environment variable (or HOMEDRIVE and HOMEPATH) must be set and point
      to a directory (RuntimeError)
              from C:/Ruby21-x64/lib/ruby/site_ruby/2.1.0/rbreadline.rb:17:in `<top (r
      equired)>'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/site_ruby/2.1.0/readline.rb:10:in `<module:R
      eadline>'
              from C:/Ruby21-x64/lib/ruby/site_ruby/2.1.0/readline.rb:8:in `<top (requ
      ired)>'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/bundler-1.11.2/lib/bundler/v
      endor/thor/lib/thor/line_editor/readline.rb:2:in `<top (required)>'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/bundler-1.11.2/lib/bundler/v
      endor/thor/lib/thor/line_editor.rb:2:in `<top (required)>'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/bundler-1.11.2/lib/bundler/v
      endor/thor/lib/thor/base.rb:8:in `<top (required)>'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/bundler-1.11.2/lib/bundler/v
      endor/thor/lib/thor.rb:2:in `<top (required)>'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/bundler-1.11.2/lib/bundler/v
      endored_thor.rb:2:in `<top (required)>'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/bundler-1.11.2/lib/bundler/f
      riendly_errors.rb:3:in `<top (required)>'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
      :in `require'
              from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/bundler-1.11.2/exe/bundle:16
      :in `<top (required)>'
              from C:/Ruby21-x64/bin/bundle:23:in `load'
              from C:/Ruby21-x64/bin/bundle:23:in `<main>'
      

        Attachments

          Issue Links

            Activity

              jsd-sla-details-panel

                People

                • Assignee:
                  Unassigned
                  Reporter:
                  ryan.gard Ryan Gard
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated: