[ https://issues.apache.org/jira/browse/KARAF-7280?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Matt Pavlovich updated KARAF-7280: ---------------------------------- Description: 1. Implement custom JaasRealm (extend from KarafRealm. Only replace PropertiesLogin) 2. Login using ssh ./bin/client -u admin -p admin 3. Observe shell "hung" and server-side exception (see below) 4. Observe karaf.home is 'unset' 5. Set karaf.home to proper value 6. Observe using ssh works moving forward (tested 5 login+logout no issue) Server-side exception: {noformat} Exception in thread "Karaf ssh console user admin" java.lang.IllegalArgumentException: 'other' is different type of Path at java.base/sun.nio.fs.UnixPath.relativize(UnixPath.java:429) at java.base/sun.nio.fs.UnixPath.relativize(UnixPath.java:43) at org.apache.karaf.shell.impl.console.ConsoleSessionImpl.doExecuteScript(ConsoleSessionImpl.java:573) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:312) at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734) at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658) at org.apache.karaf.shell.impl.console.ConsoleSessionImpl.executeScript(ConsoleSessionImpl.java:569) at org.apache.karaf.shell.impl.console.ConsoleSessionImpl.run(ConsoleSessionImpl.java:400) at java.base/java.lang.Thread.run(Thread.java:834) {noformat} The server-side exception is thrown b/c this can't relativize due to karaf.home being unset. ConsoleSessionImpl.java:573 {noformat} Object oldScript = session.put("script", Paths.get(System.getProperty("karaf.home")).relativize(scriptFileName)); {noformat} was: 1. Implement custom JaasRealm (extend from KarafRealm. Only replace PropertiesLogin) 2. Login using ssh ./bin/client -u admin -p admin 3. Observe shell "hung" and server-side exception (see below) 4. Observe karaf.home is 'unset' 5. Set karaf.home to proper value 6. Observe using ssh works moving forward (tested 5 login+logout no issue) Server-side exception {noformat} Exception in thread "Karaf ssh console user admin" java.lang.IllegalArgumentException: 'other' is different type of Path at java.base/sun.nio.fs.UnixPath.relativize(UnixPath.java:429) at java.base/sun.nio.fs.UnixPath.relativize(UnixPath.java:43) at org.apache.karaf.shell.impl.console.ConsoleSessionImpl.doExecuteScript(ConsoleSessionImpl.java:573) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:312) at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734) at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658) at org.apache.karaf.shell.impl.console.ConsoleSessionImpl.executeScript(ConsoleSessionImpl.java:569) at org.apache.karaf.shell.impl.console.ConsoleSessionImpl.run(ConsoleSessionImpl.java:400) at java.base/java.lang.Thread.run(Thread.java:834) {noformat} > karaf.home gets unset > --------------------- > > Key: KARAF-7280 > URL: https://issues.apache.org/jira/browse/KARAF-7280 > Project: Karaf > Issue Type: Bug > Affects Versions: 4.2.11 > Reporter: Matt Pavlovich > Priority: Major > > 1. Implement custom JaasRealm (extend from KarafRealm. Only replace > PropertiesLogin) > 2. Login using ssh ./bin/client -u admin -p admin > 3. Observe shell "hung" and server-side exception (see below) > 4. Observe karaf.home is 'unset' > 5. Set karaf.home to proper value > 6. Observe using ssh works moving forward (tested 5 login+logout no issue) > Server-side exception: > {noformat} > Exception in thread "Karaf ssh console user admin" > java.lang.IllegalArgumentException: 'other' is different type of Path > > > at java.base/sun.nio.fs.UnixPath.relativize(UnixPath.java:429) > at java.base/sun.nio.fs.UnixPath.relativize(UnixPath.java:43) > at > org.apache.karaf.shell.impl.console.ConsoleSessionImpl.doExecuteScript(ConsoleSessionImpl.java:573) > at > java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) > at > java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655) > at > java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) > at > java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) > at > java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:312) > at > java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734) > at > java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658) > at > org.apache.karaf.shell.impl.console.ConsoleSessionImpl.executeScript(ConsoleSessionImpl.java:569) > at > org.apache.karaf.shell.impl.console.ConsoleSessionImpl.run(ConsoleSessionImpl.java:400) > at java.base/java.lang.Thread.run(Thread.java:834) > {noformat} > The server-side exception is thrown b/c this can't relativize due to > karaf.home being unset. > ConsoleSessionImpl.java:573 > {noformat} > Object oldScript = session.put("script", > Paths.get(System.getProperty("karaf.home")).relativize(scriptFileName)); > {noformat} -- This message was sent by Atlassian Jira (v8.20.1#820001)