Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [dsdp-tm-dev] Question about RSE startup

That appears to be a different problem. Can you write this one up? Include
the stack trace and give me an idea of how you are starting RSE. I'll see
if I can reproduce it in our test framework.
_______________________
David Dykstal
david_dykstal@xxxxxxxxxx


                                                                           
             Greg Watson                                                   
             <g.watson@compute                                             
             r.org>                                                     To 
             Sent by:                  Target Management developer         
             dsdp-tm-dev-bounc         discussions                         
             es@xxxxxxxxxxx            <dsdp-tm-dev@xxxxxxxxxxx>           
                                                                        cc 
                                                                           
             06/27/2007 06:47                                      Subject 
             PM                        Re: [dsdp-tm-dev] Question about    
                                       RSE startup                         
                                                                           
             Please respond to                                             
             Target Management                                             
                 developer                                                 
                discussions                                                
             <dsdp-tm-dev@ecli                                             
                 pse.org>                                                  
                                                                           
                                                                           




I spoke a bit too soon. I'm seeing the following errors
intermittently on startup:

Greg

java.lang.NullPointerException
             at
org.eclipse.rse.internal.persistence.dom.RSEDOMImporter.restoreFilterPoo
l(RSEDOMImporter.java:376)
             at
org.eclipse.rse.internal.persistence.dom.RSEDOMImporter.restoreProfile
(RSEDOMImporter.java:90)
             at
org.eclipse.rse.internal.persistence.RSEPersistenceManager.load
(RSEPersistenceManager.java:390)
             at
org.eclipse.rse.internal.persistence.RSEPersistenceManager.loadProfiles(
RSEPersistenceManager.java:370)
             at
org.eclipse.rse.internal.persistence.RSEPersistenceManager.restoreProfil
es(RSEPersistenceManager.java:231)
             at
org.eclipse.rse.internal.persistence.RSEPersistenceManager.restoreProfil
es(RSEPersistenceManager.java:217)
             at
org.eclipse.rse.internal.core.model.SystemProfileManager.getDefault
(SystemProfileManager.java:55)
             at
org.eclipse.rse.core.model.SystemStartHere.getSystemProfileManager
(SystemStartHere.java:180)
             at org.eclipse.rse.ui.RSEUIPlugin$InitRSEJob.run
(RSEUIPlugin.java:95)
             at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
java.lang.NullPointerException
             at
org.eclipse.rse.internal.persistence.PropertyFileProvider.getSaveJob
(PropertyFileProvider.java:151)
             at
org.eclipse.rse.internal.persistence.RSEPersistenceManager.save
(RSEPersistenceManager.java:420)
             at
org.eclipse.rse.internal.persistence.RSEPersistenceManager.commitProfile
(RSEPersistenceManager.java:137)
             at org.eclipse.rse.internal.core.model.SystemProfile.commit
(SystemProfile.java:216)
             at org.eclipse.rse.internal.core.model.SystemHostPool.commit
(SystemHostPool.java:612)
             at org.eclipse.rse.internal.core.model.SystemHostPool.commit
(SystemHostPool.java:621)
             at
org.eclipse.rse.internal.core.model.SystemHostPool.updateHost
(SystemHostPool.java:254)
             at
org.eclipse.rse.internal.core.model.SystemHostPool.createHost
(SystemHostPool.java:208)
             at org.eclipse.rse.ui.internal.model.SystemRegistry.createHost

(SystemRegistry.java:1652)
             at org.eclipse.rse.ui.internal.model.SystemRegistry.createHost

(SystemRegistry.java:1601)
             at org.eclipse.rse.ui.internal.model.SystemRegistry.createHost

(SystemRegistry.java:1922)
             at org.eclipse.rse.ui.internal.model.SystemRegistry.createHost

(SystemRegistry.java:1893)
             at
org.eclipse.rse.internal.core.model.SystemProfile.createHost
(SystemProfile.java:89)
             at
org.eclipse.rse.internal.persistence.dom.RSEDOMImporter.restoreHost
(RSEDOMImporter.java:125)
             at
org.eclipse.rse.internal.persistence.dom.RSEDOMImporter.restoreProfile
(RSEDOMImporter.java:88)
             at
org.eclipse.rse.internal.persistence.RSEPersistenceManager.load
(RSEPersistenceManager.java:390)
             at
org.eclipse.rse.internal.persistence.RSEPersistenceManager.loadProfiles(
RSEPersistenceManager.java:370)
             at
