Uploaded image for project: 'Felix'
  1. Felix
  2. FELIX-5751

Frequent JVM crashes during Bundle.getEntry()

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • None
    • None
    • Framework
    • None

    Description

      Unclear whether there is anything Felix can do to fix or workaround this, but raising for info anyway...

      I am developing an application with Felix 5.7.0-SNAPSHOT (pulled from the Apache Snapshots repo, JAR built on Tue Nov 07 23:42:44 CET 2017).

      The nature of the application means that frequent calls are made to Bundle.getEntry(). Also because I am developing incrementally in Bndtools, the bundle is being updated frequently. Apparently as a result, I am getting JVM crashes every 5-10 minutes. The crash always happens in Bundle.getEntry(), specifically in the native getEntry(long,byte[],boolean) method of java.util.zip.ZipFile.

      It seems likely this is happening due to Bundle.getEntry being invoked concurrently with Bundle.update, so I wonder if Felix can implement any locking in this scenario? I have attached several hs_err files generated by the JVM.

      I am running Java 1.8.0_152-b16 on macOS Sierra (10.12.6 (16G29)). I have not yet replicated the crash with released Framework 5.6.10 but I am attempting to do so and will update this issue.

      Attachments

        1. hs_err_pid157.log
          61 kB
          Neil Bartlett
        2. hs_err_pid1904.log
          55 kB
          Neil Bartlett
        3. hs_err_pid3760.log
          54 kB
          Neil Bartlett
        4. hs_err_pid87229.log
          54 kB
          Neil Bartlett
        5. hs_err_pid88316.log
          62 kB
          Neil Bartlett

        Activity

          People

            karlpauls Karl Pauls
            nbartlett Neil Bartlett
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: