Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix #7489 preventing winrm connection leakage #7712

Merged
merged 1 commit into from
Sep 30, 2016

Conversation

mwrock
Copy link
Contributor

@mwrock mwrock commented Aug 13, 2016

This ensures that all winrm commands open a new connection and close it after the command. While the previous shell code is "mostly" leak proof, it keeps a connection open for each WinRMShell instance and does not close them until the vagrant process exits. Thats generally a more efficient approach and reduces connection startup overhead for multiple commands. In the case of Windows 2008 R2, the default maximum open shells is 5. So if one uses multiple vagrant plugins, it may be easy to exceed this maximum and errors will ensue.

The cost savings of openning new connections really does not outweigh the error scenarios possible here on Windows 2008R2 (and Windows 7).

@ggascoigne
Copy link

I'm happy to confirm that this resolved all of my winrm issues. I tested this on two different Windows 7 images, Windows 2008r2 Enterprise, two different Windows 2012r2 Standard images, and Windows 10. All worked correctly.

@istvano
Copy link

istvano commented Aug 16, 2016

Hi Guys,
Great fix, although this instroduced a new bug. I have several PS1 and BAT files running and if I install your patch the new bat does not overwrite the earlier bat file so it the provisioning fails.

e.g.
image you do like this

config.vm.provision :shell, path: "scripts/provision/install-dot-net.ps1"
config.vm.provision :shell, path: "scripts/provision/install-sql-server.cmd"
config.vm.provision :shell, path: "scripts/provision/configure-sql-port.ps1"
config.vm.provision :shell, path: "scripts/provision/enable-rdp.ps1"
config.vm.provision :shell, path: "scripts/provision/install-iis.cmd"

the config.vm.provision :shell, path: "scripts/provision/configure-sql-port.ps1" will not run.
if I observe the content of c:\tmp\vagrant-shell.ps1 it still contains the c:\tmp\vagrant-shell.ps1 content
it seems there is issue with cleaning up or something.

Thanks for looking!

@mwrock
Copy link
Contributor Author

mwrock commented Aug 20, 2016

@istvano I am trying to reproduce this and have been unsuccessful. Can you share what version of windows you are provisioning and a gist of the full error message preferably with --debug?

Thanks

@istvano
Copy link

istvano commented Aug 20, 2016

Hi,

Host: Windows 10
Guest Windows 2008 r2
latest Vagrant
latest Virtualbox

  • Technically there is no error message.

I have 10 provisioning scripts and when the second provisioning bat file runs it contains the content from the earlier file hence I believe it does not get overridden.

I used this as the base for my project.
https://github.com/fgrehm/vagrant-mssql-express

I hope this helps.

Kind Regards

@mwrock
Copy link
Contributor Author

mwrock commented Aug 20, 2016

ok i was trying on 2012r2. I get a repro on 2008r2 and will look closer later today.

@istvano
Copy link

istvano commented Aug 20, 2016

Hi,

Great. just try to use that Vagrant image I linked. it uses 2008 r2 and on my windows 10 it dies fail and can be reproduced everytime.

Kind Regards

@mwrock
Copy link
Contributor Author

mwrock commented Aug 20, 2016

Actually even simple scripts that have echo hello1, echo hello2, etc repro. i see hello1 repeated on 2k8r2.

@istvano
Copy link

istvano commented Aug 20, 2016

hi,

I see. Ok so you can reproduce it which is the main thing.

I used a work around to solve the problem in the meantime. I am using upload_path and different name for each script so I can work with it.

Although I believe this "bug" is a side-effect of the patch and it should be looked at.

Thanks again!

@mwrock
Copy link
Contributor Author

mwrock commented Aug 21, 2016

So it looks like this change in particular is not causing the behavior that @istvano is seeing but "uncovering" it. If I revert the code, I get the original error related to too many shells but then if I limit the provisioner scripts to just 2 in order to keep the total count under 5, then is see the second provisioner calling the same script as the first.

So while this PR "improves" things, there is indeed another problem at play here with windows 2008R2 and provisioning scripts which I will investigate further and address in a separate PR if it is truly separate.

@mwrock
Copy link
Contributor Author

mwrock commented Aug 21, 2016

OK I see the issue now. It unfortunately is tied to a bug in winrm-fs where checking if a previously uploaded file already exists on the remote. The checksum comparison for 2008R2 is broken. This has been fixed in winrm V2 WinRb/WinRM#191 which has not yet been released. Its just waiting final code review now and once released I'll begin working to retrofit vagrant integration to use it.

So I think this PR still stands to be merged and thanks a bunch @istvano for taking the time to test it and report this problem!

@istvano
Copy link

istvano commented Aug 21, 2016

You are welcome! Great work on discovering the other bit!

@dsudduth
Copy link

dsudduth commented Sep 5, 2016

@chrisroberts -- Is there an ETA for this to be integrated? I'm a little stuck in that I need some fixes for Chef that were delivered about 1.8.1, so reverting isn't an option. Just looking for a ballpark, thanks!

@mwrock
Copy link
Contributor Author

mwrock commented Sep 5, 2016

We released in winrm-fs this last week. So we are gradually plugging it into consuming apps. I plan to retrofit vagrant with the winrm v2 (and family) gems in a few weeks after it has had a chance to "bake".

@dsudduth
Copy link

dsudduth commented Sep 5, 2016

@mwrock - Thanks for the quick response! I'll ensure that my team uses 1.8.1 for the time being. Don't want to mix topics, any ideas where I could ask some Chef/Vagrant/Windows questions?

@mwrock
Copy link
Contributor Author

mwrock commented Sep 5, 2016

I think the best place is https://discourse.chef.io/

@dsudduth
Copy link

dsudduth commented Sep 5, 2016

@mwrock - Thanks again my friend!

@jakauppila
Copy link

@mwrock Just curious if you had a timeframe in mind for implementing this since it's been a few weeks?

@mwrock
Copy link
Contributor Author

mwrock commented Sep 20, 2016

we have already addressed a couple bugs (some important I think and one was a major leakage hole). Later this week these gems will hit a broader audience when we release the chef-dk. I'm planning on giving that at least a few weeks. The main issue is that I have total control over those release pipelines whereas once its in vagrant its locked down for a while. So I'm exercising extra caution here.

@jakauppila
Copy link

Sounds good. I've made these changes to my local environment and it fixed the problem, so I'm good with that until a broader release.

@chrisroberts chrisroberts added this to the 1.8.7 milestone Sep 27, 2016
Copy link
Member

@chrisroberts chrisroberts left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 Thanks @mwrock !

@chrisroberts chrisroberts merged commit 6e6b35f into hashicorp:master Sep 30, 2016
@jbarnett-r7
Copy link

I'm not sure if I should create a new issue for this or not, so sorry if this is the wrong choice.

I'm still seeing the WinRM connection errors on 1.8.6. I'm specifically seeing it on the number of concurrent operations, not the number of shells.

==> default: Running provisioner: shell...
    default: Running: inline PowerShell script
==> default: Running provisioner: shell...
==> default: Running cleanup tasks for 'reload' provisioner...
==> default: Forcing shutdown of VM...
==> default: Destroying VM and associated drives...
/opt/vagrant/embedded/gems/gems/winrm-1.8.1/lib/winrm/http/response_handler.rb:64:in `raise_if_wsman_fault': [WSMAN ERROR CODE: 2150859174]: <f:WSManFault Code='2150859174' Machine='127.0.0.1' xmlns:f='http://schemas.microsoft.com/wbem/wsman/1/wsmanfault'><f:Message>The WS-Management service cannot process the request. This user is allowed a maximum number of 50 concurrent operations, which has been exceeded. Close existing operations for this user, or raise the quota for this user. </f:Message></f:WSManFault> (WinRM::WinRMWSManFault)
    from /opt/vagrant/embedded/gems/gems/winrm-1.8.1/lib/winrm/http/response_handler.rb:51:in `raise_if_error'
    from /opt/vagrant/embedded/gems/gems/winrm-1.8.1/lib/winrm/http/response_handler.rb:35:in `parse_to_xml'
    from /opt/vagrant/embedded/gems/gems/winrm-1.8.1/lib/winrm/http/transport.rb:200:in `send_request'
    from /opt/vagrant/embedded/gems/gems/winrm-1.8.1/lib/winrm/winrm_service.rb:492:in `send_message'
    from /opt/vagrant/embedded/gems/gems/winrm-1.8.1/lib/winrm/winrm_service.rb:393:in `run_wql'
    from /opt/vagrant/embedded/gems/gems/winrm-1.8.1/lib/winrm/command_executor.rb:190:in `os_version'
    from /opt/vagrant/embedded/gems/gems/winrm-1.8.1/lib/winrm/command_executor.rb:149:in `code_page'
    from /opt/vagrant/embedded/gems/gems/winrm-1.8.1/lib/winrm/command_executor.rb:72:in `block in open'
    from /opt/vagrant/embedded/gems/gems/winrm-1.8.1/lib/winrm/command_executor.rb:222:in `retryable'
    from /opt/vagrant/embedded/gems/gems/winrm-1.8.1/lib/winrm/command_executor.rb:71:in `open'
    from /opt/vagrant/embedded/gems/gems/winrm-1.8.1/lib/winrm/winrm_service.rb:359:in `create_executor'
    from /opt/vagrant/embedded/gems/gems/winrm-fs-0.3.2/lib/winrm-fs/file_manager.rb:110:in `upload'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/plugins/communicators/winrm/shell.rb:76:in `upload'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/plugins/communicators/winrm/communicator.rb:173:in `upload'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/plugins/provisioners/shell/provisioner.rb:114:in `block (2 levels) in provision_winrm'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/plugins/provisioners/shell/provisioner.rb:105:in `tap'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/plugins/provisioners/shell/provisioner.rb:105:in `block in provision_winrm'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/plugins/provisioners/shell/provisioner.rb:220:in `with_script_file'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/plugins/provisioners/shell/provisioner.rb:104:in `provision_winrm'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/plugins/provisioners/shell/provisioner.rb:22:in `provision'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/builtin/provision.rb:133:in `run_provisioner'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:95:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/builder.rb:116:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/runner.rb:66:in `block in run'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/util/busy.rb:19:in `busy'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/runner.rb:66:in `run'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/environment.rb:479:in `hook'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/builtin/provision.rb:121:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/builtin/provision.rb:121:in `block in call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/builtin/provision.rb:103:in `each'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/builtin/provision.rb:103:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/plugins/providers/virtualbox/action/clear_forwarded_ports.rb:15:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/plugins/providers/virtualbox/action/set_name.rb:50:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/plugins/providers/virtualbox/action/clean_machine_folder.rb:17:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/plugins/providers/virtualbox/action/check_accessible.rb:18:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/builder.rb:116:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/runner.rb:66:in `block in run'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/util/busy.rb:19:in `busy'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/runner.rb:66:in `run'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/builtin/call.rb:53:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/builder.rb:116:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/runner.rb:66:in `block in run'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/util/busy.rb:19:in `busy'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/runner.rb:66:in `run'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/builtin/call.rb:53:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/builder.rb:116:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/runner.rb:66:in `block in run'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/util/busy.rb:19:in `busy'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/runner.rb:66:in `run'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/builtin/call.rb:53:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/builtin/box_check_outdated.rb:36:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/builtin/config_validate.rb:25:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/plugins/providers/virtualbox/action/check_virtualbox.rb:17:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/plugins/providers/virtualbox/action/match_mac_address.rb:19:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/plugins/providers/virtualbox/action/discard_state.rb:15:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/plugins/providers/virtualbox/action/import.rb:74:in `import'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/plugins/providers/virtualbox/action/import.rb:13:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/plugins/providers/virtualbox/action/prepare_clone_snapshot.rb:17:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/builtin/prepare_clone.rb:15:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/plugins/providers/virtualbox/action/customize.rb:40:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/plugins/providers/virtualbox/action/check_accessible.rb:18:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/builder.rb:116:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/runner.rb:66:in `block in run'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/util/busy.rb:19:in `busy'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/runner.rb:66:in `run'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/builtin/call.rb:53:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/builtin/config_validate.rb:25:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/builtin/handle_box.rb:56:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/builder.rb:116:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/runner.rb:66:in `block in run'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/util/busy.rb:19:in `busy'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/runner.rb:66:in `run'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/builtin/call.rb:53:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/plugins/providers/virtualbox/action/check_virtualbox.rb:17:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/builder.rb:116:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/runner.rb:66:in `block in run'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/util/busy.rb:19:in `busy'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/action/runner.rb:66:in `run'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/machine.rb:225:in `action_raw'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/machine.rb:200:in `block in action'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/environment.rb:567:in `lock'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/machine.rb:186:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/machine.rb:186:in `action'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.6/lib/vagrant/batch_action.rb:82:in `block (2 levels) in run'
    from /opt/vagrant/embedded/gems/gems/logging-2.1.0/lib/logging/diagnostic_context.rb:450:in `call'
    from /opt/vagrant/embedded/gems/gems/logging-2.1.0/lib/logging/diagnostic_context.rb:450:in `block in create_with_logging_context'

I was previously using 1.8.5 while monkey-patching in the fixes suggested here and had no issues. I did both an upgrade to 1.8.6 and a fresh install, but same error each time.

One thing I noticed is that 1.8.6 for OSX still includes WinRM gem 1.8.1, but 2.0.1 is available. Would upgrading the WinRM gem fix the issue?

@mwrock
Copy link
Contributor Author

mwrock commented Oct 3, 2016

I think this was merged right after the 1.8.6 release so you shouldn't expect to see it until the next release.

@jbarnett-r7
Copy link

Oh yup, I see that now. Sorry about that. I'll monkey patch 1.8.6 and hold out for the next release. Thanks!

@dusek
Copy link

dusek commented Nov 7, 2016

FYI, I just reported the problem with wrong execution the first script also for the subsequent ones in GH-7971.

@ghost
Copy link

ghost commented Apr 3, 2020

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.

If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@ghost ghost locked and limited conversation to collaborators Apr 3, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants