sardana-org / sardana

Moved to GitLab: https://gitlab.com/sardana-org/sardana
39 stars 52 forks source link

Newly created elements are not visible until MacroServer restart #723

Open daneos opened 6 years ago

daneos commented 6 years ago

When creating controllers or elements the output is Created None and the element is not visible until MacroServer restart. I can see Tango devices are created, but MacroServer isn't aware of that. Looks like some problem with communication between Pool and MacroServer.

door/bl04bm/devel [4]: defctrl SolarisIcepapCtrl bl-04bmcab03-ctl-ipap01 host bl04bm.cab03.ipap01 port 5000
Created None

door/bl04bm/devel [5]: lsctrl
No controllers defined
door/bl04bm/devel [12]: defelem SR tango-r1 1
Created None

door/bl04bm/devel [13]: lsexp
No expchannels defined

I think I saw this problem before, but couldn't find it in the issues.

Now for the hard part: there is absolutely no useful information in Pool or MacroServer logs (at least when using default log level). I tried to reproduce this problem on some other VM, and that's where I got totally lost, because it works there, despite all VMs are set up using the same Ansible configuration.

I guess it has something to do with the configuration of this particular VM, but I don't know where to start looking.

daneos commented 6 years ago

It looks like any macro manipulating Pool elements is affected. This points to the event system as the source of the problem, but I guess in this case errors should be logged even with the default log level. I'll test this with a higher log level and post my results.

door/bl04bm/devel [2]: lsctrl
                           Name           Type                   Class            Module
 ------------------------------ -------------- ----------------------- -----------------
        bl-04bmcab03-ctl-ipap01          Motor       SolarisIcepapCtrl     solaris_motor
   bl-04bmcab04-ctl-ipap01-BARE          Motor        IcepapController        IcePAPCtrl
                       tango-r1   CTExpChannel   TangoAttrCTController   TangoAttrCTCtrl
                           test   CTExpChannel   TangoAttrCTController   TangoAttrCTCtrl

door/bl04bm/devel [3]: udefctrl test

door/bl04bm/devel [4]: lsctrl
                           Name           Type                   Class            Module
 ------------------------------ -------------- ----------------------- -----------------
        bl-04bmcab03-ctl-ipap01          Motor       SolarisIcepapCtrl     solaris_motor
   bl-04bmcab04-ctl-ipap01-BARE          Motor        IcepapController        IcePAPCtrl
                       tango-r1   CTExpChannel   TangoAttrCTController   TangoAttrCTCtrl
                           test   CTExpChannel   TangoAttrCTController   TangoAttrCTCtrl
door/bl04bm/devel [5]: defmeas testmg01 SR
Created None
reszelaz commented 6 years ago

Sorry for the late reply, I was out-of-office.

I agree, it looks like a problem with the events. Could you please try the following instructions: https://github.com/taurus-org/taurus/issues/658#issuecomment-369616943 and report back the results.

Also, please attach the logs of the Pool and the MacroServer started with the --log-level=debug.