Error with "Up-time for Servers"

Hi. I've two hosts in my environment. With one of it, when I select "Up-time for Servers" from astor I get the following error.

Device name (dserver/1) wrong definition.

Stack
-TangoApi_BAD_DEVICE_NAME
–Severity - ERROR
–Origin - TangoUrl.TangoUrl()
–Description - Device name (dserver/1) wrong definition.
–Reason - TangoApi_BAD_DEVICE_NAME

The other works perfectly. I can't understand from where the name "dserver/1" come from. There are no references to it in the database.

Can you help me?
Hi Giovanni,

By looking into Astor's code, which is on Github, it seems that it executes the command DbGetHostServerList on the Tango Database server device (sys/database/2 usually) with an host name as argin.
Could you try to execute this command and look at the results?

It looks like DbGetHostServerList(Your_problematic_hostname) is returning a line with the string "1", instead of a device server instance name (like "TangoTest/test" for instance).
I have no idea how you came to this situation.
Did you use an exotic way for creating/defining new device servers?

Kind regards,
Reynald
Rosenberg's Law: Software is easy to make, except when you want it to do something new.
Corollary: The only software that's worth making is software that does something new.
Oh, nice. Executing DbGetHostServerList on my host I'm getting:

Command: sys/database/2/DbGetHostServerList
Duration: 7 msec
Argin: olserver120
Output argument(s) :
array length: 54
[0] 1
[1] DspServer/BPC
[2] …

Looking at the DataBaseds code, it seems to be due to a row in the "device" table in the database related to the TangoAccessControl:

INSERT INTO `tango`.`device` (`name`, `alias`, `domain`, `family`, `member`, `exported`, `ior`, `host`, `server`, `pid`, `class`, `version`, `started`, `stopped`, `comment`) VALUES ('dserver/TangoAccessControl/1', NULL, 'dserver', 'TangoAccessControl', '1', '1', 'IOR:[…]', 'olserver120', '1', '6952', 'DServer', '5', '2017-03-29 19:33:49', '2015-04-21 19:52:54', 'nada')

Maybe it is a bug in the TangoAccessControl?
Edited 7 years ago
Interesting…

It looks like the 'server' field was set to '1' instead of 'TangoAccessControl/1' in your case.

UPDATE tango.device SET server='TangoAccessControl/1' where server='1' and host='olserver120';


might be enough in your case?

If I were you, I would also do a:
SELECT * from tango.server;
to be sure this table was not affected.

Do you have any idea of what could have triggered this INSERT statement?
How do you start up the Tango Access Control device server?

Hoping this helps,
Reynald
Rosenberg's Law: Software is easy to make, except when you want it to do something new.
Corollary: The only software that's worth making is software that does something new.
Ok, I've tried to edit that line and everything seems to be ok now. Thanks a lot.

I use to start the TangoAccessControl server by hand just before to execute the Starter process. Sincerely, I've no idea on what happened…
Edited 7 years ago
 
Register or login to create to post a reply.