- changed status to closed
RuntimeError error with gevent after few hours running
Issue #4029
closed
The code communicate with database, looks like the code below. https://gist.github.com/tonywangcn/6dadbd58d7778063b0c7969f62505537
I tried to reproduce the error, but everything seems ok.
SQLAlchemy==1.1.4 gevent==1.2.0 greenlet==0.4.11 PyMySQL==0.7.11
error 1
2017-07-15 10:59:15,688 INFO sqlalchemy.engine.threadlocal.TLEngine ROLLBACK Exception during reset or similar Traceback (most recent call last): File "/root/proxyserver/db/SqlHelper.py", line 133, in update updateNum = query.update(updatevalue) File "/root/proxyserver/.env/lib/python3.5/site-packages/sqlalchemy/orm/query.py", line 3288, in update update_op.exec_() File "/root/proxyserver/.env/lib/python3.5/site-packages/sqlalchemy/orm/persistence.py", line 1168, in exec_ self._do_exec() File "/root/proxyserver/.env/lib/python3.5/site-packages/sqlalchemy/orm/persistence.py", line 1323, in _do_exec mapper=self.mapper) File "/root/proxyserver/.env/lib/python3.5/site-packages/sqlalchemy/orm/session.py", line 1107, in execute bind, close_with_result=True).execute(clause, params or {}) File "/root/proxyserver/.env/lib/python3.5/site-packages/sqlalchemy/orm/session.py", line 971, in _connection_for_bind engine, execution_options) File "/root/proxyserver/.env/lib/python3.5/site-packages/sqlalchemy/orm/session.py", line 382, in _connection_for_bind self._assert_active() File "/root/proxyserver/.env/lib/python3.5/site-packages/sqlalchemy/orm/session.py", line 264, in _assert_active "This session is in 'prepared' state; no further " sqlalchemy.exc.InvalidRequestError: This session is in 'prepared' state; no further SQL can be emitted within this transaction. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/root/proxyserver/.env/lib/python3.5/site-packages/sqlalchemy/pool.py", line 687, in _finalize_fairy fairy._reset(pool) File "/root/proxyserver/.env/lib/python3.5/site-packages/sqlalchemy/pool.py", line 829, in _reset pool._dialect.do_rollback(self) File "/root/proxyserver/.env/lib/python3.5/site-packages/sqlalchemy/dialects/mysql/base.py", line 1547, in do_rollback dbapi_connection.rollback() File "/root/proxyserver/.env/lib/python3.5/site-packages/pymysql/connections.py", line 793, in rollback self._read_ok_packet() File "/root/proxyserver/.env/lib/python3.5/site-packages/pymysql/connections.py", line 767, in _read_ok_packet pkt = self._read_packet() File "/root/proxyserver/.env/lib/python3.5/site-packages/pymysql/connections.py", line 987, in _read_packet packet_header = self._read_bytes(4) File "/root/proxyserver/.env/lib/python3.5/site-packages/pymysql/connections.py", line 1021, in _read_bytes data = self._rfile.read(num_bytes) RuntimeError: reentrant call inside <_io.BufferedReader name=29>
error 2
2017-07-15 10:59:21,558 INFO sqlalchemy.engine.threadlocal.TLEngine ROLLBACK Exception during reset or similar Traceback (most recent call last): File "/root/proxyserver/db/SqlHelper.py", line 133, in update updateNum = query.update(updatevalue) File "/root/proxyserver/.env/lib/python3.5/site-packages/sqlalchemy/orm/query.py", line 3288, in update update_op.exec_() File "/root/proxyserver/.env/lib/python3.5/site-packages/sqlalchemy/orm/persistence.py", line 1168, in exec_ self._do_exec() File "/root/proxyserver/.env/lib/python3.5/site-packages/sqlalchemy/orm/persistence.py", line 1323, in _do_exec mapper=self.mapper) File "/root/proxyserver/.env/lib/python3.5/site-packages/sqlalchemy/orm/session.py", line 1107, in execute bind, close_with_result=True).execute(clause, params or {}) File "/root/proxyserver/.env/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 945, in execute return meth(self, multiparams, params) File "/root/proxyserver/.env/lib/python3.5/site-packages/sqlalchemy/sql/elements.py", line 263, in _execute_on_connection return connection._execute_clauseelement(self, multiparams, params) File "/root/proxyserver/.env/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 1053, in _execute_clauseelement compiled_sql, distilled_params File "/root/proxyserver/.env/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 1189, in _execute_context context) File "/root/proxyserver/.env/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 1396, in _handle_dbapi_exception util.reraise(*exc_info) File "/root/proxyserver/.env/lib/python3.5/site-packages/sqlalchemy/util/compat.py", line 186, in reraise raise value File "/root/proxyserver/.env/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 1182, in _execute_context context) File "/root/proxyserver/.env/lib/python3.5/site-packages/sqlalchemy/engine/default.py", line 469, in do_execute cursor.execute(statement, parameters) File "/root/proxyserver/.env/lib/python3.5/site-packages/pymysql/cursors.py", line 166, in execute result = self._query(query) File "/root/proxyserver/.env/lib/python3.5/site-packages/pymysql/cursors.py", line 322, in _query conn.query(q) File "/root/proxyserver/.env/lib/python3.5/site-packages/pymysql/connections.py", line 856, in query self._affected_rows = self._read_query_result(unbuffered=unbuffered) File "/root/proxyserver/.env/lib/python3.5/site-packages/pymysql/connections.py", line 1057, in _read_query_result result.read() File "/root/proxyserver/.env/lib/python3.5/site-packages/pymysql/connections.py", line 1340, in read first_packet = self.connection._read_packet() File "/root/proxyserver/.env/lib/python3.5/site-packages/pymysql/connections.py", line 987, in _read_packet packet_header = self._read_bytes(4) File "/root/proxyserver/.env/lib/python3.5/site-packages/pymysql/connections.py", line 1021, in _read_bytes data = self._rfile.read(num_bytes) RuntimeError: reentrant call inside <_io.BufferedReader name=27> During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/root/proxyserver/.env/lib/python3.5/site-packages/sqlalchemy/pool.py", line 687, in _finalize_fairy fairy._reset(pool) File "/root/proxyserver/.env/lib/python3.5/site-packages/sqlalchemy/pool.py", line 829, in _reset pool._dialect.do_rollback(self) File "/root/proxyserver/.env/lib/python3.5/site-packages/sqlalchemy/dialects/mysql/base.py", line 1547, in do_rollback dbapi_connection.rollback() File "/root/proxyserver/.env/lib/python3.5/site-packages/pymysql/connections.py", line 793, in rollback self._read_ok_packet() File "/root/proxyserver/.env/lib/python3.5/site-packages/pymysql/connections.py", line 767, in _read_ok_packet pkt = self._read_packet() File "/root/proxyserver/.env/lib/python3.5/site-packages/pymysql/connections.py", line 987, in _read_packet packet_header = self._read_bytes(4) File "/root/proxyserver/.env/lib/python3.5/site-packages/pymysql/connections.py", line 1021, in _read_bytes data = self._rfile.read(num_bytes) RuntimeError: reentrant call inside <_io.BufferedReader name=27>
Comments (1)
-
repo owner - Log in to comment
this is a usage question and I've already responded to your mailing list question.