Change in ...osmo-python-tests[master]: osmo_trap2cgi.py: Don't recurse in ctrl_client()

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

daniel gerrit-no-reply at lists.osmocom.org
Wed Jun 19 15:39:12 UTC 2019


daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545


Change subject: osmo_trap2cgi.py: Don't recurse in ctrl_client()
......................................................................

osmo_trap2cgi.py: Don't recurse in ctrl_client()

Use a loop instead. Without it the script will eventually crash with a
RecursionError.

   File "/usr/bin/osmo_trap2cgi.py", line 211, in conn_client
     await ctrl_client(proxy, reader, writer)
   File "/usr/bin/osmo_trap2cgi.py", line 202, in ctrl_client
     proxy.dispatch(wr, data)
[...]
   File "/usr/bin/osmo_trap2cgi.py", line 202, in ctrl_client
     proxy.dispatch(wr, data)
   File "/usr/bin/osmo_trap2cgi.py", line 201, in ctrl_client
[...]
RecursionError: maximum recursion depth exceeded in comparison

Change-Id: Ic909e371771f3056cb87e18793fd4225ffb90a2c
Related: SYS#4399
---
M scripts/osmo_trap2cgi.py
1 file changed, 5 insertions(+), 5 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/python/osmo-python-tests refs/changes/45/14545/1

diff --git a/scripts/osmo_trap2cgi.py b/scripts/osmo_trap2cgi.py
index ad66e7b..8aa7649 100755
--- a/scripts/osmo_trap2cgi.py
+++ b/scripts/osmo_trap2cgi.py
@@ -194,12 +194,12 @@
 
 async def ctrl_client(proxy, rd, wr):
     """
-    Recursively read CTRL stream and handle selected messages.
+    Read CTRL stream and handle selected messages.
     """
-    header = await recon_reader(proxy, rd, 4)
-    data = await recon_reader(proxy, rd, get_ctrl_len(proxy, header))
-    proxy.dispatch(wr, data)
-    await ctrl_client(proxy, rd, wr)
+    while True:
+        header = await recon_reader(proxy, rd, 4)
+        data = await recon_reader(proxy, rd, get_ctrl_len(proxy, header))
+        proxy.dispatch(wr, data)
 
 async def conn_client(proxy):
     """

-- 
To view, visit https://gerrit.osmocom.org/c/python/osmo-python-tests/+/14545
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: python/osmo-python-tests
Gerrit-Branch: master
Gerrit-Change-Id: Ic909e371771f3056cb87e18793fd4225ffb90a2c
Gerrit-Change-Number: 14545
Gerrit-PatchSet: 1
Gerrit-Owner: daniel <dwillmann at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20190619/0588b797/attachment.htm>


More information about the gerrit-log mailing list