You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@karaf.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2024/12/16 09:43:00 UTC

[jira] [Commented] (KARAF-7873) Problem when running under a user without a home directory

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

ASF subversion and git services commented on KARAF-7873:
--------------------------------------------------------

Commit 56806b0f92a890f3d7e5749f3e51eb3a1103f35d in karaf's branch refs/heads/karaf-4.4.x from JB Onofré
[ https://gitbox.apache.org/repos/asf?p=karaf.git;h=56806b0f92 ]

KARAF-7873: Fallback to karaf.home for shell history file

(cherry picked from commit 2c8c32c301201c7586ec01ec2c39824404a1e052)


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