Updates:
        Summary: Execution crashes if listener's `message` method fails 
repeatingly
        Status: Accepted
        Labels: Target-2.6

Comment #3 on issue 832 by pekka.klarck: Execution crashes if listener's `message` method fails repeatingly
http://code.google.com/p/robotframework/issues/detail?id=832

I finally understood what goes wrong. Robot reports an error if calling listeners' methods fails and this error is reported also to listeners' `message` method. If this `message` method itself fails, the failing method ends up called again, failing again, etc. resulting with a recursion. You can easily reproduce this with a listener like this:

    ROBOT_LISTENER_API_VERSION = 2

    def message(msg):
        1/0


RIDE's run plugin uses listeners to communicate with Robot that is executing tests. This listener and RIDE use sockets for communication and in your original case there has been some kind of a socket problem and this has initiated the recursion.

I believe we can fix this with some kind of a flag preventing same error to be reported multiple times.

Reply via email to