[INSTRM-638] GUIs connection to the hub crash the archiver Created: 27/Mar/19  Updated: 15/May/19  Resolved: 11/May/19

Status: Done
Project: Instrument control development
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: arnaud.lefur Assignee: cloomis
Resolution: Done Votes: 0
Labels: SM1
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Story Points: 3
Sprint: SM1-2019 G

 Description   

when spsClient or sequencePanel connect to the hub, 

the archiver stop and restart its Hubfactory 

 

2019-03-27 14:30:19+0000 [ReplyReceiver,client] 'Unknown keyword hub.tasteractors'
2019-03-27 14:30:19+0000 [ReplyReceiver,client] 'Unknown keyword hub.tasteractors'
2019-03-27 14:30:19+0000 [ReplyReceiver,client] 'Unknown keyword hub.tastercmdrs'
2019-03-27 14:30:19+0000 [ReplyReceiver,client] 'Unknown keyword hub.tastersources'
2019-03-27 14:30:19+0000 [ReplyReceiver,client] 'Unknown keyword hub.tasteractors'
2019-03-27 14:30:19+0000 [ReplyReceiver,client] 'Unknown keyword hub.tastercmdrs'
2019-03-27 14:30:19+0000 [ReplyReceiver,client] 'Unknown keyword hub.tastersources'
2019-03-27 14:30:19+0000 [ReplyReceiver,client] loading keydict for keys
2019-03-27 14:30:19+0000 [ReplyReceiver,client] Unhandled Error 
    Traceback (most recent call last):   
    File "/software/conda/lib/python3.6/site-packages/twisted/python/log.py", line 103, in callWithLogger
       return callWithContext({"system": lp}, func, *args, **kw)   
    File "/software/conda/lib/python3.6/site-packages/twisted/python/log.py", line 86, in callWithContext     
       return context.call({ILogContext: newCtx}, func, *args, **kw)  
    File "/software/conda/lib/python3.6/site-packages/twisted/python/context.py", line 122, in callWithContext   
       return self.currentContext().callWithContext(ctx, func, *args, **kw)  
    File "/software/conda/lib/python3.6/site-packages/twisted/python/context.py", line 85, in callWithContext   
       return func(*args,**kw) 
    --- <exception caught here> ---   
    File "/software/conda/lib/python3.6/site-packages/twisted/internet/posixbase.py", line 597, in _doReadOrWrite    
       why = selectable.doRead()  
    File "/software/conda/lib/python3.6/site-packages/twisted/internet/tcp.py", line 208, in doRead     
      return self._dataReceived(data)  
    File "/software/conda/lib/python3.6/site-packages/twisted/internet/tcp.py", line 214, in _dataReceived   
      rval = self.protocol.dataReceived(data)   
   File "/software/conda/lib/python3.6/site-packages/twisted/protocols/basic.py", line 454, in dataReceived    
      self.lineReceived(line)   
     File "/software/mhs/products/Linux64/ics_archiver/1.2.1/python/archiver/protocol.py", line 54, in lineReceived                        self.messageReceived(message)
   File "/software/mhs/products/Linux64/ics_archiver/1.2.1/python/archiver/protocol.py", line 202, in messageReceived     
actor = actors.Actor.attach(hdr.actor)  
 File "/software/mhs/products/Linux64/ics_archiver/1.2.1/python/archiver/actors.py", line 36, in attach    
   return Actor(name,dictionaryRequired)   File "/software/mhs/products/Linux64/ics_archiver/1.2.1/python/archiver/actors.py", line 52, in __init__     self.kdict = keys.KeysDictionary.load(name,forceReload=True)  
 File "/software/mhs/products/Linux64/tron_actorcore/2.0.0/python/opscore/protocols/keys.py", line 475, in load     % (dictfile.name,description)) builtins.AttributeError: 'NoneType' object has no attribute 'name' 

2019-03-27 14:30:19+0000 [ReplyReceiver,client] <twisted.internet.tcp.Connector object at 0x7fc241a242e8> will retry in 13 seconds
2019-03-27 14:30:19+0000 [-] Stopping factory <__main__.startServer.<locals>.HubFactory object at 0x7fc2419e8710>
2019-03-27 14:30:33+0000 [-] Starting factory <__main__.startServer.<locals>.HubFactory object at 0x7fc2419e8710>


 Comments   
Comment by cloomis [ 29/Mar/19 ]

!!

Comment by hassan [ 18/Apr/19 ]

Clearly a bug, but low-priority. LAM have a workaround.

Comment by cloomis [ 11/May/19 ]

Merged at 7763a27, tagged 2.0.3

Fixed only the fact that the outer opscore.protocols.keys.KeysDictionary.load() exception handler raised an uncaught exception, which both hid some inner exceptions and caused the archiver to need to restart part of itself. The inner exception is a different ticket,

Generated at Sat Feb 10 16:27:06 JST 2024 using Jira 8.3.4#803005-sha1:1f96e09b3c60279a408a2ae47be3c745f571388b.