You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Richard S. Hall (JIRA)" <ji...@apache.org> on 2009/04/25 19:04:31 UTC
[jira] Resolved: (FELIX-1057) stopping bundle causes NPE
[ https://issues.apache.org/jira/browse/FELIX-1057?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Richard S. Hall resolved FELIX-1057.
------------------------------------
Resolution: Fixed
Fix Version/s: shell.remote-1.0.5
Ok, it turned out to not be so trivial. I could have done the fix you suggested, but the root of the issue was a little uglier since it was using a static-based approach to allow it to pass services around to all classes in the bundle; I highly recommend against this approach.
Also, there were a handful of concurrency issues and service tracking was not correct. I ended up pulling that code and just using ServiceTrackers to track log and shell services. Please run remote shell through its paces to make sure I didn't break anything else, but at least your issue is now gone after a few hours of work. :-)
Close this issue when you are satisfied. Thanks.
> stopping bundle causes NPE
> --------------------------
>
> Key: FELIX-1057
> URL: https://issues.apache.org/jira/browse/FELIX-1057
> Project: Felix
> Issue Type: Bug
> Components: Remote Shell
> Affects Versions: shell.remote-1.0.4
> Reporter: Peter Doornbosch
> Assignee: Richard S. Hall
> Priority: Minor
> Fix For: shell.remote-1.0.5
>
>
> Stopping the remote shell bundle itself remotely, causes a NPE:
> Exception in thread "telnetconsole.shell remote=/127.0.0.1:56512" java.lang.NullPointerException
> at org.apache.felix.shell.remote.TerminalPrintStream.print(TerminalPrintStream.java:52)
> I admit that stopping the bundle itself over the remote connection may seem like a silly use case, but under circumstances it is necessary (to release the socket).
> The NPE is causes by Activator.getServices() returning null. The fix is trivial:
> ServiceMediator services = Activator.getServices();
> if (services != null)
> services.error(...)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.