You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Description: when trying to set the memory limit, a critical error appears.
Additionally, the memory limit is a very high bogus number, such as 1073741824MB.
Steps to reproduce:
Open task page
Set memory limit
Click update
Expected: The memory limit changes
Actual: Critical error shows, memory limit is bogus.
Logs
Traceback (most recent call last):
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1182, in _execute_context
context)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 470, in do_execute
cursor.execute(statement, parameters)
psycopg2.IntegrityError: new row for relation "datasets" violates check constraint "datasets_memory_limit_check1"
DETAIL: Failing row contains (2, 2, Default, t, 3, 1, Communication, [1, "stub", "fifo_io"], GroupMul, [[15, "tiny*"], [35, "medium*"], [50, "big*"]]).
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/rmi/cms_env/lib/python3.6/site-packages/tornado/web.py", line 1510, in _execute
result = method(*self.path_args, **self.path_kwargs)
File "/home/rmi/cms_env/lib/python3.6/site-packages/tornado/web.py", line 2898, in wrapper
return method(self, *args, **kwargs)
File "/home/rmi/cms_env/lib/python3.6/site-packages/cms-1.4rc1-py3.6.egg/cms/server/admin/handlers/base.py", line 188, in newfunc
return func(self, *args, **kwargs)
File "/home/rmi/cms_env/lib/python3.6/site-packages/cms-1.4rc1-py3.6.egg/cms/server/admin/handlers/task.py", line 199, in post
for testcase in itervalues(dataset.testcases):
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/orm/attributes.py", line 237, in __get__
return self.impl.get(instance_state(instance), dict_)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/orm/attributes.py", line 584, in get
value = self.callable_(state, passive)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/orm/strategies.py", line 557, in _load_for_state
return self._emit_lazyload(session, state, ident_key, passive)
File "<string>", line 1, in <lambda>
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/orm/strategies.py", line 635, in _emit_lazyload
result = q.all()
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 2703, in all
return list(self)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 2854, in __iter__
self.session._autoflush()
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 1428, in _autoflush
util.raise_from_cause(e)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 187, in reraise
raise value
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 1418, in _autoflush
self.flush()
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 2209, in flush
self._flush(objects)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 2329, in _flush
transaction.rollback(_capture_exception=True)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/util/langhelpers.py", line 66, in __exit__
compat.reraise(exc_type, exc_value, exc_tb)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 187, in reraise
raise value
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 2293, in _flush
flush_context.execute()
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/orm/unitofwork.py", line 389, in execute
rec.execute(self)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/orm/unitofwork.py", line 548, in execute
uow
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/orm/persistence.py", line 177, in save_obj
mapper, table, update)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/orm/persistence.py", line 737, in _emit_update_statements
execute(statement, multiparams)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 945, in execute
return meth(self, multiparams, params)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/sql/elements.py", line 263, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1053, in _execute_clauseelement
compiled_sql, distilled_params
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1189, in _execute_context
context)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1402, in _handle_dbapi_exception
exc_info
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 186, in reraise
raise value.with_traceback(tb)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1182, in _execute_context
context)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 470, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.IntegrityError: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (psycopg2.IntegrityError) new row for relation "datasets" violates check constraint "datasets_memory_limit_check1"
DETAIL: Failing row contains (2, 2, Default, t, 3, 1, Communication, [1, "stub", "fifo_io"], GroupMul, [[15, "tiny*"], [35, "medium*"], [50, "big*"]]).
[SQL: 'UPDATE datasets SET memory_limit=%(memory_limit)s WHERE datasets.id = %(datasets_id)s'] [parameters: {'memory_limit': 1, 'datasets_id': 2}]
2019-10-04 17:00:54,015 - ERROR [Admin,0 63 base::write_error] Uncaught exception (IntegrityError('(psycopg2.IntegrityError) new row for relation "datasets" violates check constraint "datasets_memory_limit_check1"\nDETAIL: Failing row contains (2, 2, Default, t, 3, 1, Communication, [1, "stub", "fifo_io"], GroupMul, [[15, "tiny*"], [35, "medium*"], [50, "big*"]]).\n',)) while processing a request: Traceback (most recent call last):
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1182, in _execute_context
context)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 470, in do_execute
cursor.execute(statement, parameters)
psycopg2.IntegrityError: new row for relation "datasets" violates check constraint "datasets_memory_limit_check1"
DETAIL: Failing row contains (2, 2, Default, t, 3, 1, Communication, [1, "stub", "fifo_io"], GroupMul, [[15, "tiny*"], [35, "medium*"], [50, "big*"]]).
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/rmi/cms_env/lib/python3.6/site-packages/tornado/web.py", line 1510, in _execute
result = method(*self.path_args, **self.path_kwargs)
File "/home/rmi/cms_env/lib/python3.6/site-packages/tornado/web.py", line 2898, in wrapper
return method(self, *args, **kwargs)
File "/home/rmi/cms_env/lib/python3.6/site-packages/cms-1.4rc1-py3.6.egg/cms/server/admin/handlers/base.py", line 188, in newfunc
return func(self, *args, **kwargs)
File "/home/rmi/cms_env/lib/python3.6/site-packages/cms-1.4rc1-py3.6.egg/cms/server/admin/handlers/task.py", line 199, in post
for testcase in itervalues(dataset.testcases):
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/orm/attributes.py", line 237, in __get__
return self.impl.get(instance_state(instance), dict_)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/orm/attributes.py", line 584, in get
value = self.callable_(state, passive)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/orm/strategies.py", line 557, in _load_for_state
return self._emit_lazyload(session, state, ident_key, passive)
File "<string>", line 1, in <lambda>
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/orm/strategies.py", line 635, in _emit_lazyload
result = q.all()
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 2703, in all
return list(self)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 2854, in __iter__
self.session._autoflush()
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 1428, in _autoflush
util.raise_from_cause(e)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 187, in reraise
raise value
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 1418, in _autoflush
self.flush()
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 2209, in flush
self._flush(objects)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 2329, in _flush
transaction.rollback(_capture_exception=True)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/util/langhelpers.py", line 66, in __exit__
compat.reraise(exc_type, exc_value, exc_tb)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 187, in reraise
raise value
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 2293, in _flush
flush_context.execute()
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/orm/unitofwork.py", line 389, in execute
rec.execute(self)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/orm/unitofwork.py", line 548, in execute
uow
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/orm/persistence.py", line 177, in save_obj
mapper, table, update)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/orm/persistence.py", line 737, in _emit_update_statements
execute(statement, multiparams)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 945, in execute
return meth(self, multiparams, params)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/sql/elements.py", line 263, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1053, in _execute_clauseelement
compiled_sql, distilled_params
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1189, in _execute_context
context)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1402, in _handle_dbapi_exception
exc_info
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 186, in reraise
raise value.with_traceback(tb)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1182, in _execute_context
context)
File "/home/rmi/cms_env/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 470, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.IntegrityError: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (psycopg2.IntegrityError) new row for relation "datasets" violates check constraint "datasets_memory_limit_check1"
DETAIL: Failing row contains (2, 2, Default, t, 3, 1, Communication, [1, "stub", "fifo_io"], GroupMul, [[15, "tiny*"], [35, "medium*"], [50, "big*"]]).
[SQL: 'UPDATE datasets SET memory_limit=%(memory_limit)s WHERE datasets.id = %(datasets_id)s'] [parameters: {'memory_limit': 1, 'datasets_id': 2}]
System Information
CMS version: master Was CMS installed: yes Using a virtualenv: yes Postgres version: 10+190 Distribution and version: Ubuntu 18.04
The text was updated successfully, but these errors were encountered:
This is most likely related to 7bdc1af. Observe that 1073741824 = 1024 × 1024².
While the description mentions master, the backtrace is from 1.4rc1. At the same time, constraint name datasets_memory_limit_check1 implies that there are at least two constraints on memory_limit in the database, while there was only one before 7bdc1af.
It is not fully clear, but something like this might have happened:
Database was initialized by CMS master.
Memory limit for the dataset was set to 1024 MiB.
CMS 1.4rc1 was started without re-initializing the database.
In the old AWS, which assumes memory limits are in MiB, the actual field would display as 1024 × 1024² = 1073741824.
In the old AWS, attempting to set a sensible memory limit (looks like it is 1 MiB in the failing query) would violate the new 7bdc1af constraint that memory limit in bytes must be divisible by 1024².
The solution is to run both new cmsInitDB and new CMS, then it should work.
Closing. Feel free to reopen if you still observe this on master.
Issue template
Description: when trying to set the memory limit, a critical error appears.
Additionally, the memory limit is a very high bogus number, such as 1073741824MB.
Steps to reproduce:
Expected: The memory limit changes
Actual: Critical error shows, memory limit is bogus.
Logs
System Information
CMS version: master
Was CMS installed: yes
Using a virtualenv: yes
Postgres version: 10+190
Distribution and version: Ubuntu 18.04
The text was updated successfully, but these errors were encountered: