karaf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Henning Treu (JIRA)" <j...@apache.org>
Subject [jira] [Created] (KARAF-6276) Bundle update results in leaking update*.jar files
Date Wed, 08 May 2019 14:47:00 GMT
Henning Treu created KARAF-6276:
-----------------------------------

             Summary: Bundle update results in leaking update*.jar files
                 Key: KARAF-6276
                 URL: https://issues.apache.org/jira/browse/KARAF-6276
             Project: Karaf
          Issue Type: Bug
          Components: karaf
    Affects Versions: 4.2.3
            Reporter: Henning Treu


We encounter leaking update*.jar files which ultimately result in a full disk. Listing files
shows something like this:
{quote}-rw-r--r-- 1 root root 458M Apr 28 04:44 update-7283235896174400181.jar
-rw-r--r-- 1 root root 458M May  5 04:25 update-7296484626001425386.jar
-rw-r--r-- 1 root root 458M Apr 24 04:20 update-7339530845064123545.jar
-rw-r--r-- 1 root root 458M Apr 30 04:45 update-7807707341953713899.jar
-rw-r--r-- 1 root root 458M May  2 04:25 update-8043037041286514887.jar
-rw-r--r-- 1 root root 458M May  3 04:16 update-8313433533207318564.jar
-rw-r--r-- 1 root root 458M Apr 27 04:16 update-839710980329827978.jar
-rw-r--r-- 1 root root 458M Apr 25 04:31 update-8877699798146551228.jar
{quote}
 

As you can tell from the timestamps our update process kicks in somewhere around 4 in the
morning. We call 

{{URI featureRepo;}}

{{featuresService.refreshRepository(featureRepo);}}

{{...}}

{{EnumSet<Option> NO_OPTIONS = EnumSet.noneOf(Option.class);}}

{{Map<String, Set<String>> NO_CHANGES = Collections.singletonMap(FeaturesService.ROOT_REGION,
Collections.emptySet());}}

{{featuresService.addRequirements(NO_CHANGES, NO_OPTIONS);}}

 

Both calls to featuresService are guarded by the same ReentrantLock which is released after
each call. Unfortunately we are not able to reproduce this issue. It seems to happen once
in a while. What bothers me is the size of the update.jar with 458MB. From the code I understand
it should be a single bundle.

 

The stacktrace when the disk is finally full:
{quote}org.osgi.framework.BundleException: Unable to update bundle
 at org.apache.karaf.features.internal.service.BundleInstallSupportImpl.updateBundle(BundleInstallSupportImpl.java:149)
~[?:?]
 at org.apache.karaf.features.internal.service.FeaturesServiceImpl.updateBundle(FeaturesServiceImpl.java:1139)
~[?:?]
 at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:834) ~[?:?]
 at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1058)
~[?:?]
 at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:994)
~[?:?]
 at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:?]
 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
 at java.lang.Thread.run(Thread.java:748) [?:?]
Caused by: java.io.IOException: No space left on device
 at java.io.FileOutputStream.write(Native Method) ~[?:?]
 at java.io.FileOutputStream.write(FileOutputStream.java:290) ~[?:?]
 at java.util.zip.ZipOutputStream.writeInt(ZipOutputStream.java:720) ~[?:?]
 at java.util.zip.ZipOutputStream.writeLOC(ZipOutputStream.java:391) ~[?:?]
 at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:238) ~[?:?]
 at org.apache.karaf.util.bundles.BundleUtils.fixBundleWithUpdateLocation(BundleUtils.java:67)
~[?:?]
 at org.apache.karaf.features.internal.service.BundleInstallSupportImpl.updateBundle(BundleInstallSupportImpl.java:145)
~[?:?]
 ... 8 more
{quote}
 

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message