-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stack overflow in gen.py #2553
Comments
FWIW I'd much rather spend time helping salt get onto tornado 5 than debugging issues in older versions. Can I see the fully-patched source somewhere? The linked patch doesn't change any line numbers but apparently some other stuff in the debian patch series does because those line numbers don't line up. The regular I remember seeing this infinite recursion while working on 5.x, and it was related to a call to If that's not it, I'd either get these tests running in a debugger or add some debug prints to convert_yielded:
|
I would love to have salt working with tornado 5, but according to saltstack/salt-ci-images#995 there is a lot of work left to do. Debian testing has a soft freeze on 2019-02-12 for the next release. Until then I like to see a working salt package in Debian (upload to unstable needs to happen several days before, let's say end of January). I doubt that the tornado 5 support will be ready until then. That's why I took the path to use tornado 4. https://salsa.debian.org/python-team/modules/python-tornado/commits/tornado4 and https://salsa.debian.org/salt-team/salt/tree/wip-2018.3 contain the full source. There are quilt patches in The package are built in a minimal chroot environment. So the regular |
I applied this requested patch and rerun the salt package build: --- python-tornado4-4.5.3.orig/tornado/ioloop.py
+++ python-tornado4-4.5.3/tornado/ioloop.py
@@ -1039,3 +1039,6 @@ class PeriodicCallback(object):
callback_time_sec) + 1) * callback_time_sec
self._timeout = self.io_loop.add_timeout(self._next_timeout, self._run)
+
+# Try fixing https://github.com/tornadoweb/tornado/issues/2553
+import tornado4.platform.asyncio The salt test still fail. I'll add the debug prints that you suggested and try again. |
I tested building Python against tornado 4 without the rename and there the test succeeded (except one failing for kubernetes). So this endless loop is caused by the rename. May this construct causes it: try:
import tornado4
import sys
sys.modules['tornado'] = tornado4
except ImportError:
pass |
Using try:
import tornado4
import sys
sys.modules['tornado'] = tornado4
except ImportError:
pass caused this issue. Using constructs like try:
from tornado4.ioloop import IOLoop
from tornado4.iostream import IOStream, SSLIOStream
except ImportError:
from tornado.ioloop import IOLoop
from tornado.iostream import IOStream, SSLIOStream works, but requires more lines to be modified. |
Ah, that's interesting. I think there are some ways around it (for example, importing all the submodules of |
I am trying to build salt 2018.3.3 against tornado 4.5.3 for Debian. tornado 4.5.3 builds with the test succeeded (except four, see #2536) after renaming it from
tornado
totornado4
(to make it co-installable). The test suite for salt fails:https://launchpadlibrarian.net/401405967/buildlog_ubuntu-disco-amd64.salt_2018.3.3+dfsg1-1~wip20181213~ubuntu19.04.1~ppa1_BUILDING.txt.gz
Hereby I request help for debugging the issue. The stacktrace points to tornado as culprit. Here are the changes that I did to it: https://salsa.debian.org/python-team/modules/python-tornado/commits/tornado4
The text was updated successfully, but these errors were encountered: