Skip to content

New-PSSession now fails with a NullReferenceException and core dump #942

Description

Note from Andy Jordan (@andschwa) (hijacking for visibility):

As this is the oldest issue, I'm going to keep it and close all others. New-PSSession (whether its loopback on the local machine or not) is PSRP (as is Enter-PSSession and Invoke-Command etc.), which is in progress but not yet supported. Please follow the progress on the PSRP on Linux repo. We (mostly Paul Allen (@paulcallen) and George Fleming (@palladia)) are working hard to get this ready, and clearly hear how much you all want it! Please be patient while we finish the implementation.

Original issue:

Before submitting this issue, please first:

  • Search the existing issues.
  • Refer to the FAQ.
  • Refer to the known issues.
  • If it is a bug, fill out this form:

Steps to reproduce

new-pssession

Expected behavior

graceful failure

Actual behavior

Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
   at System.Management.Automation.Remoting.PrioritySendDataCollection.Clear()
   at System.Management.Automation.Remoting.Client.BaseClientTransportManager.CloseAsync()
   at System.Management.Automation.Remoting.Client.WSManClientSessionTransportManager.CloseAsync()
   at System.Management.Automation.Remoting.Client.BaseClientTransportManager.Finalize()
Aborted (core dumped)

Environment data

Linux jimtru-ops2 4.2.0-35-generic #40~14.04.1-Ubuntu SMP Fri Mar 18 16:37:35 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Please fill in the results of the following commands:

$ dotnet --info
.NET Command Line Tools (1.0.0-rc2-002543)

Product Information:
 Version:     1.0.0-rc2-002543
 Commit Sha:  38d0c28a1e

Runtime Environment:
 OS Name:     ubuntu
 OS Version:  14.04
 OS Platform: Linux
 RID:         ubuntu.14.04-x64


$ git rev-parse HEAD && git status
PS> git rev-parse HEAD;git status
aa9547930792e5d536f17002a69346cc6c9a0612
On branch master
Your branch is up-to-date with 'origin/master'.

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        dotnet-host-ubuntu-x64.latest.deb
        dotnet-sdk-ubuntu-x64.latest.deb
        dotnet-sharedframework-ubuntu-x64.latest.deb
        newitem.tests.ps1

nothing added to commit but untracked files present (use "git add" to track)

