Astor issues and compiling Astor with openJDK

Hi all,

Did any of you compiled Astor with openJDK?

Astor in our labs have stop working since a week ago and we want to share this issue with the community to get feedback and some advice.

It happens with all astor versions between tango 7 and 9 while trying to access our Tango8 database. Astor startup is crashing at getTangoHostList() call. We didn't found anything wrong in the tables of the database; so we are going to add additional traces in Astor to identify which host is triggering the exception.


Exception in thread "main" java.lang.NullPointerException
        at admin.astor.AstorUtil.getTangoHostList(AstorUtil.java:662)
        at admin.astor.AstorTree.initTangoObjects(AstorTree.java:378)
        at admin.astor.AstorTree.initComponent(AstorTree.java:307)
        at admin.astor.AstorTree.<init>(AstorTree.java:108)
        at admin.astor.Astor.buildTree(Astor.java:186)
        at admin.astor.Astor.<init>(Astor.java:115)
        at admin.astor.Astor.main(Astor.java:1308)


And now comes our request for help. Did any of you compiled Astor with openJDK?

We've seen that the source package of tango comes with already compiled .jar files; and building Astor using makefiles from repository is not being straight-forward. I've also seen references to a host_info.jar file that is not included with the Tango distribution.

Thanks for your help,

Sergi Rubio
ALBA

Keep on dancing,

http://www.tango-controls.org/resources/howto/how-fandango/
Hola Sergi

I did not compiled Astor with openJDK.
I don't know your Astor source release to check error stack.
Is it the last release in SVN trunk ?

About host_info.jar, it is a ERSF specific jar file.
It is used to compiled but not necessary to run Astor.
Just remove the host_info reference in source code to compile.

Regards
Pascal

Hi Pascal,

The error appeared with any Astor > 6; but not with Astr 5.2. To compile I'll use the last sources from SVN.

I'll post more info when tested,

Sergi
Keep on dancing,

http://www.tango-controls.org/resources/howto/how-fandango/
Hi

I had a look in Astor code and it seems really strange.
It fails with a NullPointerException on line 662.
But I cannot imagine anything null at this line

660 if (found = last.equals(list.get(j))) {
661 String s = list.get(j);
662 list.remove(j);
663 list.add(s);
664 }

list cannot be null (does not fails in 660 and 661)
j is an int and cannot be null
May be the list.get(j) is null. BUT that means something is really corrupted in your TANGO database.
Could you have a look of the free property:
Astor/LastCollections.

Pascal
It must be an array of strings. Is it the case ?
Hi Pascal,

This property does not exist in our system … it is created by Astor or should be created manually?

Sergi
Keep on dancing,

http://www.tango-controls.org/resources/howto/how-fandango/
Hi

It could be created by Astor.
But if not, you cannot execute this part of code.
This part is used to manage this property only if found in database….
I tried on my test CS. I removed this property, and there was no problem. This code is not executed.
May be OpenJDK is not fully compatible.
I will test to use it when I will have time.

Pascal
Hi!, I finally reproduced it!

The problem is caused by two different issues:

- Depending on how a device is started from Astor (with controlled flag or not, runlevel assigned or None) the server.host column in the database will contain hostname with domain or without it.

- Then, somewhere (maybe in suse-leap package installers) we are creating starters with the domain in the device name (tango/admin/host.cells.es).

- Finally, the crash occurs when '.' appears in the device name or for any reason tango/admin/$(server.host) and DevInfo.host doesn't match (this is why we have traces with crashes in two different points).

The curious thing is that it happens only with Astor 6.6; and not with Astor 5.*. We may protect Tango/Astor/Jive againts this problems; maybe simply not allowing anymore to put dots in device names (as it gave problems before to Max IV).

Hope it helps,

Sergi Rubio
Keep on dancing,

http://www.tango-controls.org/resources/howto/how-fandango/
 
Register or login to create to post a reply.