[ https://issues.apache.org/jira/browse/FELIX-1386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12743162#action_12743162 ]
Filippo Diotalevi commented on FELIX-1386: ------------------------------------------ Just wanted to give you an update (and maybe have some suggestions) It turned out it is not trivial to fix this issue. As Richard commented, after a bundle updates itself, it's almost impossible to do anything else. Pretty much every call tho the BundleContext will raise an IllegalStateException. Even trying to get the Bundle state (I was hoping to be able to see it STOPPING) will raise the exception. What it means is that it is very easy to fix the particular issue (avoid retrieving the log service after the update), but after that, there are a lot of other operations that FileInstall tries to do (install other bundles, refreshPackages just to name the first two). At this point I think the simplest solution is to raise a specific exception after FileInstall updates itself, to be sure we are blocking the flow. We can then catch the exception, and terminate the FI gracefully. Not really a nice solution, but it wouldn't involve a massive refactory. Thoughts? > Updating fileinstall bundle in watched directory causes IllegalsStateException > ------------------------------------------------------------------------------ > > Key: FELIX-1386 > URL: https://issues.apache.org/jira/browse/FELIX-1386 > Project: Felix > Issue Type: Bug > Components: File Install > Affects Versions: fileinstall-1.2.0 > Environment: generic > Reporter: Sahoo > Assignee: Filippo Diotalevi > Fix For: fileinstall-1.4.0 > > > In my environment, fileinstall is installed via autostart properties, but it > is located in a directory watched by fileinstall. When I updated fileinstall > bundle, I get the following exception: > Jul 20, 2009 11:52:04 AM > SEVERE: Exception in thread "{felix.fileinstall.poll=5000, > felix.fileinstall.bundles.new.start=false, > felix.fileinstall.dir=/space/ss141213/WS/gf/v3.trunk.new/publish/glassfishv3/glassfish/modules/, > felix.fileinstall.debug=1}" > Jul 20, 2009 11:52:20 AM > SEVERE: java.lang.IllegalStateException: Invalid BundleContext. > Jul 20, 2009 11:52:20 AM > SEVERE: at > org.apache.felix.framework.BundleContextImpl.checkValidity(BundleContextImpl.java:393) > Jul 20, 2009 11:52:20 AM > SEVERE: at > org.apache.felix.framework.BundleContextImpl.getServiceReference(BundleContextImpl.java:257) > Jul 20, 2009 11:52:20 AM > SEVERE: at > org.apache.felix.fileinstall.DirectoryWatcher.getLogService(DirectoryWatcher.java:449) > Jul 20, 2009 11:52:20 AM > SEVERE: at > org.apache.felix.fileinstall.DirectoryWatcher.log(DirectoryWatcher.java:416) > Jul 20, 2009 11:52:20 AM > SEVERE: at > org.apache.felix.fileinstall.DirectoryWatcher.run(DirectoryWatcher.java:133) > Jul 20, 2009 11:52:04 AM -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.