Skip to content
This repository has been archived by the owner on Dec 8, 2021. It is now read-only.

Polaris http requests hang when retrieved from client #177

Closed
suglasp opened this issue Jan 10, 2019 · 4 comments
Closed

Polaris http requests hang when retrieved from client #177

suglasp opened this issue Jan 10, 2019 · 4 comments

Comments

@suglasp
Copy link

suglasp commented Jan 10, 2019

Polaris Bug Report

Description of the bug

Running Powershell Core 6.1.1 on CentOS Linux ("CentOS Linux release 7.6.1810 (Core)")
Installed powershell core from ms repo and did a Install-Module Polaris.
Eventually after running into problems, started off to Install-Module -Scope CurrentUser Polaris for debugging and troubleshooting.
Tested same problem with v0.1.0 and 0.2.0 module versions.


A clear and concise description of what the bug is.

Steps to reproduce

SSH Session #1:
Import-Module Polaris
New-PolarisGetRoute -Path '/helloworld' -Scriptblock { $Response.Send("Hi"); return }
Stop-Polaris; Start-Polaris -Port 8080

SSH Session #2:
Invoke-RestMethod -Method GET -Uri http://machine:8080/helloworld -Verbose
VERBOSE: GET http://machine:8080/helloworld with 0-byte payload
--> // hangs here

SSH Session #1:
had to stop-polaris. Got no response at all in Browser or in session #2

So went troubleshooting. Seems in first place the $Polaris.Log() statements are blocking the I/O.
SSH Session #1:
$env:PSModulePath
/username/.local/share/powershell/Modules:/usr/local/share/powershell/Modules:/opt/microsoft/powershell/6/Modules
cd /usr/local/share/powershell/Modules/Polaris/0.2.0/lib
edited file Polaris.Class.ps1 and commented all line statements with "$Polaris.Log(" ...

Stop-Palaris
Remove-Module Polaris
Remove-Module Polaris.Class
Import-Module Polaris
New-PolarisGetRoute -Path '/helloworld' -Scriptblock { $Response.Send("Hi"); return } -Force
Start-Polaris -Port 8080

SSH Session #2:
Invoke-RestMethod -Method GET -Uri http://machine:8080/helloworld -Verbose
VERBOSE: GET http://machine:8080/helloworld with 0-byte payload
--> // hangs here (again)

Now, when i go to session #2 and do Stop-Polaris or Ctrl+C then it gives response in session #2:
VERBOSE: received 2-byte response of content type text/plain
VERBOSE: Content encoding: iso-8859-1

Expected behavior

Return me a value instant

Add any other context about the problem here.

Version Information

tested behaviour with Polaris v0.1.0 and v0.2.0


NameVersion
Polaris0.2.0
WSManStackVersionPSVersionPSEditionPSCompatibleVersionsPlatformGitCommitIdOSPSRemotingProtocolVersionSerializationVersion
3.06.1.1Core1.0.-1.-1, 2.0.-1.-1, 3.0.-1.-1, 4.0.-1.-1, 5.0.-1.-1, 5.1.10032.0, 6.1.1.-1Unix6.1.1Linux 3.10.0-957.1.3.el7.x86_64 #1 SMP Thu Nov 29 14:49:43 UTC 20182.31.1.0.1
@Tiberriver256
Copy link
Contributor

Hi suglasp,

Sounds very similar to a known issue we have on Unix based platforms (OSX / Linux) detailed more in #136, could you try the following before running Polaris and see if the issue clears up for you:

Remove-Module PSReadline

(Not meant as a fix, just wanting to narrow the issue down)

Thanks for the detailed bug report!

@suglasp
Copy link
Author

suglasp commented Jan 11, 2019

Works if i do this.

I noticed before (because i came across the 136 issue), i have to do the Invoke-RestMethod in a second ssh tty or it hangs if i try to run it from the same tty where i execute the Start-Polaris CmdLet.

[update] Works from a browser to now, gets instant response.

@thehatchcloud
Copy link
Contributor

I am also experiencing this isssue - removing PSReadline also resolves the issue for me. Thanks for the workaround @Tiberriver256

@Tiberriver256
Copy link
Contributor

Closing as we are tracking this issue in #136

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants