[ 
https://issues.apache.org/jira/browse/KARAF-7873?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jean-Baptiste Onofré updated KARAF-7873:
----------------------------------------
    Target Version/s: 4.5.0, 4.4.7

> Problem when running under a user without a home directory
> ----------------------------------------------------------
>
>                 Key: KARAF-7873
>                 URL: https://issues.apache.org/jira/browse/KARAF-7873
>             Project: Karaf
>          Issue Type: Bug
>          Components: karaf
>    Affects Versions: 4.4.6
>         Environment: ubuntu 20.04.6
>            Reporter: Andre Schlegel-Tylla
>            Assignee: Jean-Baptiste Onofré
>            Priority: Major
>
> When running Karaf with a user who has no home there are several issues with 
> different impact.
> We have a service user "svc_is" without a home directory.
> When accessing the console we got:
>  
> {code:java}
> 2024-10-08T14:16:44,854 | WARN  | Karaf ssh console user virtimo | jline      
>                       | 162 - org.jline - 3.21.0 | Failed to save 
> historyjava.nio.file.AccessDeniedException: /home/svc_is    at 
> sun.nio.fs.UnixException.translateToIOException(UnixException.java:90) ~[?:?] 
>    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106) 
> ~[?:?]    at 
> sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111) ~[?:?]  
>   at 
> sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:397)
>  ~[?:?]    at java.nio.file.Files.createDirectory(Files.java:700) ~[?:?]    
> at java.nio.file.Files.createAndCheckIsDirectory(Files.java:807) ~[?:?]    at 
> java.nio.file.Files.createDirectories(Files.java:793) ~[?:?]    at 
> org.jline.reader.impl.history.DefaultHistory.internalWrite(DefaultHistory.java:227)
>  ~[!/:?]    at 
> org.jline.reader.impl.history.DefaultHistory.save(DefaultHistory.java:219) 
> ~[!/:?]    at 
> org.jline.reader.impl.history.DefaultHistory.add(DefaultHistory.java:384) 
> [!/:?]    at 
> org.jline.reader.impl.LineReaderImpl.finish(LineReaderImpl.java:1140) [!/:?]  
>   at 
> org.jline.reader.impl.LineReaderImpl.finishBuffer(LineReaderImpl.java:1109) 
> [!/:?]    at 
> org.jline.reader.impl.LineReaderImpl.readLine(LineReaderImpl.java:689) [!/:?] 
>    at 
> org.apache.karaf.shell.impl.console.ConsoleSessionImpl.readCommand(ConsoleSessionImpl.java:447)
>  [!/:4.4.6]    at 
> org.apache.karaf.shell.impl.console.ConsoleSessionImpl.run(ConsoleSessionImpl.java:405)
>  [!/:4.4.6]    at java.lang.Thread.run(Thread.java:840) [?:?] {code}
>  
>  
> In another step we tried to install feature pax-jdbc-postgresql which tries 
> to load the driver over maven. In this case a home directory is expected to 
> access the local maven repo. This also fails:
>  
> {code:java}
> 2024-10-08T14:16:44,863 | INFO  | pipe-feature:install pax-jdbc-postgresql | 
> FeaturesServiceImpl              | 19 - org.apache.karaf.features.core - 
> 4.4.6 | Adding features: 
> pax-jdbc-postgresql/[1.5.7,1.5.7]2024-10-08T14:16:44,935 | WARN  | 
> downloader-12-thread-3 | AetherBasedResolver              | 3 - 
> org.ops4j.pax.url.mvn - 2.6.14 | Error resolving artifact 
> org.postgresql:postgresql:jar:42.7.3: [Could not transfer artifact 
> org.postgresql:postgresql:jar:42.7.3 from/to central 
> (https://repo1.maven.org/maven2/): 
> /home/svc_is/.m2/repository/org/postgresql/postgresql/42.7.3/postgresql-42.7.3.jar.part.lock
>  (No such file or directory)]java.io.IOException: Error resolving artifact 
> org.postgresql:postgresql:jar:42.7.3: [Could not transfer artifact 
> org.postgresql:postgresql:jar:42.7.3 from/to central 
> (https://repo1.maven.org/maven2/): 
> /home/svc_is/.m2/repository/org/postgresql/postgresql/42.7.3/postgresql-42.7.3.jar.part.lock
>  (No such file or directory)]    at 
> org.ops4j.pax.url.mvn.internal.AetherBasedResolver.configureIOException(AetherBasedResolver.java:803)
>  [!/:?]    at 
> org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:774)
>  [!/:?]    at 
> org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:657)
>  [!/:?]    at 
> org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:598)
>  [!/:?]    at 
> org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:565)
>  [!/:?]    at 
> org.apache.karaf.features.internal.download.impl.MavenDownloadTask.download(MavenDownloadTask.java:49)
>  [!/:?]    at 
> org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:60)
>  [!/:?]    at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [?:?] 
>    at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]    at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
>  [?:?]    at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
>  [?:?]    at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
>  [?:?]    at java.lang.Thread.run(Thread.java:840) [?:?]    Suppressed: 
> shaded.org.eclipse.aether.transfer.ArtifactTransferException: Could not 
> transfer artifact org.postgresql:postgresql:jar:42.7.3 from/to central 
> (https://repo1.maven.org/maven2/): 
> /home/svc_is/.m2/repository/org/postgresql/postgresql/42.7.3/postgresql-42.7.3.jar.part.lock
>  (No such file or directory)        at 
> shaded.org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:52)
>  ~[!/:?]        at 
> shaded.org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:401)
>  ~[!/:?]        at 
> shaded.org.eclipse.aether.util.concurrency.RunnableErrorForwarder.lambda$wrap$0(RunnableErrorForwarder.java:73)
>  ~[!/:?]        at 
> shaded.org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:669)
>  ~[!/:?]        at 
> shaded.org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:290)
>  ~[!/:?]        at 
> shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:520)
>  ~[!/:?]        at 
> shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:408)
>  ~[!/:?]        at 
> shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:235)
>  ~[!/:?]        at 
> shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:212)
>  ~[!/:?]        at 
> shaded.org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:272)
>  ~[!/:?]        at 
> org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:767)
>  [!/:?]        at 
> org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:657)
>  [!/:?]        at 
> org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:598)
>  [!/:?]        at 
> org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:565)
>  [!/:?]        at 
> org.apache.karaf.features.internal.download.impl.MavenDownloadTask.download(MavenDownloadTask.java:49)
>  [!/:?]        at 
> org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:60)
>  [!/:?]        at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [?:?] 
>        at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]      
>   at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
>  [?:?]        at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
>  [?:?]        at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
>  [?:?]        at java.lang.Thread.run(Thread.java:840) [?:?]    Caused by: 
> java.io.FileNotFoundException: 
> /home/svc_is/.m2/repository/org/postgresql/postgresql/42.7.3/postgresql-42.7.3.jar.part.lock
>  (No such file or directory)        at java.io.RandomAccessFile.open0(Native 
> Method) ~[?:?]        at 
> java.io.RandomAccessFile.open(RandomAccessFile.java:344) ~[?:?]        at 
> java.io.RandomAccessFile.<init>(RandomAccessFile.java:259) ~[?:?]        at 
> java.io.RandomAccessFile.<init>(RandomAccessFile.java:213) ~[?:?]        at 
> shaded.org.eclipse.aether.connector.basic.PartialFile$LockFile.tryLock(PartialFile.java:138)
>  ~[!/:?]        at 
> shaded.org.eclipse.aether.connector.basic.PartialFile$LockFile.lock(PartialFile.java:82)
>  ~[!/:?]        at 
> shaded.org.eclipse.aether.connector.basic.PartialFile$LockFile.<init>(PartialFile.java:70)
>  ~[!/:?]        at 
> shaded.org.eclipse.aether.connector.basic.PartialFile$Factory.newInstance(PartialFile.java:268)
>  ~[!/:?]        at 
> shaded.org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.runTask(BasicRepositoryConnector.java:481)
>  ~[!/:?]        at 
> shaded.org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:396)
>  ~[!/:?]        ... 20 moreCaused by: 
> shaded.org.eclipse.aether.resolution.ArtifactResolutionException: Error 
> resolving artifact org.postgresql:postgresql:jar:42.7.3    at 
> shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:431)
>  ~[?:?]    at 
> shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:235)
>  ~[?:?]    at 
> shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:212)
>  ~[?:?]    at 
> shaded.org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:272)
>  ~[?:?]    at 
> org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:767)
>  ~[?:?]    ... 11 more {code}
>  
> I think in this case ${user.home} should be setz to the Karaf-Home.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to