Skip to content
mvankeulen edited this page Oct 2, 2013 · 2 revisions

TODO: description of known problems and ways to deal with them.

DUI freezes

It has been observed that the DUI "freezes", i.e., you have clicked Start the rule engine and it seems started, the browser also shows your initialized gadgets, but otherwise nothing happens. Also clicking Stop the rule engine has no effect.

We haven’t been able to solve this problem yet. In our experience, clicking Exit does function. Otherwise, you could press CTRL-C in the python console. Then simply start the DUI and browser anew as explained in Starting the DUI.

Address already in use

Sometimes, most frequently observed on Mac, you will see an error message in the Python console "OSError: [Errno 48] Address already in use" with a traceback ("Traceback (most recent call last):" etc.) before it.

The ECA rule engine contains its own little web server. Sometimes the thread running this web server does not immediately terminate and the port it uses (default port 7737) is still "in use" by this old web server thread. If you restart the DUI or noDUI, a new web server is started which tries to bind itself to this port, which will fail with this error message under these circumstances.

To recover from this situation, do the following. Refresh the browser until it gives a Page not found or Could not connect error. Then restart the ECA rule engine. It may still give the "Address already in use" error. Simply restart it again. It may take a few seconds before the port is really free again; apparently Mac OSX has a rather long time-out here of several seconds. If you manage to restart the rule engine without the error, refresh the browser page and you are set to go again.

DUI or noDUI doesn’t start at all

The Prerequisite of Python 3.3 is unfortunately strict.

  • Python 2 quits with:

Traceback (most recent call last):
  File "DUI.py", line 1, in <module>
    import os, re, time, threading, queue
ImportError: No module named queue
  • If you don’t have 3.3 (but 3.2.x for example) you get an error due to the lack of support for the u’unicode' syntax, which is accepted again for str objects in 3.3.