Running Cytoscape in container without root permission

137 views
Skip to first unread message

Anthony Gitter

unread,
Jun 29, 2023, 10:11:46 AM6/29/23
to cytoscape-helpdesk
I would like to create a Docker image that can run Cytoscape in headless mode so I can connect to it with py4cytoscape and export a session file to disk. By following https://github.com/cytoscape/docker-cytoscape-desktop/blob/master/py4cytoscape/Dockerfile and substantially simplifying it, I have that working in Docker.

However, now I am also trying to convert that image automatically to the Singularity image format and use it in the same way. This fails. When running the Docker container, I have root permission inside the container during Cytoscape startup, but I do not when running the Singularity container. My errors at startup are:

Apptainer> /bin/bash -c 'xvfb-run -s "-screen 0 1920x1080x24" /py4cytoscape/cytoscape-unix-3.9.1/cytoscape.sh'
karaf.base: /py4cytoscape/cytoscape-unix-3.9.1/framework
JAVA_HOME: /usr/lib/jvm/java-11-openjdk-amd64
Unable to update instance pid: Unable to create directory /py4cytoscape/cytoscape-unix-3.9.1/framework/instances
org.osgi.framework.BundleException: Unable to cache bundle: mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxb-api-2.1/1.2.0
        at org.apache.felix.framework.Felix.installBundle(Felix.java:3013)
        at org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:167)
        at org.eclipse.equinox.internal.region.BundleIdBasedRegion.installBundle0(BundleIdBasedRegion.java:117)
        at org.eclipse.equinox.internal.region.BundleIdBasedRegion.installBundleAtLocation(BundleIdBasedRegion.java:97)
        at org.apache.karaf.features.internal.service.BundleInstallSupportImpl.installBundle(BundleInstallSupportImpl.java:135)
        at org.apache.karaf.features.internal.service.FeaturesServiceImpl.installBundle(FeaturesServiceImpl.java:1138)
        at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:900)
        at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1062)
        at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:998)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.io.IOException: No space left on device
        at java.base/java.io.FileOutputStream.writeBytes(Native Method)
        at java.base/java.io.FileOutputStream.write(FileOutputStream.java:354)
        at java.base/java.io.BufferedOutputStream.write(BufferedOutputStream.java:123)
        at org.apache.felix.framework.cache.BundleCache.copyStreamToFile(BundleCache.java:359)
        at org.apache.felix.framework.cache.JarRevision.initialize(JarRevision.java:170)
        at org.apache.felix.framework.cache.JarRevision.<init>(JarRevision.java:77)
        at org.apache.felix.framework.cache.BundleArchive.createRevisionFromLocation(BundleArchive.java:872)
        at org.apache.felix.framework.cache.BundleArchive.reviseInternal(BundleArchive.java:550)
        at org.apache.felix.framework.cache.BundleArchive.<init>(BundleArchive.java:153)
        at org.apache.felix.framework.cache.BundleCache.create(BundleCache.java:277)
        at org.apache.felix.framework.Felix.installBundle(Felix.java:3009)
        ... 12 more

I manually created a Cytoscape.vmoptions file that sets -Duser.home to a writeable directory inside the Singularity container, which eliminated some errors. I found https://stackoverflow.com/questions/74538194/network-install-of-cytoscape that reports the "Unable to update instance pid" is okay to ignore. However, I am still unsure what is causing the "No space left on device" error.

Is there a way for me to configure where Cytoscape writes files at startup? After reading https://manual.cytoscape.org/en/latest/Launching_Cytoscape.html#cytoscape-directories it seems like I can't change P/CYTOSCAPE_V3.10.0/FRAMEWORK (or my equivalent, the karaf.base directory).

Thanks for the help.

Scooter Morris

unread,
Jun 29, 2023, 10:21:49 AM6/29/23
to cytoscape-helpdesk
Hi Anthony,

 I think what's failing now is the bundle cache, which is in the user's home dorectory/CytoscapeConfiguration/3/karaf_data/cache.   The entire karaf_data and it's subdirectories should actually be writeable.

-- scooter

Anthony Gitter

unread,
Jul 13, 2023, 9:31:56 AM7/13/23
to cytoscape-helpdesk
Thanks for the suggestion, Scooter. It was helpful to have a next step in my exploration.

I ran the Singularity container interactively and confirmed that <home>/CytoscapeConfiguration is writeable. After launching Cytoscape and hitting the above error message, two new files are written to it:
<home>/CytoscapeConfiguration/3/framework-cytoscape.log
<home>/CytoscapeConfiguration/3/tmp

The tmp file is empty. I'll copy the full log file at the end.

I was able to wget ~750MB of data into <home>/CytoscapeConfiguration, so I suspect it is indeed a file permission issue and not a disk space issue. It seems like Cytoscape may be trying to write data somewhere outside <home>/CytoscapeConfiguration when the error occurs.

I also tested in the Docker version of this container, where Cytoscape launches successfully. After launching and closing Cytoscape in the container, a <home>/CytoscapeConfiguration/3/karaf_data/cache directory wasn't created. This is what was written:
<home>/CytoscapeConfiguration# du -h .
12K     ./web/full/data
8.0K    ./web/full/views
272K    ./web/full/styles
12K     ./web/full/scripts/services
16K     ./web/full/scripts/controllers
1.4M    ./web/full/scripts
156K    ./web/full/bower_components/sass-bootstrap/fonts
160K    ./web/full/bower_components/sass-bootstrap
164K    ./web/full/bower_components
176K    ./web/full/images
2.0M    ./web/full
8.0K    ./web/simple/styles
732K    ./web/simple/scripts
772K    ./web/simple
2.8M    ./web
8.0K    ./__MACOSX/web/full/data
8.0K    ./__MACOSX/web/full/scripts
24K     ./__MACOSX/web/full
8.0K    ./__MACOSX/web/simple
40K     ./__MACOSX/web
44K     ./__MACOSX
4.0K    ./images3
4.0K    ./app-data/org.cytoscape.cyndex2-3.6.1
8.0K    ./app-data
4.0K    ./3/apps/installed
4.0K    ./3/apps/uninstalled
4.0K    ./3/apps/disabled
4.0K    ./3/apps/download-temp
4.0K    ./3/apps/.temp-installed
24K     ./3/apps
4.0K    ./3/tmp
92K     ./3
3.0M    .

