You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@brooklyn.apache.org by "Aled Sage (JIRA)" <ji...@apache.org> on 2015/01/09 13:45:34 UTC

[jira] [Commented] (BROOKLYN-106) ssh command hangs (gettin stdout/stderr) for vcloud-director

    [ https://issues.apache.org/jira/browse/BROOKLYN-106?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14270965#comment-14270965 ] 

Aled Sage commented on BROOKLYN-106:
------------------------------------

Here is a slight variant of the previous failure - this time hanging when reading the packet length in sshj (when scp'ing a file):

{noformat}
"brooklyn-execmanager-smPU8FCZ-75" daemon prio=10 tid=0x00007f92341e8000 nid=0xa9a in Object.wait() [0x00007f922adeb000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000000ca3ed758> (a net.schmizz.sshj.common.Buffer$PlainBuffer)
        at java.lang.Object.wait(Object.java:503)
        at net.schmizz.sshj.connection.channel.ChannelInputStream.read(ChannelInputStream.java:128)
        - locked <0x00000000ca3ed758> (a net.schmizz.sshj.common.Buffer$PlainBuffer)
        at net.schmizz.sshj.sftp.PacketReader.readIntoBuffer(PacketReader.java:49)
        at net.schmizz.sshj.sftp.PacketReader.getPacketLength(PacketReader.java:57)
        at net.schmizz.sshj.sftp.PacketReader.readPacket(PacketReader.java:73)
        at net.schmizz.sshj.sftp.SFTPEngine.init(SFTPEngine.java:77)
        at net.schmizz.sshj.SSHClient.newSFTPClient(SSHClient.java:623)
        at brooklyn.util.internal.ssh.sshj.SshjTool$1.create(SshjTool.java:614)
        at brooklyn.util.internal.ssh.sshj.SshjTool$1.create(SshjTool.java:1)
        at brooklyn.util.internal.ssh.sshj.SshjTool.acquire(SshjTool.java:551)
        at brooklyn.util.internal.ssh.sshj.SshjTool.acquire(SshjTool.java:537)
        at brooklyn.util.internal.ssh.sshj.SshjTool$PutFileAction.create(SshjTool.java:689)
        at brooklyn.util.internal.ssh.sshj.SshjTool$PutFileAction.create(SshjTool.java:1)
        at brooklyn.util.internal.ssh.sshj.SshjTool.acquire(SshjTool.java:551)
        at brooklyn.util.internal.ssh.sshj.SshjTool.acquire(SshjTool.java:537)
        at brooklyn.util.internal.ssh.sshj.SshjTool.copyToServer(SshjTool.java:268)
        at brooklyn.util.internal.ssh.sshj.SshjTool.copyToServer(SshjTool.java:236)
        at brooklyn.util.internal.ssh.sshj.SshjTool$3.run(SshjTool.java:351)
        at brooklyn.util.internal.ssh.sshj.SshjTool.execScriptAsyncAndPoll(SshjTool.java:478)
        at brooklyn.util.internal.ssh.sshj.SshjTool.execScript(SshjTool.java:320)
        at brooklyn.util.task.system.internal.ExecWithLoggingHelpers$1.exec(ExecWithLoggingHelpers.java:83)
        at brooklyn.util.task.system.internal.ExecWithLoggingHelpers$3.apply(ExecWithLoggingHelpers.java:167)
        at brooklyn.util.task.system.internal.ExecWithLoggingHelpers$3.apply(ExecWithLoggingHelpers.java:1)
        at brooklyn.util.pool.BasicPool.exec(BasicPool.java:147)
        at brooklyn.location.basic.SshMachineLocation.execSsh(SshMachineLocation.java:495)
        at brooklyn.location.basic.SshMachineLocation$11.execWithTool(SshMachineLocation.java:635)
        at brooklyn.util.task.system.internal.ExecWithLoggingHelpers.execWithLogging(ExecWithLoggingHelpers.java:165)
        at brooklyn.util.task.system.internal.ExecWithLoggingHelpers.execScript(ExecWithLoggingHelpers.java:81)
        at brooklyn.location.basic.SshMachineLocation.execScript(SshMachineLocation.java:628)
        at brooklyn.util.task.ssh.internal.AbstractSshExecTaskFactory$1.run(AbstractSshExecTaskFactory.java:52)
        at brooklyn.util.task.system.ProcessTaskWrapper$ProcessTaskInternalJob.call(ProcessTaskWrapper.java:100)
        at brooklyn.util.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:469)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
{noformat}

> ssh command hangs (gettin stdout/stderr) for vcloud-director
> ------------------------------------------------------------
>
>                 Key: BROOKLYN-106
>                 URL: https://issues.apache.org/jira/browse/BROOKLYN-106
>             Project: Brooklyn
>          Issue Type: Bug
>    Affects Versions: 0.7.0-SNAPSHOT
>            Reporter: Aled Sage
>            Assignee: Aled Sage
>         Attachments: debug.log.tgz, jstack.txt, messages.tgz, ssh-stdout.txt
>
>
> When deploying Tomcat to VMware's vcloud-air, to a CentOS 6.4 VM, when installing Java it hangs!
> The Brooklyn web-console shows that it is still waiting for a result from the ssh command (which executed `sudo -E -n -S -- yum -y --nogpgcheck install java-1.7.0-openjdk-devel`).
> However, when logging into the VM I can see that the `yum` command has finished, and the /var/log/messages (attached) shows that the install completed.
> This fails repeatedly. It used to pass!
> The stdout is at 32040 bytes. The last few lines of the stdout (as shown in the web-console) are:
> {noformat}
>   Installing : libtasn1-2.3-6.el6_5.x86_64                                50/56
>   Installing : gnutls-2.8.5-14.el6_5.x86_64                               51/56
>   Installing : 1:cups-libs-1.4.2-67.el6.x86_64                            52/56
> {noformat}
> Could there be some buffer set to 32K, so it's stuck not reading the rest of the stdout (but `SshjToolPerformanceTest.testConsecutiveBigStdoutCommands` passes)?
> Why else would our ssh command be stuck, not returning?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)