pxssh - Output not returning correctly with certain length command












0















When using pxssh from pexpect (Python 3-v4.6.0, Python 2-v4.2.1) to execute a command, the output of the command is not returned, only the command itself along with a control character (example below).
This only occurs when using a command with a particular length, for example when setting the window size to 200, a command of length 189 character will trigger this behaviour, for a window size of 300, a 246 character command etc.



Example code with respective outputs:



Setup:



from pexpect import pxssh
conn = pxssh.pxssh()
conn.login(host, user, password)
conn.setwinsize(500, 200)
conn.setecho(False)
conn.sendline('')
conn.prompt(1)
conn.prompt(1)


Correct Expected Output:



conn.sendline('l'*188)
conn.prompt(1)
conn.before
b'llll**snip**lllllx1b[Klrn-sh: lllll*snip*lllll: command not foundrn'


Incorrect Output:



conn.sendline('l'*189)
conn.prompt(1)
conn.before
b'lllll**snip**lllllrx1b[A'


Correct Expected Output:



conn.sendline('l'*190)
conn.prompt(1)
conn.before
b'lllll**snip**llllllx1b[Klrn-sh: lllll**snip**llllll: command not foundrn'


Does anyone know what might be causing this?










share|improve this question



























    0















    When using pxssh from pexpect (Python 3-v4.6.0, Python 2-v4.2.1) to execute a command, the output of the command is not returned, only the command itself along with a control character (example below).
    This only occurs when using a command with a particular length, for example when setting the window size to 200, a command of length 189 character will trigger this behaviour, for a window size of 300, a 246 character command etc.



    Example code with respective outputs:



    Setup:



    from pexpect import pxssh
    conn = pxssh.pxssh()
    conn.login(host, user, password)
    conn.setwinsize(500, 200)
    conn.setecho(False)
    conn.sendline('')
    conn.prompt(1)
    conn.prompt(1)


    Correct Expected Output:



    conn.sendline('l'*188)
    conn.prompt(1)
    conn.before
    b'llll**snip**lllllx1b[Klrn-sh: lllll*snip*lllll: command not foundrn'


    Incorrect Output:



    conn.sendline('l'*189)
    conn.prompt(1)
    conn.before
    b'lllll**snip**lllllrx1b[A'


    Correct Expected Output:



    conn.sendline('l'*190)
    conn.prompt(1)
    conn.before
    b'lllll**snip**llllllx1b[Klrn-sh: lllll**snip**llllll: command not foundrn'


    Does anyone know what might be causing this?










    share|improve this question

























      0












      0








      0








      When using pxssh from pexpect (Python 3-v4.6.0, Python 2-v4.2.1) to execute a command, the output of the command is not returned, only the command itself along with a control character (example below).
      This only occurs when using a command with a particular length, for example when setting the window size to 200, a command of length 189 character will trigger this behaviour, for a window size of 300, a 246 character command etc.



      Example code with respective outputs:



      Setup:



      from pexpect import pxssh
      conn = pxssh.pxssh()
      conn.login(host, user, password)
      conn.setwinsize(500, 200)
      conn.setecho(False)
      conn.sendline('')
      conn.prompt(1)
      conn.prompt(1)


      Correct Expected Output:



      conn.sendline('l'*188)
      conn.prompt(1)
      conn.before
      b'llll**snip**lllllx1b[Klrn-sh: lllll*snip*lllll: command not foundrn'


      Incorrect Output:



      conn.sendline('l'*189)
      conn.prompt(1)
      conn.before
      b'lllll**snip**lllllrx1b[A'


      Correct Expected Output:



      conn.sendline('l'*190)
      conn.prompt(1)
      conn.before
      b'lllll**snip**llllllx1b[Klrn-sh: lllll**snip**llllll: command not foundrn'


      Does anyone know what might be causing this?










      share|improve this question














      When using pxssh from pexpect (Python 3-v4.6.0, Python 2-v4.2.1) to execute a command, the output of the command is not returned, only the command itself along with a control character (example below).
      This only occurs when using a command with a particular length, for example when setting the window size to 200, a command of length 189 character will trigger this behaviour, for a window size of 300, a 246 character command etc.



      Example code with respective outputs:



      Setup:



      from pexpect import pxssh
      conn = pxssh.pxssh()
      conn.login(host, user, password)
      conn.setwinsize(500, 200)
      conn.setecho(False)
      conn.sendline('')
      conn.prompt(1)
      conn.prompt(1)


      Correct Expected Output:



      conn.sendline('l'*188)
      conn.prompt(1)
      conn.before
      b'llll**snip**lllllx1b[Klrn-sh: lllll*snip*lllll: command not foundrn'


      Incorrect Output:



      conn.sendline('l'*189)
      conn.prompt(1)
      conn.before
      b'lllll**snip**lllllrx1b[A'


      Correct Expected Output:



      conn.sendline('l'*190)
      conn.prompt(1)
      conn.before
      b'lllll**snip**llllllx1b[Klrn-sh: lllll**snip**llllll: command not foundrn'


      Does anyone know what might be causing this?







      python pxssh






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Jan 2 at 14:21









      MABMAB

      12




      12
























          1 Answer
          1






          active

          oldest

          votes


















          0














          In case anyone comes across this problem in the future. This issue occurs when a command of length = window size - length of prompt, which causes an additional prompt to incorrectly be inserted into the incoming data in turn causing the output to be incorrectly returned.



          For more information see: https://github.com/pexpect/pexpect/issues/552






          share|improve this answer























            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54008000%2fpxssh-output-not-returning-correctly-with-certain-length-command%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            In case anyone comes across this problem in the future. This issue occurs when a command of length = window size - length of prompt, which causes an additional prompt to incorrectly be inserted into the incoming data in turn causing the output to be incorrectly returned.



            For more information see: https://github.com/pexpect/pexpect/issues/552






            share|improve this answer




























              0














              In case anyone comes across this problem in the future. This issue occurs when a command of length = window size - length of prompt, which causes an additional prompt to incorrectly be inserted into the incoming data in turn causing the output to be incorrectly returned.



              For more information see: https://github.com/pexpect/pexpect/issues/552






              share|improve this answer


























                0












                0








                0







                In case anyone comes across this problem in the future. This issue occurs when a command of length = window size - length of prompt, which causes an additional prompt to incorrectly be inserted into the incoming data in turn causing the output to be incorrectly returned.



                For more information see: https://github.com/pexpect/pexpect/issues/552






                share|improve this answer













                In case anyone comes across this problem in the future. This issue occurs when a command of length = window size - length of prompt, which causes an additional prompt to incorrectly be inserted into the incoming data in turn causing the output to be incorrectly returned.



                For more information see: https://github.com/pexpect/pexpect/issues/552







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Jan 28 at 16:51









                MABMAB

                12




                12
































                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54008000%2fpxssh-output-not-returning-correctly-with-certain-length-command%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    MongoDB - Not Authorized To Execute Command

                    How to fix TextFormField cause rebuild widget in Flutter

                    in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith