felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Per-Erik Svensson (JIRA)" <j...@apache.org>
Subject [jira] [Created] (FELIX-3712) FileInstall throws Interrupted exception when refreshed
Date Tue, 16 Oct 2012 11:23:03 GMT
Per-Erik Svensson created FELIX-3712:

             Summary: FileInstall throws Interrupted exception when refreshed
                 Key: FELIX-3712
                 URL: https://issues.apache.org/jira/browse/FELIX-3712
             Project: Felix
          Issue Type: Bug
          Components: File Install
    Affects Versions: fileinstall-3.2.6, fileinstall-3.2.4
            Reporter: Per-Erik Svensson

FileInstall will throw exception when refreshing. It is possible there are easier ways to
reproduce this but here is one way:

1) Uninstall gogo command (if available) from the osgi container.
2) Install fileinstall
3) Put gogo command in the directory watched by fileinstall

Result: Fileinstall throws

In main loop, we have serious trouble: java.lang.RuntimeException: java.lang.InterruptedException
java.lang.RuntimeException: java.lang.InterruptedException
        at org.apache.felix.fileinstall.internal.FileInstall.refresh(FileInstall.java:332)
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.refresh(DirectoryWatcher.java:677)
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:494)
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:291)
Caused by: java.lang.InterruptedException
        at java.lang.Object.wait(Native Method)
        at org.apache.felix.fileinstall.internal.FileInstall.refresh(FileInstall.java:330)
        ... 3 more

Possible reason: Due to FELIX-3424, the refresh() method in DirectoryWatcher was changed from
packageAdmin#refreshPackages() directly, to using the FileInstall#refresh()
helper method. The later wraps interrupted excpetions in a runtime exception which is never
caught in the directory watcher's main loop. Thus, the directory watcher will re-throw the
exception, which it previously did not (since the interrupted excpetion would get caught).

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

View raw message