WinRb / WinRM

Ruby library for Windows Remote Management
Apache License 2.0
412 stars 117 forks source link

It takes very long time to execute first remote command #327

Closed ghost closed 3 years ago

ghost commented 3 years ago

It takes about 20 min to execute first remote command:

jruby 9.1.2.0 (2.3.0) 2016-05-26 7357c8f OpenJDK 64-Bit Server VM 25.121-b13 on 1.8.0_121-b13 [linux-x86_64]
  * httpclient (2.8.3)
  * rubyntlm (0.6.3)
  * winrm (2.3.6)
  * winrm-elevated (1.2.3)
  * winrm-fs (1.3.3)

[26.03.21 15:20:51] DD: [WinRM] opening remote shell on http://10.77.128.216:5985/wsman
[26.03.21 15:40:44] DD: [WinRM] Waiting for output...
[26.03.21 15:40:44] DD: [WinRM] Processing output
[26.03.21 15:40:44] DD: [WinRM] polling for pipeline state.

After analyzing traffic on wsman port, it looks like NTLM challenge response was not provided on timely manner. image This behavior is 100% reproducible in my setup, further commands are executing swiftly. Looks like jruby+httpclient are usual suspects but I am not able to effectively investigate further and I must stick with jruby. Any help will be appreciated.

EDIT: Cannot reproduce using jruby:9.2.17 (dockerized) Unfortunately upgrading jruby on target setup is not an option. Issue was workaround by using plaintext (it is ok for my setup). Didn't found root cause of issue but it looks like winrm gem is not to blame.