[
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