[SOLVED] [hdbpp-configurator-3.5] : Lost Connection during command: class fr.esrf.TangoApi.DeviceProxyDAODefaultImpl.DeviceProxy.write_attribute

Hi,

I receive the following error in hdb-configurator-3.5 when I try to add an attribute to the subscriber:

Lost Connection during command: class fr.esrf.TangoApi.DeviceProxyDAODefaultImpl.DeviceProxy.write_attribute

Stack
- org.omg.CORBA.UNKNOWN: Server-side Exception: null vmcid: OMG minor code: 1 completed: Maybe
—— Severity - PANIC
—— Origin - archiving/hdb++/confmanager.01.class fr.esrf.TangoApi.DeviceProxyDAODefaultImpl.DeviceProxy.write_attribute)
—— Description: Lost Connection during command: class fr.esrf.TangoApi.DeviceProxyDAODefaultImpl.DeviceProxy.write_attribute
—— Reason - org.omg.CORBA.UNKNOWN: Server-side Exception: null vmcid: OMG minor code: 1 completed: Maybe

In parallel, I have the following warning message in the console that repeats periodically
No heartbeat from dserver/hdb++es-srv/01
Nevertheless, in Jive, I can see that the device server is running.



Context
  • I have written a script to automate the build of Tango and HDB++ on Debian 9 ( https://github.com/sblanchet/tango-install )
  • Tango seems to work very well because I can monitor sys/tg_test/double_scalar with aktmoni
  • I can launch hdb-configurator and hdb-viewer
  • But I receive an exception in hdb-configurator when I try to to add an attribute (for example sys/tg_test/double_scalar) to the subscriber.

Full Trace
fr.esrf.TangoApi.ConnectionFailed
 at
fr.esrf.TangoDs.Except.throw_connection_failed(Except.java:616)
fr.esrf.TangoDs.Except.throw_connection_failed(Except.java:553)
fr.esrf.TangoApi.ConnectionDAODefaultImpl.throw_dev_failed(ConnectionDAODefaultImpl.java:810)
fr.esrf.TangoApi.ConnectionDAODefaultImpl.manageExceptionReconnection(ConnectionDAODefaultImpl.java:1340)
fr.esrf.TangoApi.DeviceProxyDAODefaultImpl.write_attribute(DeviceProxyDAODefaultImpl.java:1541)
fr.esrf.TangoApi.DeviceProxy.write_attribute(DeviceProxy.java:840)
org.tango.hdb_configurator.common.ArchiverUtils.addAttribute(ArchiverUtils.java:193)
org.tango.hdb_configurator.configurator.HdbConfigurator.addSpecifiedAttribute(HdbConfigurator.java:1398)
org.tango.hdb_configurator.configurator.AttributeTree.addAttribute(AttributeTree.java:404)
org.tango.hdb_configurator.configurator.AttributeTree.access$2900(AttributeTree.java:58)
org.tango.hdb_configurator.configurator.AttributeTree$AttributeTreePopupMenu.hostActionPerformed(AttributeTree.java:900)
org.tango.hdb_configurator.configurator.AttributeTree$AttributeTreePopupMenu.access$2700(AttributeTree.java:779)
org.tango.hdb_configurator.configurator.AttributeTree$AttributeTreePopupMenu$1.actionPerformed(AttributeTree.java:803)
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
javax.swing.AbstractButton.doClick(AbstractButton.java:376)
javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:842)
javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:886)
java.awt.Component.processMouseEvent(Component.java:6533)
javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
java.awt.Component.processEvent(Component.java:6298)
java.awt.Container.processEvent(Container.java:2238)
java.awt.Component.dispatchEventImpl(Component.java:4889)
java.awt.Container.dispatchEventImpl(Container.java:2296)
java.awt.Component.dispatchEvent(Component.java:4711)
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4897)
java.awt.LightweightDispatcher.processMouseEvent(Container.java:4534)
java.awt.LightweightDispatcher.dispatchEvent(Container.java:4475)
java.awt.Container.dispatchEventImpl(Container.java:2282)
java.awt.Window.dispatchEventImpl(Window.java:2746)
java.awt.Component.dispatchEvent(Component.java:4711)
java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
java.awt.EventQueue.access$500(EventQueue.java:97)
java.awt.EventQueue$3.run(EventQueue.java:709)
java.awt.EventQueue$3.run(EventQueue.java:703)
java.security.AccessController.doPrivileged(Native Method)
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
java.awt.EventQueue$4.run(EventQueue.java:733)
java.awt.EventQueue$4.run(EventQueue.java:731)
java.security.AccessController.doPrivileged(Native Method)
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
org.GNOME.Accessibility.AtkWrapper$5.dispatchEvent(AtkWrapper.java:700)
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
java.awt.EventDispatchThread.run(EventDispatchThread.java:82)


This is the list of modules, I have used to build my Tango installation.
  • Everything comes from the GitHub public repositories, except Tango 9.2.5a that comes from the ESRF FTP server.
  • I use MariaDB instead of MySQL because it is the default on Debian 9.

Module list:
  • Tango-9.2.5a (download source from ftp://ftp.esrf.eu/pub/cs/tango/tango-9.2.5a.tar.gz )
  • libhdbpp-mysql tags/v1.1.0
  • libhdbpp-cm tags/v1.0.0
  • libhdbpp-es tags/v1.0.1
  • libhdbpp-configurator tags/hdbpp-configurator-3.5
  • libhdbpp-viewer commit 70d61cc38d0e844b196fecdb92db65fdf22f222f
  • libhdbpp v1.0.0
  • libhdbpp-extraction-java tags/libhdbpp-java-1.21

If a seasoned Tango user could give me a hint, it would be really appreciated.

Regards,

Sebastien
Sebastien
Edited 4 months ago
I have finally found the solution: it was an IPv6 problem again.
Even if I declare TANGO_HOST=127.0.0.1:10000, hdb-configurator will use tango://localhost:10000/sys/tg_test/1/double_scalar for the URL

Therefore I must remove the following line from /etc/hosts

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
Sebastien
Edited 4 months ago
 
Register or login to create to post a reply.