framework-cytoscape.log contents:
2023-07-07 22:24:50,254 [activator-1-thread-2] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl - Adding features: cytoscape-karaf/[3.9.1,3.9.1],cytoscape-gui/[3.9.1,3.9.1]
2023-07-07 22:24:51,040 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl - Changes to perform:
2023-07-07 22:24:51,040 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   Region: root
2023-07-07 22:24:51,041 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -     Bundles to install:
2023-07-07 22:24:51,041 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:javax.activation/com.springsource.javax.activation/1.1.1
2023-07-07 22:24:51,041 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:javax.xml.stream/com.springsource.javax.xml.stream/1.0.1
2023-07-07 22:24:51,041 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/edge-bundler-impl/3.9.1
2023-07-07 22:24:51,041 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:javax.ws.rs/javax.ws.rs-api/2.1
2023-07-07 22:24:51,041 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.apache.aries.blueprint/org.apache.aries.blueprint.api/1.0.1
2023-07-07 22:24:51,042 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.apache.aries.blueprint/org.apache.aries.blueprint.cm/1.3.1
2023-07-07 22:24:51,042 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.apache.aries.blueprint/org.apache.aries.blueprint.core/1.10.2
2023-07-07 22:24:51,042 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.apache.aries.blueprint/org.apache.aries.blueprint.core.compatibility/1.0.0
2023-07-07 22:24:51,042 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.apache.aries.proxy/org.apache.aries.proxy/1.1.6
2023-07-07 22:24:51,042 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:commons-io/commons-io/2.1
2023-07-07 22:24:51,042 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.apache.karaf.bundle/org.apache.karaf.bundle.blueprintstate/4.2.8
2023-07-07 22:24:51,042 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.apache.karaf.bundle/org.apache.karaf.bundle.core/4.2.8
2023-07-07 22:24:51,043 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.apache.karaf.deployer/org.apache.karaf.deployer.blueprint/4.2.8
2023-07-07 22:24:51,043 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.apache.karaf.deployer/org.apache.karaf.deployer.features/4.2.8
2023-07-07 22:24:51,043 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.apache.karaf.diagnostic/org.apache.karaf.diagnostic.boot/4.2.8
2023-07-07 22:24:51,043 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.apache.karaf.diagnostic/org.apache.karaf.diagnostic.core/4.2.8
2023-07-07 22:24:51,043 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.apache.karaf.features/org.apache.karaf.features.command/4.2.8
2023-07-07 22:24:51,043 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.apache.karaf.instance/org.apache.karaf.instance.core/4.2.8
2023-07-07 22:24:51,044 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.apache.karaf.jaas.blueprint/org.apache.karaf.jaas.blueprint.config/4.2.8
2023-07-07 22:24:51,044 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.apache.karaf.jaas/org.apache.karaf.jaas.command/4.2.8
2023-07-07 22:24:51,044 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.apache.karaf.jaas/org.apache.karaf.jaas.config/4.2.8
2023-07-07 22:24:51,044 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.apache.karaf.jaas/org.apache.karaf.jaas.modules/4.2.8
2023-07-07 22:24:51,044 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.apache.karaf.log/org.apache.karaf.log.core/4.2.8
2023-07-07 22:24:51,044 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.apache.karaf.service/org.apache.karaf.service.core/4.2.8
2023-07-07 22:24:51,045 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.apache.karaf.shell/org.apache.karaf.shell.commands/4.2.8
2023-07-07 22:24:51,045 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.apache.karaf.shell/org.apache.karaf.shell.console/4.2.8
2023-07-07 22:24:51,045 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.apache.karaf.shell/org.apache.karaf.shell.core/4.2.8
2023-07-07 22:24:51,045 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.apache.karaf.shell/org.apache.karaf.shell.table/4.2.8
2023-07-07 22:24:51,045 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.apache.karaf.system/org.apache.karaf.system.core/4.2.8
2023-07-07 22:24:51,045 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jaxb-impl/2.1.6_1
2023-07-07 22:24:51,045 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xmlbeans/2.4.0_5
2023-07-07 22:24:51,046 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxb-api-2.1/1.2.0
2023-07-07 22:24:51,046 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxws-api-2.2/2.9.0
2023-07-07 22:24:51,046 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.saaj-api-1.3/2.9.0
2023-07-07 22:24:51,046 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.stax-api-1.0/2.9.0
2023-07-07 22:24:51,046 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/api-bundle/3.9.1
2023-07-07 22:24:51,046 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/app-impl/3.9.1
2023-07-07 22:24:51,046 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/application-impl/3.9.1
2023-07-07 22:24:51,047 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape.distribution/application-metadata-impl/3.9.1
2023-07-07 22:24:51,047 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/cmdline/3.9.1
2023-07-07 22:24:51,047 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape.distribution/cmdline-impl/3.9.1
2023-07-07 22:24:51,047 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/command-executor-impl/3.9.1
2023-07-07 22:24:51,047 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/core-task-impl/3.9.1
2023-07-07 22:24:51,047 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/custom-graphics-internal/3.9.1
2023-07-07 22:24:51,047 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape.distribution/diagnostics-impl/3.9.1
2023-07-07 22:24:51,048 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/ding-presentation-impl/3.9.1
2023-07-07 22:24:51,048 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/editor-impl/3.9.1
2023-07-07 22:24:51,048 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/equations-functions-impl/3.9.1
2023-07-07 22:24:51,048 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/equations-impl/3.9.1
2023-07-07 22:24:51,048 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/event-impl/3.9.1
2023-07-07 22:24:51,048 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/filter2-impl/3.9.1
2023-07-07 22:24:51,048 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/graphml-impl/3.9.1
2023-07-07 22:24:51,048 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/group-impl/3.9.1
2023-07-07 22:24:51,049 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/gui-cmdline-parser-impl/3.9.1
2023-07-07 22:24:51,049 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/io-impl/3.9.1
2023-07-07 22:24:51,049 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/datasource-impl/3.9.1
2023-07-07 22:24:51,049 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/jobs-impl/3.9.1
2023-07-07 22:24:51,049 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/layout-cytoscape-impl/3.9.1
2023-07-07 22:24:51,049 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/layout-impl/3.9.1
2023-07-07 22:24:51,050 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/layout-prefuse-impl/3.9.1
2023-07-07 22:24:51,050 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/linkout-impl/3.9.1
2023-07-07 22:24:51,050 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/manual-layout-impl/3.9.1
2023-07-07 22:24:51,050 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/model-impl/3.9.1
2023-07-07 22:24:51,050 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/presentation-impl/3.9.1
2023-07-07 22:24:51,050 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/property-impl/3.9.1
2023-07-07 22:24:51,051 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/scripting-impl/3.9.1
2023-07-07 22:24:51,051 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/search-impl/3.9.1
2023-07-07 22:24:51,051 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/session-impl/3.9.1
2023-07-07 22:24:51,051 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape.distribution/splash-updater-impl/3.9.1
2023-07-07 22:24:51,051 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/swing-application-impl/3.9.1
2023-07-07 22:24:51,051 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/swing-util-impl/3.9.1
2023-07-07 22:24:51,052 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/table-browser-impl/3.9.1
2023-07-07 22:24:51,052 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/table-import-impl/3.9.1
2023-07-07 22:24:51,052 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/table-presentation-impl/3.9.1
2023-07-07 22:24:51,052 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape.distribution/third-party/3.9.1
2023-07-07 22:24:51,052 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/util-impl/3.9.1
2023-07-07 22:24:51,052 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/vizmap-impl/3.9.1
2023-07-07 22:24:51,053 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/viewmodel-impl/3.9.1
2023-07-07 22:24:51,053 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/vizmap-gui-core-impl/3.9.1
2023-07-07 22:24:51,053 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/vizmap-gui-impl/3.9.1
2023-07-07 22:24:51,053 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/webservice-impl/3.9.1
2023-07-07 22:24:51,053 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/work-impl/3.9.1
2023-07-07 22:24:51,053 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.cytoscape/work-swing-impl/3.9.1
2023-07-07 22:24:51,054 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.jline/jline-builtins/3.13.2
2023-07-07 22:24:51,054 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.jline/jline-reader/3.13.2
2023-07-07 22:24:51,054 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.jline/jline-terminal/3.13.2
2023-07-07 22:24:51,054 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.jline/jline-terminal-jansi/3.13.2
2023-07-07 22:24:51,054 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.ow2.asm/asm/7.2
2023-07-07 22:24:51,054 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.ow2.asm/asm-commons/7.2
2023-07-07 22:24:51,054 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.ow2.asm/asm-tree/7.2
2023-07-07 22:24:51,054 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.ow2.asm/asm-analysis/7.2
2023-07-07 22:24:51,055 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:org.ow2.asm/asm-util/7.2
2023-07-07 22:24:51,055 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -       mvn:cytoscape-temp/uk.ac.ebi.enfin.mi.cluster.micluster/1.6
2023-07-07 22:24:51,057 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl - Installing bundles:
2023-07-07 22:24:51,057 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:javax.activation/com.springsource.javax.activation/1.1.1
2023-07-07 22:24:51,061 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:javax.xml.stream/com.springsource.javax.xml.stream/1.0.1
2023-07-07 22:24:51,062 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:org.cytoscape/edge-bundler-impl/3.9.1
2023-07-07 22:24:51,064 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:javax.ws.rs/javax.ws.rs-api/2.1
2023-07-07 22:24:51,066 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:org.apache.aries.blueprint/org.apache.aries.blueprint.api/1.0.1
2023-07-07 22:24:51,068 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:org.apache.aries.blueprint/org.apache.aries.blueprint.cm/1.3.1
2023-07-07 22:24:51,070 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:org.apache.aries.blueprint/org.apache.aries.blueprint.core/1.10.2
2023-07-07 22:24:51,077 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:org.apache.aries.blueprint/org.apache.aries.blueprint.core.compatibility/1.0.0
2023-07-07 22:24:51,079 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:org.apache.aries.proxy/org.apache.aries.proxy/1.1.6
2023-07-07 22:24:51,082 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:commons-io/commons-io/2.1
2023-07-07 22:24:51,085 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:org.apache.karaf.bundle/org.apache.karaf.bundle.blueprintstate/4.2.8
2023-07-07 22:24:51,086 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:org.apache.karaf.bundle/org.apache.karaf.bundle.core/4.2.8
2023-07-07 22:24:51,089 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:org.apache.karaf.deployer/org.apache.karaf.deployer.blueprint/4.2.8
2023-07-07 22:24:51,090 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:org.apache.karaf.deployer/org.apache.karaf.deployer.features/4.2.8
2023-07-07 22:24:51,092 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:org.apache.karaf.diagnostic/org.apache.karaf.diagnostic.boot/4.2.8
2023-07-07 22:24:51,093 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:org.apache.karaf.diagnostic/org.apache.karaf.diagnostic.core/4.2.8
2023-07-07 22:24:51,095 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:org.apache.karaf.features/org.apache.karaf.features.command/4.2.8
2023-07-07 22:24:51,097 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:org.apache.karaf.instance/org.apache.karaf.instance.core/4.2.8
2023-07-07 22:24:51,100 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:org.apache.karaf.jaas.blueprint/org.apache.karaf.jaas.blueprint.config/4.2.8
2023-07-07 22:24:51,102 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:org.apache.karaf.jaas/org.apache.karaf.jaas.command/4.2.8
2023-07-07 22:24:51,103 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:org.apache.karaf.jaas/org.apache.karaf.jaas.config/4.2.8
2023-07-07 22:24:51,105 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:org.apache.karaf.jaas/org.apache.karaf.jaas.modules/4.2.8
2023-07-07 22:24:51,129 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:org.apache.karaf.log/org.apache.karaf.log.core/4.2.8
2023-07-07 22:24:51,131 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:org.apache.karaf.service/org.apache.karaf.service.core/4.2.8
2023-07-07 22:24:51,133 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:org.apache.karaf.shell/org.apache.karaf.shell.commands/4.2.8
2023-07-07 22:24:51,134 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:org.apache.karaf.shell/org.apache.karaf.shell.console/4.2.8
2023-07-07 22:24:51,138 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:org.apache.karaf.shell/org.apache.karaf.shell.core/4.2.8
2023-07-07 22:24:51,147 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:org.apache.karaf.shell/org.apache.karaf.shell.table/4.2.8
2023-07-07 22:24:51,148 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:org.apache.karaf.system/org.apache.karaf.system.core/4.2.8
2023-07-07 22:24:51,154 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jaxb-impl/2.1.6_1
2023-07-07 22:24:51,168 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xmlbeans/2.4.0_5
2023-07-07 22:24:51,202 [features-3-thread-1] INFO  org.apache.karaf.features.internal.service.FeaturesServiceImpl -   mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxb-api-2.1/1.2.0
2023-07-07 22:24:51,207 [activator-1-thread-2] ERROR org.apache.karaf.features.internal.service.BootFeaturesInstaller - Error installing boot features

org.osgi.framework.BundleException: Unable to cache bundle: mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxb-api-2.1/1.2.0
at org.apache.felix.framework.Felix.installBundle(Felix.java:3013) ~[?:?]
at org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:167) ~[?:?]
at org.eclipse.equinox.internal.region.BundleIdBasedRegion.installBundle0(BundleIdBasedRegion.java:117) ~[?:?]
at org.eclipse.equinox.internal.region.BundleIdBasedRegion.installBundleAtLocation(BundleIdBasedRegion.java:97) ~[?:?]
at org.apache.karaf.features.internal.service.BundleInstallSupportImpl.installBundle(BundleInstallSupportImpl.java:135) ~[?:?]
at org.apache.karaf.features.internal.service.FeaturesServiceImpl.installBundle(FeaturesServiceImpl.java:1138) ~[?:?]
at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:900) ~[?:?]
at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1062) ~[?:?]
at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:998) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:829) [?:?]

Caused by: java.io.IOException: No space left on device
at java.io.FileOutputStream.writeBytes(Native Method) ~[?:?]
at java.io.FileOutputStream.write(FileOutputStream.java:354) ~[?:?]
at java.io.BufferedOutputStream.write(BufferedOutputStream.java:123) ~[?:?]
at org.apache.felix.framework.cache.BundleCache.copyStreamToFile(BundleCache.java:359) ~[?:?]
at org.apache.felix.framework.cache.JarRevision.initialize(JarRevision.java:170) ~[?:?]
at org.apache.felix.framework.cache.JarRevision.<init>(JarRevision.java:77) ~[?:?]
at org.apache.felix.framework.cache.BundleArchive.createRevisionFromLocation(BundleArchive.java:872) ~[?:?]
at org.apache.felix.framework.cache.BundleArchive.reviseInternal(BundleArchive.java:550) ~[?:?]
at org.apache.felix.framework.cache.BundleArchive.<init>(BundleArchive.java:153) ~[?:?]
at org.apache.felix.framework.cache.BundleCache.create(BundleCache.java:277) ~[?:?]
at org.apache.felix.framework.Felix.installBundle(Felix.java:3009) ~[?:?]
... 12 more

Scooter Morris

unread,
Jul 13, 2023, 9:56:46 AM7/13/23
to cytoscape-helpdesk
Hi Anthony,

Well, it's almost certainly the karaf_data directory that's causing the problem.  Here is what it looks like on my machine:

ls ~/CytoscapeConfiguration/3/karaf_data/cache
bundle0    bundle11   bundle121  bundle133  bundle145  bundle157  bundle169  bundle180  bundle192  bundle30  bundle42  bundle54  bundle66  bundle78  bundle9
bundle1    bundle110  bundle122  bundle134  bundle146  bundle158  bundle17   bundle181  bundle2    bundle31  bundle43  bundle55  bundle67  bundle79  bundle90
bundle10   bundle111  bundle123  bundle135  bundle147  bundle159  bundle170  bundle182  bundle20   bundle32  bundle44  bundle56  bundle68  bundle8   bundle91
bundle100  bundle112  bundle124  bundle136  bundle148  bundle16   bundle171  bundle183  bundle21   bundle33  bundle45  bundle57  bundle69  bundle80  bundle92
bundle101  bundle113  bundle125  bundle137  bundle149  bundle160  bundle172  bundle184  bundle22   bundle34  bundle46  bundle58  bundle7   bundle81  bundle93
bundle102  bundle114  bundle126  bundle138  bundle15   bundle161  bundle173  bundle185  bundle23   bundle35  bundle47  bundle59  bundle70  bundle82  bundle94
bundle103  bundle115  bundle127  bundle139  bundle150  bundle162  bundle174  bundle186  bundle24   bundle36  bundle48  bundle6   bundle71  bundle83  bundle95
bundle104  bundle116  bundle128  bundle14   bundle151  bundle163  bundle175  bundle187  bundle25   bundle37  bundle49  bundle60  bundle72  bundle84  bundle96
bundle105  bundle117  bundle129  bundle140  bundle152  bundle164  bundle176  bundle188  bundle26   bundle38  bundle5   bundle61  bundle73  bundle85  bundle97
bundle106  bundle118  bundle13   bundle141  bundle153  bundle165  bundle177  bundle189  bundle27   bundle39  bundle50  bundle62  bundle74  bundle86  bundle98
bundle107  bundle119  bundle130  bundle142  bundle154  bundle166  bundle178  bundle19   bundle28   bundle4   bundle51  bundle63  bundle75  bundle87  bundle99
bundle108  bundle12   bundle131  bundle143  bundle155  bundle167  bundle179  bundle190  bundle29   bundle40  bundle52  bundle64  bundle76  bundle88
bundle109  bundle120  bundle132  bundle144  bundle156  bundle168  bundle18   bundle191  bundle3    bundle41  bundle53  bundle65  bundle77  bundle89

I agree that the "No space left on device" is really strange -- I would have expected a "Permission denied" or something of that ilk.  Can't explain what might be going on with the Docker container and why that works without writing the bundle cache, unless it's writing it somewhere else, but I don't know how that is possible.   OSGi definitely wants to write all of that stuff out.  I just tested on my linux machine and, indeed, that directory gets completely rewritten.  The !/CytoscapeConfiguration/3/tmp directory is empty on my machine also.  Here is something to try.  Apptainer can map your home directory into it's container.  Try moving your ~/CytoscapeConfiguration aside and run the Cytoscape container by mapping your home directory.  See what Cytoscape creates in your own home and see if it starts up.

-- scooter

Anthony Gitter

unread,
Aug 30, 2023, 11:45:47 PM8/30/23
to cytoscape-helpdesk
I think Cytoscape is writing the bundle cache somewhere else. I interactively tested in Docker again and paid closer attention to this Cytoscape error message I had previously ignored

java.lang.UnsatisfiedLinkError: /root/CytoscapeConfiguration/3/karaf_data/cache/bundle114/version0.0/bundle.jar-lib/0/native/linux/liblwjgl64.so: libXcursor.so.1: cannot open shared object file: No such file or directory

That alerted me to the existence of a directory /root/CytoscapeConfiguration/3/karaf_data/cache. Sure enough, that's where the bundle cache was written. After exiting Cytoscape the bundle files are there:

ls /root/CytoscapeConfiguration/3/karaf_data/cache/
bundle0    bundle11   bundle121  bundle133  bundle145  bundle157  bundle20  bundle32  bundle44  bundle56  bundle68  bundle8   bundle91
bundle1    bundle110  bundle122  bundle134  bundle146  bundle158  bundle21  bundle33  bundle45  bundle57  bundle69  bundle80  bundle92
bundle10   bundle111  bundle123  bundle135  bundle147  bundle159  bundle22  bundle34  bundle46  bundle58  bundle7   bundle81  bundle93
bundle100  bundle112  bundle124  bundle136  bundle148  bundle16   bundle23  bundle35  bundle47  bundle59  bundle70  bundle82  bundle94
bundle101  bundle113  bundle125  bundle137  bundle149  bundle160  bundle24  bundle36  bundle48  bundle6   bundle71  bundle83  bundle95
bundle102  bundle114  bundle126  bundle138  bundle15   bundle161  bundle25  bundle37  bundle49  bundle60  bundle72  bundle84  bundle96
bundle103  bundle115  bundle127  bundle139  bundle150  bundle162  bundle26  bundle38  bundle5   bundle61  bundle73  bundle85  bundle97
bundle104  bundle116  bundle128  bundle14   bundle151  bundle163  bundle27  bundle39  bundle50  bundle62  bundle74  bundle86  bundle98
bundle105  bundle117  bundle129  bundle140  bundle152  bundle164  bundle28  bundle4   bundle51  bundle63  bundle75  bundle87  bundle99
bundle106  bundle118  bundle13   bundle141  bundle153  bundle17   bundle29  bundle40  bundle52  bundle64  bundle76  bundle88
bundle107  bundle119  bundle130  bundle142  bundle154  bundle18   bundle3   bundle41  bundle53  bundle65  bundle77  bundle89
bundle108  bundle12   bundle131  bundle143  bundle155  bundle19   bundle30  bundle42  bundle54  bundle66  bundle78  bundle9
bundle109  bundle120  bundle132  bundle144  bundle156  bundle2    bundle31  bundle43  bundle55  bundle67  bundle79  bundle90

It seems like setting -Duser.home creates a CytoscapeConfiguration directory in my home directory in the container with many of the output files (those in my July 13 message) but not the karaf_data/cache files. The karaf_data/cache ignores -Duser.home and possibly creates a CytoscapeConfiguration directory based on the username. I'm running as root interactively inside the container. That succeeds in Docker but fails in Apptainer.

Scooter Morris

unread,
Aug 30, 2023, 11:55:21 PM8/30/23
to cytoscape-helpdesk
I think maybe you need to override karaf.data.  That's typically set to ${HOME}/CytoscapeConfiguration/3/karaf_data.

-- scooter

Anthony Gitter

unread,
Sep 13, 2023, 11:51:33 PM9/13/23
to cytoscape-helpdesk
I was able to get this working by using Apptainer's --home argument to set $HOME when I run the container so that $HOME isn't /root and then also binding ${HOME}/CytoscapeConfiguration to a writable location on my local file system. I now have a Dockerfile that generates an image that let's me connect to py4cytoscape using Docker or Apptainer. It's https://hub.docker.com/repository/docker/reedcompbio/py4cytoscape if anyone who finds this is interested.

I still find it surprising that -Duser.home in the Cytoscape.vmoptions file doesn't also control where the karaf_data is written. Nevertheless, I'm very happy to have resolved this issue. Thanks for the help debugging.

Scooter Morris

unread,
Sep 13, 2023, 11:52:39 PM9/13/23
to cytoscape-helpdesk
Thanks for sharing!!  This is great news!

-- scooter

Ruth Isserlin

unread,
Sep 14, 2023, 10:38:24 AM9/14/23
to cytoscape...@googlegroups.com
Hi Anthony, 
this is great.  Thanks for sharing.  I generally use cytoscape from my docker container to more easily modify the networks directly once they are created but I would also like to try out moving cytoscape into the docker container as well.  Can you send out the link for the Dockerfile specific to the image with py2cytoscape and cytoscape.  There are quite a few docker files in the repo linked from the docker hub image page.  
Thanks, 
Ruth 

--
You received this message because you are subscribed to the Google Groups "cytoscape-helpdesk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cytoscape-helpd...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cytoscape-helpdesk/58e56824-d4e7-4654-a019-74f4f593eb2dn%40googlegroups.com.

Anthony Gitter

unread,
Sep 28, 2023, 12:05:28 PM9/28/23
to cytoscape-helpdesk
Hi Ruth,
The Dockerfile is currently only available on our 'cytoscape' branch that will be merged in this pull request https://github.com/Reed-CompBio/spras/pull/66/. The path to the file in the repository is docker-wrappers/Cytoscape/Dockerfile and that should be stable after we merge.
Reply all
Reply to author
Forward
0 new messages