Elettra AlarmHandler crash
|
|
---|---|
Hi I am trying to configure an alarm on Elettra alarm handler using Panic. I have installed Panic version 6.5.1 and built Elettra Alarm Handler from Elettra git repository. As per recommendation, I have also renamed the tango class from AlarmHandler to PyAlarm. I can see my alarm server is detected by Panic. When I try to create a new alarm and click on Save button, the alarm server process crashes. There is not much information on the console. Attaching a screenshot of the alarm handler console. Please help me with this. |
|
|
---|---|
Here are some logs on the Panic console:
|
|
|
---|---|
Can you try and run the AlarmHandler device in foregroung with -v4 or -v5 to catch the server output? |
|
|
---|---|
Yes. Please check the attached log file. |
|
|
---|---|
Hi Lochan, if you look at the last 20 lines of the log… seems that the Init() method has been called on the device. It is properly executing delete_device() and should then reinitialize, e.g. execute init_device(). Is the log complete? |
|
|
---|---|
Yes. The log is complete. My device server was already running. So this call to init method seems redundant. Also, I want the device server to continue running after alarm configuration. So ideally delete device method should not get called. One more thing I noticed is, it is printing 'Core dumped' message as well. |
|
|
---|---|
Hi Lochan, Lorenzo In principle, it should not be needed to rename the AlarmHandler to PyAlarm; Panic should be able to connect to the AlarmHandler anyway. Init() is executed because it is the default way to reload properties on PyAlarm; in the case of AlarmHandler I can do a restart using Starter if this solution is fine for you. If this solution is fine I can upload a patch, Sergi |
|
|
---|---|
Hi Sergi, in the case of AlarmHandler I suppose there is no need to reload properties… the methods for adding an alarm take care of updating the runtime data structures *and* inserting the line in the properties for the next device startup… but there is no need to Init/Restart… (which will eventually cause unsubscribing to all events, cleanup of all runtime data structures etc…). |
|
|
---|---|
I just pushed the changes to develop so you can test them Sergi |
|
|
---|---|
Hi Sergi. I would like to understand better: are you adding a new alarm in the AlarmHandler writing the attribute properties and then trying to restart the device? This should be possible (except for bug in the AlarmHandler Init method to be analyzed) but as Lorenzo said calling the Load command should be the preferred way when the device is already running. I hope I will have time to check your changes next days. Graziano |