From 2310497d55349acdf3a164c17a9d233260f8cee4 Mon Sep 17 00:00:00 2001 From: David Wilson Date: Mon, 28 May 2018 04:54:16 +0100 Subject: [PATCH] issue #213: core: have Message.reply() log msg for zero reply_to It's easy to call msg.reply() by accident on a message that never had reply_to set, resulting in a "invalid handle" error message coming from router. Instead log a more accurate message on the stack that actualy caused the problem. --- mitogen/core.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mitogen/core.py b/mitogen/core.py index 4fe2292ff..b9ca31abb 100644 --- a/mitogen/core.py +++ b/mitogen/core.py @@ -380,7 +380,10 @@ def reply(self, msg, router=None, **kwargs): msg.dst_id = self.src_id msg.handle = self.reply_to vars(msg).update(kwargs) - (self.router or router).route(msg) + if msg.handle: + (self.router or router).route(msg) + else: + LOG.debug('Message.reply(): discarding due to zero handle: %r', msg) def unpickle(self, throw=True, throw_dead=True): """Deserialize `data` into an object."""