Corba_Exception due to polling of attribute

Hello Andy

Can you send the code?

I have attached the code snippet of dynamic attribute creation.

Can you start the device server with DEBUG logging switched on "-v5" on the command line and send us the output at startup when the exception is thrown.

I don't how to switch on "-v5" and DEBUG logging. Can you please explain, so that I can try here and send you the output.

Thanks and Regards
TCS-GMRT TEAM
Regards,
TCS_GMRT
Hi,

when you start a device server without arguments it tells you the following e.g. TangoTest

usage : TangoTest instance_name [-v[trace level]] [-file=<file_name> | -nodb [-dlist <device name list>] ]

The -v sets the level of tracing, 5 is the highest. The output is then sent to stdout/stderr (I forgot which one). This is explained in appendix A12 on page 220 in the Tango manual (V9.1.0)

Andy
Hi Andy

I want to add one more thing, along with specifying polling of dynamic attribute, I am also setting the archive periodic event property of dynamic attribute as well.

So maybe not because of polling of attribute, but may be due to specifying of archive periodic event, the above error may be coming.

Thanks and Regards
TCS-GMRT TEAM
Regards,
TCS_GMRT
Edited 8 years ago
Hello,

As Andy said, the output of your device server when started with the option "-v5" and the source code will be very helpful to find out your problem.
But could you also :
- If the name of the attribute to be created is defined via property, send us the property content (Jive window dump)
- Do the following select once logged in your MySQL database after a "use tango" command:

select device,name,count,value from property_device where device='<your device name>'

Thank's in advance

Manu
Hello Manu/Andy

TangoTest instance_name [-v[trace level]] [-file=<file_name> | -nodb [-dlist <device name list>] ]

I tried as said above, but i dont have 'nodb' command installed. I also tried without no db option, still file is not getting generated.

Regards
tgmrt
Regards,
TCS_GMRT
PLEASE READ THE DOCUMENTATION! Once you done so you will see the options -file and -nodb have nothing to do with setting the logging level. If you start your device server with the instance name and -v5 as follows you should get a lot of output on the command line (see below). Redirect this output to a file and send us the file.

Andy

goetz@pcandy:~$ TangoTest test -v5
Entering Logging::init
TANGO_LOG_PATH is /tmp/tango-goetz
cmd line logging level is 5
Logging::create_log_dir(/tmp/tango-goetz/TangoTest/test) returned 0
added console target (logging level set from cmd line)
Leaving Logging::init
1456416010 [140708167915328] DEBUG dserver/TangoTest/test Connected to database
1456416010 [140708167915328] DEBUG dserver/TangoTest/test Entering Util::server_already_running method
1456416010 [140708167915328] DEBUG dserver/TangoTest/test Leaving Util::server_already_running method
1456416010 [140708167915328] DEBUG dserver/TangoTest/test calling Tango::NotifdEventSupplier::create()

1456416010 [140708167915328] DEBUG dserver/TangoTest/test Failed to import EventChannelFactory notifd/factory/pcandy from the Tango database
1456416010 [140708167915328] DEBUG dserver/TangoTest/test calling Tango::ZmqEventSupplier::create()
1456416010 [140708167915328] DEBUG dserver/TangoTest/test Heartbeat thread Id = 5
1456416010 [140708167915328] DEBUG dserver/TangoTest/test Tango object singleton constructed
1456416010 [140708167915328] DEBUG dserver/TangoTest/test doc_url property for class DServer is not defined in database
1456416010 [140708167915328] DEBUG dserver/TangoTest/test Entering MultiClassAttribute constructor
1456416010 [140708167915328] DEBUG dserver/TangoTest/test Entering MultiClassPipe constructor
1456416010 [140708167915328] DEBUG dserver/TangoTest/test Device name : dserver/TangoTest/test
1456416010 [140708167915328] DEBUG dserver/TangoTest/test SubDevDiag::set_associated_device() entering …
1456416010 [140708167915328] DEBUG dserver/TangoTest/test Entering MultiAttribute class constructor for device dserver/TangoTest/test
1456416010 [140708167915328] DEBUG dserver/TangoTest/test 0 attribute(s)
1456416010 [140708167915328] DEBUG dserver/TangoTest/test Leaving MultiAttribute class constructor
1456416010 [140708167915328] DEBUG dserver/TangoTest/test Entering DeviceImpl::init_logger
1456416010 [140708167915328] DEBUG dserver/TangoTest/test Entering DeviceImpl::get_logger_i
1456416010 [140708167915328] DEBUG dserver/TangoTest/test Leaving DeviceImpl::get_logger_i
1456416010 [140708167915328] DEBUG dserver/TangoTest/test Leaving DeviceImpl::init_logger
Hello Andy/Manu

select device,name,count,value from property_device where device='<your device name>'

Please find the attached Property_attribute.jpg

TangoTest instance_name [-v[trace level]] [-file=<file_name> | -nodb [-dlist <device name list>] ]

Please find the attached test2.txt after specifying polling and archive periodic event of the attribute.

Thanks and Regards
TCS-GMRT TEAM
Regards,
TCS_GMRT
Hello,

Still not able to conclude! When looking at your device server outputs, it looks like the list of attribute to be polled still
contains the dynamic attributes like gab_bbfilter_ch2 and other. But the output of the select I asked you to do does not show
these attributes in the value of the polled_attr property!!! Really strange.
We need another info from you.
In Jive in the device panel, select your database device (should be sys/database/2), then right click and start "Test Device"
In the command list, select "DbGetDataForServerCache". In the Argin value box, type your full device server name and the host name
on which it is running (SubSystem_DS/Gab,<your host name>). This should return a long list of strings.
Could you send us this list?

Regards

Emmanuel
Hello Manu

I tried the above step, but there is some problem in querying the tango database.
Please find the attached screen-shot.

Thanks and Regards
TCS-GMRT TEAM
Regards,
TCS_GMRT
Hello,

From the error message you got I have the feeling that your database is in a very strange state. In a Tango database, you should
have several stored procedures. The MySQL command "show procedure status" displays these stored procedure.
According to your error message, you even do not have the Tango main stored procedure named "ds_start".
These stored procedures are used during a DS startup sequence. If they are not installed in the database, the DS will do a lot of
small requests to the database and this takes much more time.
We have first to solve this point before fixing the problem with your SubSystem_ds DS.
When you have downloaded, compiled and installed Tango, you should have in your install directory a file stored_proc.sql in the
folder <install_dir>/share/tango/db. With this file run the command (and type your root database password)
mysql -u root -p < stored_proc.sql
Then restart your Tango database server. On the "Test device" panel on your database device (see my previous post), go to the
attribute panel and try to read the attribute "StoredProcedureRelease". The answer should be 1.8

Then redo the command as explained in my previous post.

Good luck

Emmanuel
 
Register or login to create to post a reply.