Ticket #168 (new defect)

Opened 10 months ago

Last modified 10 months ago

Unconnected server info error

Reported by: stefan Assigned to: andrew
Priority: major Milestone:
Component: client Version:
Keywords: Cc:

Description

Naturally you can't request a graph of an unconnected server or see "info" for an unconnected server.

Right now one gets errors: Server Info:

Traceback (most recent call last):
  File "C:\isti\src\ewfe\src\ewfe\client\gui\views\lib.py", line 116, in <lambda>
    self.Bind(wx.EVT_MENU, lambda event: action(), id=inner_id)
  File "C:\isti\src\ewfe\src\ewfe\client\gui\controllers\menus.py", line 170, in info
    self.__controller.display_current_info(True)
  File "C:\isti\src\ewfe\src\ewfe\client\gui\controller.py", line 184, in display_current_info
    self.__notebook.display_current_info(show)
  File "C:\isti\src\ewfe\src\ewfe\client\gui\controllers\notebook.py", line 137, in display_current_info
    self.__current_server().display_info(show)
  File "C:\isti\src\ewfe\src\ewfe\client\gui\controllers\server.py", line 218, in display_info
    self.__manage_window(self.__info, show, self.__installation)
  File "C:\isti\src\ewfe\src\ewfe\client\gui\controllers\server.py", line 279, in __manage_window
    window.show(self.__notebook, *args, **kargs)
  File "C:\isti\src\ewfe\src\ewfe\client\gui\views\lib.py", line 411, in show
    self._pre_show(*args, **kargs)
  File "C:\isti\src\ewfe\src\ewfe\client\gui\views\lib.py", line 380, in _pre_show
    self._view = self.__constructor(*args, **kargs)
  File "C:\isti\src\ewfe\src\ewfe\client\gui\views\info.py", line 37, in __init__
    content=installation.connxn.\
  File "C:\isti\src\ewfe\src\ewfe\client\core\installation.py", line 248, in environment_variables
    return self.__server.environment_variables()
AttributeError: 'NoneType' object has no attribute 'environment_variables'

It's less likely someone would try "graph" but if they did they'd get:

Exception in thread Thread-29:
Traceback (most recent call last):
  File "C:\Python26\lib\threading.py", line 525, in __bootstrap_inner
    self.run()
  File "C:\Python26\lib\threading.py", line 477, in run
    self.__target(*self.__args, **self.__kwargs)
  File "C:\isti\src\ewfe\src\ewfe\client\gui\tasks.py", line 275, in __call__
    super(OneOffTask, self).__call__()
  File "C:\isti\src\ewfe\src\ewfe\client\gui\tasks.py", line 49, in __call__
    self.__manager_interface.send(self.__external_action())
  File "C:\isti\src\ewfe\src\ewfe_pro\client\gui\controllers\graph.py", line 50, in external
    self.__geometry.build_new_graph()
  File "C:\isti\src\ewfe\src\ewfe_pro\client\gui\controllers\graph.py", line 142, in build_new_graph
    for ring in state.rings.values():
AttributeError: 'NoneType' object has no attribute 'values'

Change History

09/25/09 12:51:52 changed by andrew

At least part of the problem here is that Windows pops up that annoying text when an exception reaches the GUI top loop. Those "errors" are actually completely harmless and the "expected" behaviour - they terminate the action and the client continues to run normally. There's already an issue for addressing this (the popup window with errors on Windows).

Separately, we could grey options out if we can predict they would not work, or popup some kind of explanation when nothing happens.