You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@karaf.apache.org by Taro Fukunaga <ta...@gmail.com> on 2011/09/08 02:46:38 UTC

java.lang.IllegalStateException: Unable to negociate key exchange for item 2

Karaf 2.2.3 has the same problem running Karaf as a service under Linux as I
saw in Karaf 2.2.0. The steps to reproduce this are very simple:

1) Start karaf
2) features:install wrapper
3) wrapper:install
4) ^D then karaf-service start
5)  ./client

357 [NioProcessor-2] WARN org.apache.sshd.client.session.ClientSessionImpl -
Exception caught
java.lang.IllegalStateException: Unable to negociate key exchange for item 2
        at
org.apache.sshd.common.session.AbstractSession.negociate(AbstractSession.java:886)
        at
org.apache.sshd.client.session.ClientSessionImpl.doHandleMessage(ClientSessionImpl.java:236)
        at
org.apache.sshd.client.session.ClientSessionImpl.handleMessage(ClientSessionImpl.java:198)
        at
org.apache.sshd.common.session.AbstractSession.decode(AbstractSession.java:522)
        at
org.apache.sshd.common.session.AbstractSession.messageReceived(AbstractSession.java:225)
        at
org.apache.sshd.common.AbstractSessionIoHandler.messageReceived(AbstractSessionIoHandler.java:58)
        at
org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:716)
        at
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
        at
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
        at
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796)
        at
org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:119)
        at
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
        at
org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:426)
        at
org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:692)
        at
org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:645)
        at
org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:634)
        at
org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400(AbstractPollingIoProcessor.java:66)
        at
org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1078)
        at
org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
Session is closed

Solution is to open KARAF_HOME/etc/karaf-wrapper.conf and change two lines.
It says:

wrapper.java.additional.8=-Djava.endorsed.dirs="%JAVA_HOME%/jre/lib/endorsed:%JAVA_HOME%/lib/endorsed:%REPO_DIR%/endorsed"
wrapper.java.additional.9=-Djava.ext.dirs="%JAVA_HOME%/jre/lib/ext:%JAVA_HOME%/lib/ext:%REPO_DIR%/ext"

But should be without quotes:

wrapper.java.additional.7=-Djava.endorsed.dirs=%JAVA_HOME%/jre/lib/endorsed:%JAVA_HOME%/lib/endorsed:%KARAF_HOME%/lib/endorsed
wrapper.java.additional.8=-Djava.ext.dirs=%JAVA_HOME%/jre/lib/ext:%JAVA_HOME%/lib/ext:%KARAF_HOME%/lib/ext

With this fix the client is able to connect. And also karaf log shows lots
of stuff about SSH which is good to see.

Can someone please address this issue so that karaf wrapper also works out
of the box on Linux? Thanks.

--
View this message in context: http://karaf.922171.n3.nabble.com/java-lang-IllegalStateException-Unable-to-negociate-key-exchange-for-item-2-tp3318330p3318330.html
Sent from the Karaf - User mailing list archive at Nabble.com.