Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
fileinstall-3.2.6
-
None
Description
On our project we have FileInstall watching a directory with bundles. One of those bundles is a fragment.
When the fragment is modified (or deleted/created), we get the following error in the log:
2012-10-17-13:20:53.406+0400 ERROR [Thread-17] org.apache.felix.fileinstall In main loop, we have serious trouble
java.lang.NullPointerException: null
at org.apache.felix.fileinstall.internal.DirectoryWatcher.findBundlesWithFragmentsToRefresh(DirectoryWatcher.java:1273) ~[na:na]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:491) ~[na:na]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:291) ~[na:na]
And what is more critical none of the other modified bundles becomes updated.
The source of the NPE is
if (hostBundle.getSymbolicName().equals(path.getName()))
because there is no check here for SymbolicName being null.
In our case the problem was in that there was a non-bundle jar inside osgi container that therefore didn't have a SymbolicName, so we just removed it and that solved the problem.
However, I strongly believe that there should be a check for not null in the mentioned line.