[ 
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)

Reply via email to