Thomas Watson created FELIX-3608:
------------------------------------

             Summary: ThreadIOImpl.checkIO can be called after ThreadIOImpl.stop
                 Key: FELIX-3608
                 URL: https://issues.apache.org/jira/browse/FELIX-3608
             Project: Felix
          Issue Type: Bug
          Components: Gogo Runtime
    Affects Versions: gogo.runtime-0.10.0
         Environment: All
            Reporter: Thomas Watson


ThreadIOImpl.checkIO() can be called after ThreadIOImpl.stop() is called.  It 
appears the ThreadIOImpl.close() method always calls checkIO() which always 
resets the System streams even after ThreadIOImpl.stop() has been called.  In 
my environment the gogo shell thread is sitting waiting for input after the 
gogo.runtime bundle has been stopped.  If it receives input then it tries to 
interact with some cached ThreadIO service (the one that is stopped) and ends 
up calling close on it.

This will leave the System streams set even though the ThreadIOImpl object has 
been stopped and the runtime bundle is no longer active.  This causes a number 
of issues since now we have an invalid set of streams set in the System.  I 
also think it is probably a bug that the gogo shell is acting upon a ThreadIO 
service that is unregistered.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to