org.eclipse.rse.internal.persistence.RSEPersistenceManager.restoreProfil
es(RSEPersistenceManager.java:231)
             at
org.eclipse.rse.internal.persistence.RSEPersistenceManager.restoreProfil
es(RSEPersistenceManager.java:217)
             at
org.eclipse.rse.internal.core.model.SystemProfileManager.getDefault
(SystemProfileManager.java:55)
             at
org.eclipse.rse.core.model.SystemStartHere.getSystemProfileManager
(SystemStartHere.java:180)
             at org.eclipse.rse.ui.RSEUIPlugin$InitRSEJob.run
(RSEUIPlugin.java:95)
             at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
java.lang.NullPointerException
             at
org.eclipse.rse.ui.internal.model.SystemRegistry.getServiceSubSystems
(SystemRegistry.java:1104)
             at
org.eclipse.rse.internal.persistence.dom.RSEDOMImporter.restoreSubSystem
(RSEDOMImporter.java:231)
             at
org.eclipse.rse.internal.persistence.dom.RSEDOMImporter.restoreConnector
Service(RSEDOMImporter.java:169)
             at
org.eclipse.rse.internal.persistence.dom.RSEDOMImporter.restoreHost
(RSEDOMImporter.java:138)
             at
org.eclipse.rse.internal.persistence.dom.RSEDOMImporter.restoreProfile
(RSEDOMImporter.java:88)
             at
org.eclipse.rse.internal.persistence.RSEPersistenceManager.load
(RSEPersistenceManager.java:390)
             at
org.eclipse.rse.internal.persistence.RSEPersistenceManager.loadProfiles(
RSEPersistenceManager.java:370)
             at
org.eclipse.rse.internal.persistence.RSEPersistenceManager.restoreProfil
es(RSEPersistenceManager.java:231)
             at
org.eclipse.rse.internal.persistence.RSEPersistenceManager.restoreProfil
es(RSEPersistenceManager.java:217)
             at
org.eclipse.rse.internal.core.model.SystemProfileManager.getDefault
(SystemProfileManager.java:55)
             at
org.eclipse.rse.core.model.SystemStartHere.getSystemProfileManager
(SystemStartHere.java:180)
             at org.eclipse.rse.ui.RSEUIPlugin$InitRSEJob.run
(RSEUIPlugin.java:95)
             at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)


On Jun 27, 2007, at 10:44 AM, David Dykstal wrote:

> Martin --
>
> It looks like you are correct.
>
> Greg --
>
> You can try yanking the serializing provider from the plugin.xml of
> the
> rse.core plugin and see if this fixes your problem. Its there for
> testing
> purposes which is why it isn't autostart. You won't miss it.
> _______________________
> David Dykstal
> david_dykstal@xxxxxxxxxx
>
>
>
>              "Oberhuber,
>              Martin"
>
> <Martin.Oberhuber                                          To
>              @windriver.com>           David Dykstal/Rochester/
> IBM@IBMUS
>
>   cc
>              06/27/2007 11:28          "Target Management developer
>              AM                        discussions"
>                                        <dsdp-tm-dev@xxxxxxxxxxx>
>
> Subject
>                                        RE: [dsdp-tm-dev] Question
> about
>                                        RSE startup
>
>
>
>
>
>
>
>
>
>
> Dave -
>
> I think that Greg is right and
> RSEPersistenceManager.isRestoreComplete()
> is buggy. For me, it looks like in following code, as soon as we have
> a ProviderRecord that is not autostart, the method will always return
> false:
>
>              public boolean isRestoreComplete() {
>                          boolean isComplete = true;
>                          String[] ids = getPersistenceProviderIds();
>                          for (int i = 0; i < ids.length &&
> isComplete; i++)
> {
>                                      String id = ids[i];
>                                      ProviderRecord pr =
> getProviderRecord
> (id);
>                                      isComplete = pr.isAutostart() &&
> pr.isRestored();
>                          }
>                          return isComplete;
>              }
>
> Correct code should be like this:
>
>                          for (int i = 0; i < ids.length &&
> isComplete; i++)
> {
>                                      String id = ids[i];
>                                      ProviderRecord pr =
> getProviderRecord
> (id);
>                   if (pr.isAutostart()) isComplete = pr.isRestored();
>                          }
>
> Because the SerializingProvider is not autostart, this would
> always return false. Can you confirm, and if yes create a bug for this
> and fix it for 2.0.1?
>
> Thanks,
> --
> Martin Oberhuber
> Wind River Systems, Inc.
> Target Management Project Lead, DSDP PMC Member
> http://www.eclipse.org/dsdp/tm
>
>> -----Original Message-----
>> From: dsdp-tm-dev-bounces@xxxxxxxxxxx
>> [mailto:dsdp-tm-dev-bounces@xxxxxxxxxxx] On Behalf Of Greg Watson
>> Sent: Wednesday, June 27, 2007 6:10 PM
>> To: Target Management developer discussions
>> Subject: Re: [dsdp-tm-dev] Question about RSE startup
>>
>> Martin,
>>
>> That's great. However it doesn't seem to work. Is there something
>> else that needs to be done apart from the following?
>>
>>                        if (!RSEUIPlugin.isTheSystemRegistryActive
>> ()) {
>>                                    return false;
>>                        }
>>
>>                        sysReg = RSECorePlugin.getDefault
> ().getSystemRegistry();
>>                        if (sysReg == null) {
>>                                    return false;
>>                        }
>>
>>                        while
>> (!RSECorePlugin.getThePersistenceManager().isRestoreComplete
>> ()) {
>>                                    System.out.println("waiting for
> restore...");
>>                                    try {
>>                                                Thread.sleep(500);
>>                                    } catch (InterruptedException e) {
>>                                    }
>>                        }
>>
>> The call to isRestoreComplete() always returns false. This is being
>> run in a different thread to the UI thread.
>>
>> Greg
>>
>> On Jun 27, 2007, at 9:41 AM, Oberhuber, Martin wrote:
>>
>>> Hi Greg,
>>>
>>> There was
>>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=177332#c6
>>> requesting exactly this.
>>>
>>> As I understand it, what you need to do is
>>>
>>> RSECorePlugin.getThePersistenceManager().isRestoreComplete()
>>>
>>> Cheers,
>>> --
>>> Martin Oberhuber
>>> Wind River Systems, Inc.
>>> Target Management Project Lead, DSDP PMC Member
>>> http://www.eclipse.org/dsdp/tm>>>>
>>>
>>>> -----Original Message-----
>>>> From: dsdp-tm-dev-bounces@xxxxxxxxxxx
>>>> [mailto:dsdp-tm-dev-bounces@xxxxxxxxxxx] On Behalf Of Greg Watson
>>>> Sent: Wednesday, June 27, 2007 5:20 PM
>>>> To: Target Management developer discussions
>>>> Subject: [dsdp-tm-dev] Question about RSE startup
>>>>
>>>> Hi,
>>>>
>>>> I've been seeing strange behavior from RSE when I call from an
>>>> external plugin, particularly during early initialization of
>>>> Eclipse.
>>>> Although the RSE UI and core plugins are loaded, they don't seem to
>>>> have been fully configured. So calling
>>>> RSECorePlugin.getTheSystemRegistry().getHosts(), for example,
>>>> sometimes returns nothing, sometimes one host, sometimes
>>>> multiple hosts.
>>>>
>>>> I think the issue is caused by the use of InitRSEJob to perform RSE
>>>> initialization. I presume that this is to reduce the plugin loading
>>>> overhead on Eclipse, but the problem is that it may be some time
>>>> before this job is actually run, so it is possible to attempt
>>>> to call
>>>> RSE methods before it is fully initialized.
>>>>
>>>> Do you have any way of checking that RSE is ready, rather than just
>>>> loaded? Alternatively, could isTheSystemRegistryActive() be changed
>>>> so that it reflects the initialized state of RSE?
>>>>
>>>> Thanks,
>>>>
>>>> Greg
>>>> _______________________________________________
>>>> dsdp-tm-dev mailing list
>>>> dsdp-tm-dev@xxxxxxxxxxx
>>>> https://dev.eclipse.org/mailman/listinfo/dsdp-tm-dev
>>>>
>>> _______________________________________________
>>> dsdp-tm-dev mailing list
>>> dsdp-tm-dev@xxxxxxxxxxx
>>> https://dev.eclipse.org/mailman/listinfo/dsdp-tm-dev
>>>
>>
>> _______________________________________________
>> dsdp-tm-dev mailing list
>> dsdp-tm-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/dsdp-tm-dev
>>
>
>
> _______________________________________________
> dsdp-tm-dev mailing list
> dsdp-tm-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/dsdp-tm-dev
>

_______________________________________________
dsdp-tm-dev mailing list
dsdp-tm-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/dsdp-tm-dev




Back to the top