Activity

  1. andyleejordan commented on May 4, 2016

    @andyleejordan
    Member

    I have good news and bad news. In #939, the ConsoleHost at least doesn't fail immediately. It first bails with:

    New-PSSession : Unable to load DLL 'libpsrpomiprov': The specified module could not be found.
     (Exception from HRESULT: 0x8007007E)
    At line:1 char:1
    + New-PSSession
    + ~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (:) [New-PSSession], DllNotFoundException
        + FullyQualifiedErrorId : System.DllNotFoundException,Microsoft.PowerShell.Commands.NewPSSessionCommand
    

    For the Linux configuration, it's looking for the remoting library, which on Linux, is Paul Allen (@paulcallen)'s PSRP provider. Once I provide it:

    New-PSSession : Unable to find an entry point named 'WSManInitialize' in DLL 'libpsrpomiprov'.
    At line:1 char:1
    + New-PSSession
    + ~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (:) [New-PSSession], EntryPointNotFoundException
        + FullyQualifiedErrorId : System.EntryPointNotFoundException,Microsoft.PowerShell.Commands.NewPSSessionCommand
    

    Since WSManInitialize is unimplemented. A (@ealexjordan) and Paul Allen (@paulcallen), is this something you plan to implement?

  2. andyleejordan commented on May 4, 2016

    @andyleejordan
    Member

    And on Windows:

    New-PSSession : [localhost] Connecting to remote server localhost failed with the following error message : Access is
    denied. For more information, see the about_Remote_Troubleshooting Help topic.
    At line:1 char:1
    + New-PSSession
    + ~~~~~~~~~~~~~
        + CategoryInfo          : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [New-PSSession], PSRemotin
       gTransportException
        + FullyQualifiedErrorId : AccessDenied,PSSessionOpenFailed
    

    I suspect this is just a configuration issue for me.

  3. andyleejordan commented on May 4, 2016

    @andyleejordan
    Member

    We also don't quite support this:

    > Enable-PSRemoting -Force
    Enable-PSRemoting : The term 'Enable-PSRemoting' is not recognized as the name of a cmdlet, function, script file, or
    operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try
    again.
    At line:1 char:1
    + Enable-PSRemoting -Force
    + ~~~~~~~~~~~~~~~~~
        + CategoryInfo          : ObjectNotFound: (Enable-PSRemoting:String) [], CommandNotFoundException
        + FullyQualifiedErrorId : CommandNotFoundException
    

    And even though I successfully ran it in an administrative session and restarted my ConsoleHost, I still couldn't run it.

  4. JamesWTruher commented on May 4, 2016

    @JamesWTruher
    CollaboratorAuthor

    The last one makes sense - it's essentially a registry editor and sets a bunch of WSMan state (although it should work just fine on windows)

  5. JamesWTruher commented on May 4, 2016

    @JamesWTruher
    CollaboratorAuthor

    as for the error New-PSSession : [localhost] Connecting to remote server localhost failed take a look at $error[0].Exception (and the rest) - the exception from the remote context should also be available to you, as well as a call stack

  6. itadder commented on Aug 19, 2016

    @itadder

    Just typed New-PSSession
    Then I got this.
    Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
    at System.Management.Automation.Remoting.PrioritySendDataCollection.Clear()
    at System.Management.Automation.Remoting.Client.BaseClientTransportManager.CloseAsync()
    at System.Management.Automation.Remoting.Client.WSManClientSessionTransportManager.CloseAsync()
    at System.Management.Automation.Remoting.Client.BaseClientTransportManager.Finalize()
    Abort trap: 6

    Environment
    Darwin MacBook-Pro.posh.net 15.6.0 Darwin Kernel Version 15.6.0: Thu Jun 23 18:25:34 PDT 2016; root:xnu-3248.60.10~1/RELEASE_X86_64 x86_64

  7. 27 remaining items

  8. paulcallen commented on Feb 1, 2017

    @paulcallen
    Contributor

    We will be dropping new nuget packages to powershell in a week or two that will make the client more stable. It will also enable initial work for getting Linux/OSX powershell connection to exchange/office365. At the same time new documents for NTLM will be posted. You can look at the documents referred to by Bruce Campbell (@yakman2020). If there is something specific we can certainly help you.

  9. ElFerminador commented on Feb 1, 2017

    @ElFerminador

    Excellent news about being able to access Office 365 from Mac OS! On another subject, how will updating PowerShell on the Mac work? I've recently switched from Windows, still a bit new to git. Thanks for any advice!

  10. JamesWTruher commented on Feb 1, 2017

    @JamesWTruher
    CollaboratorAuthor

    I have a little more data to add - I have updated my base PowerShell to version .15 and I'm now not seeing the issue with that version. However, I just built and ran, with the following strangeness:

    PS /home/james/src/github/Forks/JamesWTruher/PowerShell-1> new-pssession -ComputerName foobarbazbip -Authentication basic
    new-pssession : Unable to load DLL 'libpsrpclient': The specified module could not be found.
     (Exception from HRESULT: 0x8007007E)
    At line:1 char:1
    + new-pssession -ComputerName foobarbazbip -Authentication basic
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (:) [New-PSSession], DllNotFoundException
        + FullyQualifiedErrorId : System.DllNotFoundException,Microsoft.PowerShell.Commands.NewPSSessionCommand
    
    PS /home/james/src/github/Forks/JamesWTruher/PowerShell-1> try { new-pssession -ComputerName foobarbazbip -Authentication basic } catch { "hi" }
    hi
    PS /home/james/src/github/Forks/JamesWTruher/PowerShell-1> cd test/powershell
    
    Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
       at System.Management.Automation.Remoting.PrioritySendDataCollection.Clear() in /home/james/src/github/Forks/JamesWTruher/PowerShell-1/src/System.Management.Automation/engine/remoting/fanin/PriorityCollection.cs:line 158
       at System.Management.Automation.Remoting.Client.BaseClientTransportManager.CloseAsync() in /home/james/src/github/Forks/JamesWTruher/PowerShell-1/src/System.Management.Automation/engine/remoting/fanin/BaseTransportManager.cs:line 949
       at System.Management.Automation.Remoting.Client.WSManClientSessionTransportManager.CloseAsync() in /home/james/src/github/Forks/JamesWTruher/PowerShell-1/src/System.Management.Automation/engine/remoting/fanin/WSManTransportManager.cs:line 1219
       at System.Management.Automation.Remoting.Client.BaseClientTransportManager.Finalize() in /home/james/src/github/Forks/JamesWTruher/PowerShell-1/src/System.Management.Automation/engine/remoting/fanin/BaseTransportManager.cs:line 998

    I don't know whether this helps you at all, but I thought I would let you know.

  11. paulcallen commented on Feb 1, 2017

    @paulcallen
    Contributor

    James Truher (@JamesWTruher) I just installed .15 on my Ubuntu 16.04 machine and things worked just fine. What platform are you on?

  12. paulcallen commented on Feb 1, 2017

    @paulcallen
    Contributor

    ElFerminador mac osx installation details are here. I believe it deletes the old directory and installs a new one. That is what happens on Ubuntu 16.04 at least.

  13. paulcallen commented on Mar 9, 2017

    @paulcallen
    Contributor

    I am closing this thread as the primary issue should now be fixed, along with some of the sub issues that have shown up on this thread. The office 365 fixes should be in the alpha.17 build when it comes out.

  14. vinodc commented on Mar 10, 2017

    @vinodc

    Paul Allen (@paulcallen) I've confirmed connectivity to Office 365 via PowerShell from Ubuntu 14.04 works great!! Thank you and Bruce Campbell (@yakman2020) very much for your hard work the past two months to make this happen. Really appreciate it.

  15. andyleejordan commented on Mar 10, 2017

    @andyleejordan
    Member

    This is awesome!

  16. paulcallen commented on Mar 10, 2017

    @paulcallen
    Contributor

    Vinod Chandru (@vinodc) Glad it is working for you.
    Also wanted to mention George Fleming (@palladia) as well. Both Bruce Campbell (@yakman2020) and George Fleming (@palladia) have been instrumental to our OMI/PSRP work on Linux.

  17. yakman2020 commented on Mar 13, 2017

    @yakman2020

    Thanks. It really means a lot to hear.

    Now on to the next thing, already in progress.

  18. rodel0723 commented on Aug 21, 2017

    @rodel0723

    Paul Allen (@paulcallen) as you have mentioned to Vinod Chandru (@vinodc) here that proxy setting/authentication is not yet supported, is this still true on below version?

    PSVersion 6.0.0-beta
    PSEdition Core
    GitCommitId v6.0.0-beta.5
    OS Linux 3.10.0-693.el7.x86_64 #1 SMP Thu Jul 6 19:56:57 EDT 2017
    Platform Unix
    PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
    PSRemotingProtocolVersion 2.3
    SerializationVersion 1.1.0.1
    WSManStackVersion 3.0

    if yes, are there any workaround to use powershell behind proxy on linux for New-PSSession cmdlet?

    thank you in advance.

  19. paulcallen commented on Aug 21, 2017

    @paulcallen
    Contributor

    OMI client does not support proxy settings, and does not respond to proxy responses. Sorry.
    If there are enough asks for it we could certainly consider it. If it were done, then the psrp client layer for Linux would need to be updated once completed.
    Don't know how Microsoft does it inside their firewall, but our proxy servers have a component installed on the client machine that does the proxying automatically so we don't need support at the application level. I think it handles it at the socket layer.

  20. rodel0723 commented on Aug 22, 2017

    @rodel0723

    Paul Allen (@paulcallen) Thank you for your reply. How about setting the http_proxy before running powershell, will it take too long to change the code? It will be really helpful for us working behind proxies if it will be implemented.

  21. paulcallen commented on Sep 11, 2017

    @paulcallen
    Contributor

    I created an OMI issue to track adding proxy support for the omi client: omi issue 403

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Issue-Enhancementthe issue is more of a feature request than a bugWG-Cmdletsgeneral cmdlet issuesWG-RemotingPSRP issues with any transport layer

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions