Indico building from wrong repo

Hello,

I have the below folder structure in my ubuntu -

image

  • indico directory contains the old indico 3.1 along with my custom developed payment plugin.
  • indico3.2 directory contains the new indico 3.2.3 from git and no payment plugin.

Now while configuring the new indico 3.2.3 I used the same postgres server instance and db at the back that was being used by old indico3.1.

I run indico from inside the new indico3.2.3 directory. However, two wierd things are happening -

  1. The project being actually buiilt is the old indico3.1 repo which has my custom plugin.
  2. The web portal displays indico3.2.3
  3. Errors are being logged into the old indico3.1 log directory.

I’m really confused as to what’s happening here? Which indico instance is being built here? And how is the old instance built if I run the command from within the new 3.2.3 directory? If old instance is picked up, why does it say 3.2.3 on the web page?

It’s all really confusing! Can yall guide me? Thanks!

Hi,
Can you share what commands you are running and from where?
Do you have separate virtual environments for both versions?

I have two different virtual environment directories, indico/env and indico3.2/env. I’m running the indico run -h 127.0.0.1 -q --enable-evalex command from inside the /indico3.2/src directory.

I’m facing the below error when I do pip install indico-3.2.4.dev0.tar.gz -

Processing ./indico-3.2.4.dev0.tar.gz
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [10 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-req-build-9vmek_nd/setup.py", line 59, in <module>
          install_requires=get_requirements('requirements.txt'),
        File "/tmp/pip-req-build-9vmek_nd/setup.py", line 22, in get_requirements
          return read_requirements_file(os.path.join(os.path.dirname(__file__), fname))
        File "/tmp/pip-req-build-9vmek_nd/setup.py", line 17, in read_requirements_file
          with open(fname) as f:
      FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pip-req-build-9vmek_nd/requirements.txt'
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

I have no idea where that .tar.gz is coming from, but indico should be installed from wheels, not sdists.

We even have a build script to create such a python wheel: ./bin/maintenance/build-wheel.py indico --add-version-suffix (the last option can be omitted if you build from a release tag, but generally you should do it so each rebuild has a higher version number than the previous one)

ohh ok. I created the wheel now and pip installed it and ran indico run -h 127.0.0.1 -q --enable-evalex. Now I get below error while accessing the indico portal -

I’ve already started redis and postgres 12 and 13.

* Running on http://127.0.0.1:8000
Press CTRL+C to quit
127.0.0.1 - - [17/May/2023 11:25:40] "GET / HTTP/1.1" 500 -
Traceback (most recent call last):
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/redis/connection.py", line 698, in connect
    sock = self.retry.call_with_retry(
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/redis/retry.py", line 46, in call_with_retry
    return do()
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/redis/connection.py", line 699, in <lambda>
    lambda: self._connect(), lambda error: self.disconnect(error)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/redis/connection.py", line 987, in _connect
    raise err
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/redis/connection.py", line 975, in _connect
    sock.connect(socket_address)
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sentry_sdk/integrations/flask.py", line 88, in sentry_patched_wsgi_app
    return SentryWsgiMiddleware(lambda *a, **kw: old_app(self, *a, **kw))(
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sentry_sdk/integrations/wsgi.py", line 115, in __call__
    reraise(*_capture_exception(hub))
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sentry_sdk/_compat.py", line 60, in reraise
    raise value
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sentry_sdk/integrations/wsgi.py", line 108, in __call__
    rv = self.app(
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sentry_sdk/integrations/flask.py", line 88, in <lambda>
    return SentryWsgiMiddleware(lambda *a, **kw: old_app(self, *a, **kw))(
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/flask/app.py", line 2213, in __call__
    return self.wsgi_app(environ, start_response)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/flask/app.py", line 2193, in wsgi_app
    response = self.handle_exception(e)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/flask/app.py", line 2189, in wsgi_app
    ctx.push()
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/flask/ctx.py", line 377, in push
    self.session = session_interface.open_session(self.app, self.request)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/indico/web/flask/session.py", line 181, in open_session
    data = self.storage.get(sid)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/indico/core/cache.py", line 81, in get
    return self.cache.get(self._scoped(key), default=default)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/indico/core/cache.py", line 134, in get
    return super().get(key, default)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/flask_caching/__init__.py", line 190, in get
    return self.cache.get(*args, **kwargs)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/indico/core/cache.py", line 55, in get
    return CachedNone.unwrap(super().get(key), default)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/cachelib/redis.py", line 72, in get
    return self.serializer.loads(self._read_client.get(self.key_prefix + key))
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/redis/commands/core.py", line 1790, in get
    return self.execute_command("GET", name)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sentry_sdk/integrations/redis.py", line 207, in sentry_patched_execute_command
    return old_execute_command(self, name, *args, **kwargs)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/redis/client.py", line 1255, in execute_command
    conn = self.connection or pool.get_connection(command_name, **options)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/redis/connection.py", line 1442, in get_connection
    connection.connect()
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/redis/connection.py", line 704, in connect
    raise ConnectionError(self._error_message(e))
redis.exceptions.ConnectionError: Error 111 connecting to 127.0.0.1:6379. Connection refused.
--- Logging error ---
Traceback (most recent call last):
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1905, in _execute_context
    self.dialect.do_execute(
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
    cursor.execute(statement, parameters)
psycopg2.errors.UndefinedTable: relation "indico.affiliations" does not exist
LINE 2: ...1.user_id AND emails_1.is_primary LEFT OUTER JOIN indico.aff...
                                                             ^


The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/flask/app.py", line 1484, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/flask/app.py", line 1469, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/indico/web/flask/util.py", line 79, in wrapper
    return obj().process()
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/indico/web/rh.py", line 279, in process
    logger.info('%s %s [IP=%s] [PID=%s]',
  File "/home//.pyenv/versions/3.9.9/lib/python3.9/logging/__init__.py", line 1446, in info
    self._log(INFO, msg, args, **kwargs)
  File "/home//.pyenv/versions/3.9.9/lib/python3.9/logging/__init__.py", line 1589, in _log
    self.handle(record)
  File "/home//.pyenv/versions/3.9.9/lib/python3.9/logging/__init__.py", line 1599, in handle
    self.callHandlers(record)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sentry_sdk/integrations/logging.py", line 96, in sentry_patched_callhandlers
    return old_callhandlers(self, record)
  File "/home//.pyenv/versions/3.9.9/lib/python3.9/logging/__init__.py", line 1661, in callHandlers
    hdlr.handle(record)
  File "/home//.pyenv/versions/3.9.9/lib/python3.9/logging/__init__.py", line 948, in handle
    rv = self.filter(record)
  File "/home//.pyenv/versions/3.9.9/lib/python3.9/logging/__init__.py", line 806, in filter
    result = f.filter(record)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/indico/core/logger.py", line 31, in filter
    user = get_request_user()[0] if has_request_context() else None
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/indico/util/caching.py", line 54, in memoizer
    cache[key] = f(*args, **kwargs)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/indico/web/util.py", line 406, in get_request_user
    user, source = _lookup_request_user(allow_signed_url, oauth_scope_hint)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/indico/web/util.py", line 311, in _lookup_request_user
    session_user = session.get_session_user()
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/indico/web/flask/session.py", line 80, in get_session_user
    return User.get(user_id) if user_id is not None else None
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/indico/core/db/sqlalchemy/util/models.py", line 112, in get
    obj = cls.query.get(oid)
  File "<string>", line 2, in get
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/util/deprecations.py", line 468, in warned
    return fn(*args, **kwargs)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/orm/query.py", line 947, in get
    return self._get_impl(ident, loading.load_on_pk_identity)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/orm/query.py", line 951, in _get_impl
    return self.session._get_impl(
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 2975, in _get_impl
    return db_load_fn(
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/orm/loading.py", line 530, in load_on_pk_identity
    session.execute(
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 1717, in execute
    result = conn._execute_20(statement, params or {}, execution_options)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1710, in _execute_20
    return meth(self, args_10style, kwargs_10style, execution_options)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/sql/elements.py", line 334, in _execute_on_connection
    return connection._execute_clauseelement(
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1577, in _execute_clauseelement
    ret = self._execute_context(
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1948, in _execute_context
    self._handle_dbapi_exception(
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 2129, in _handle_dbapi_exception
    util.raise_(
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/util/compat.py", line 211, in raise_
    raise exception
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1905, in _execute_context
    self.dialect.do_execute(
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedTable) relation "indico.affiliations" does not exist
LINE 2: ...1.user_id AND emails_1.is_primary LEFT OUTER JOIN indico.aff...
                                                             ^

[SQL: SELECT users.users.title AS users_users_title, users.users.id AS users_users_id, users.users.first_name AS users_users_first_name, users.users.last_name AS users_users_last_name, users.users.affiliation AS users_users_affiliation, users.users.affiliation_id AS users_users_affiliation_id, users.users.phone AS users_users_phone, users.users.address AS users_users_address, users.users.merged_into_id AS users_users_merged_into_id, users.users.is_system AS users_users_is_system, users.users.is_admin AS users_users_is_admin, users.users.is_blocked AS users_users_is_blocked, users.users.is_pending AS users_users_is_pending, users.users.is_deleted AS users_users_is_deleted, users.users.signing_secret AS users_users_signing_secret, users.users.picture_metadata AS users_users_picture_metadata, users.users.picture_source AS users_users_picture_source, emails_1.id AS emails_1_id, emails_1.user_id AS emails_1_user_id, emails_1.email AS emails_1_email, emails_1.is_primary AS emails_1_is_primary, emails_1.is_user_deleted AS emails_1_is_user_deleted, affiliations_1.id AS affiliations_1_id, affiliations_1.name AS affiliations_1_name, affiliations_1.is_deleted AS affiliations_1_is_deleted, affiliations_1.street AS affiliations_1_street, affiliations_1.postcode AS affiliations_1_postcode, affiliations_1.city AS affiliations_1_city, affiliations_1.country_code AS affiliations_1_country_code, affiliations_1.meta AS affiliations_1_meta 
FROM users.users LEFT OUTER JOIN users.emails AS emails_1 ON users.users.id = emails_1.user_id AND emails_1.is_primary LEFT OUTER JOIN indico.affiliations AS affiliations_1 ON affiliations_1.id = users.users.affiliation_id 
WHERE users.users.id = %(pk_1)s]
[parameters: {'pk_1': 1}]
(Background on this error at: https://sqlalche.me/e/14/f405)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home//.pyenv/versions/3.9.9/lib/python3.9/logging/handlers.py", line 1043, in emit
    msg['Subject'] = self.getSubject(record)
  File "/home//.pyenv/versions/3.9.9/lib/python3.9/email/message.py", line 409, in __setitem__
    self._headers.append(self.policy.header_store_parse(name, val))
  File "/home//.pyenv/versions/3.9.9/lib/python3.9/email/policy.py", line 146, in header_store_parse
    raise ValueError("Header values may not contain linefeed "
ValueError: Header values may not contain linefeed or carriage return characters
Call stack:
  File "/home//.pyenv/versions/3.9.9/lib/python3.9/threading.py", line 930, in _bootstrap
    self._bootstrap_inner()
  File "/home//.pyenv/versions/3.9.9/lib/python3.9/threading.py", line 973, in _bootstrap_inner
    self.run()
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sentry_sdk/integrations/threading.py", line 67, in run
    return old_run_func(self, *a, **kw)
  File "/home//.pyenv/versions/3.9.9/lib/python3.9/threading.py", line 910, in run
    self._target(*self._args, **self._kwargs)
  File "/home//.pyenv/versions/3.9.9/lib/python3.9/socketserver.py", line 683, in process_request_thread
    self.finish_request(request, client_address)
  File "/home//.pyenv/versions/3.9.9/lib/python3.9/socketserver.py", line 360, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/home//.pyenv/versions/3.9.9/lib/python3.9/socketserver.py", line 747, in __init__
    self.handle()
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/werkzeug/serving.py", line 392, in handle
    super().handle()
  File "/home//.pyenv/versions/3.9.9/lib/python3.9/http/server.py", line 427, in handle
    self.handle_one_request()
  File "/home//.pyenv/versions/3.9.9/lib/python3.9/http/server.py", line 415, in handle_one_request
    method()
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/werkzeug/serving.py", line 364, in run_wsgi
    execute(self.server.app)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/werkzeug/serving.py", line 327, in execute
    for data in application_iter:
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/werkzeug/debug/__init__.py", line 330, in debug_application
    app_iter = self.app(environ, start_response)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/indico/cli/devserver.py", line 208, in __call__
    return self._app(environ, start_response)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sentry_sdk/integrations/flask.py", line 88, in sentry_patched_wsgi_app
    return SentryWsgiMiddleware(lambda *a, **kw: old_app(self, *a, **kw))(
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sentry_sdk/integrations/wsgi.py", line 108, in __call__
    rv = self.app(
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sentry_sdk/integrations/flask.py", line 88, in <lambda>
    return SentryWsgiMiddleware(lambda *a, **kw: old_app(self, *a, **kw))(
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/flask/app.py", line 2213, in __call__
    return self.wsgi_app(environ, start_response)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/flask/app.py", line 2190, in wsgi_app
    response = self.full_dispatch_request()
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/flask/app.py", line 1486, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/flask/app.py", line 1348, in handle_user_exception
    return self.ensure_sync(handler)(e)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/indico/web/flask/errors.py", line 105, in handle_databaseerror
    return handle_exception(exc, _('There was a database error while processing your request.'))
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/indico/web/flask/errors.py", line 110, in handle_exception
    Logger.get('flask').exception(str(exc) or 'Uncaught Exception')
  File "/home//.pyenv/versions/3.9.9/lib/python3.9/logging/__init__.py", line 1481, in exception
    self.error(msg, *args, exc_info=exc_info, **kwargs)
  File "/home//.pyenv/versions/3.9.9/lib/python3.9/logging/__init__.py", line 1475, in error
    self._log(ERROR, msg, args, **kwargs)
  File "/home//.pyenv/versions/3.9.9/lib/python3.9/logging/__init__.py", line 1589, in _log
    self.handle(record)
  File "/home//.pyenv/versions/3.9.9/lib/python3.9/logging/__init__.py", line 1599, in handle
    self.callHandlers(record)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sentry_sdk/integrations/logging.py", line 96, in sentry_patched_callhandlers
    return old_callhandlers(self, record)
Message: '(psycopg2.errors.UndefinedTable) relation "indico.affiliations" does not exist\nLINE 2: ...1.user_id AND emails_1.is_primary LEFT OUTER JOIN indico.aff...\n                                                             ^\n\n[SQL: SELECT users.users.title AS users_users_title, users.users.id AS users_users_id, users.users.first_name AS users_users_first_name, users.users.last_name AS users_users_last_name, users.users.affiliation AS users_users_affiliation, users.users.affiliation_id AS users_users_affiliation_id, users.users.phone AS users_users_phone, users.users.address AS users_users_address, users.users.merged_into_id AS users_users_merged_into_id, users.users.is_system AS users_users_is_system, users.users.is_admin AS users_users_is_admin, users.users.is_blocked AS users_users_is_blocked, users.users.is_pending AS users_users_is_pending, users.users.is_deleted AS users_users_is_deleted, users.users.signing_secret AS users_users_signing_secret, users.users.picture_metadata AS users_users_picture_metadata, users.users.picture_source AS users_users_picture_source, emails_1.id AS emails_1_id, emails_1.user_id AS emails_1_user_id, emails_1.email AS emails_1_email, emails_1.is_primary AS emails_1_is_primary, emails_1.is_user_deleted AS emails_1_is_user_deleted, affiliations_1.id AS affiliations_1_id, affiliations_1.name AS affiliations_1_name, affiliations_1.is_deleted AS affiliations_1_is_deleted, affiliations_1.street AS affiliations_1_street, affiliations_1.postcode AS affiliations_1_postcode, affiliations_1.city AS affiliations_1_city, affiliations_1.country_code AS affiliations_1_country_code, affiliations_1.meta AS affiliations_1_meta \nFROM users.users LEFT OUTER JOIN users.emails AS emails_1 ON users.users.id = emails_1.user_id AND emails_1.is_primary LEFT OUTER JOIN indico.affiliations AS affiliations_1 ON affiliations_1.id = users.users.affiliation_id \nWHERE users.users.id = %(pk_1)s]\n[parameters: {\'pk_1\': 1}]\n(Background on this error at: https://sqlalche.me/e/14/f405)'
Arguments: ()
127.0.0.1 - - [17/May/2023 11:26:17] "GET / HTTP/1.1" 500 -
Traceback (most recent call last):
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1905, in _execute_context
    self.dialect.do_execute(
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
    cursor.execute(statement, parameters)
psycopg2.errors.UndefinedTable: relation "indico.affiliations" does not exist
LINE 2: ...1.user_id AND emails_1.is_primary LEFT OUTER JOIN indico.aff...
                                                             ^


The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sentry_sdk/integrations/flask.py", line 88, in sentry_patched_wsgi_app
    return SentryWsgiMiddleware(lambda *a, **kw: old_app(self, *a, **kw))(
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sentry_sdk/integrations/wsgi.py", line 115, in __call__
    reraise(*_capture_exception(hub))
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sentry_sdk/_compat.py", line 60, in reraise
    raise value
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sentry_sdk/integrations/wsgi.py", line 108, in __call__
    rv = self.app(
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sentry_sdk/integrations/flask.py", line 88, in <lambda>
    return SentryWsgiMiddleware(lambda *a, **kw: old_app(self, *a, **kw))(
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/flask/app.py", line 2213, in __call__
    return self.wsgi_app(environ, start_response)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/flask/app.py", line 2193, in wsgi_app
    response = self.handle_exception(e)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/flask/app.py", line 2190, in wsgi_app
    response = self.full_dispatch_request()
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/flask/app.py", line 1486, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/flask/app.py", line 1348, in handle_user_exception
    return self.ensure_sync(handler)(e)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/indico/web/flask/errors.py", line 105, in handle_databaseerror
    return handle_exception(exc, _('There was a database error while processing your request.'))
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/flask/app.py", line 1484, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/flask/app.py", line 1469, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/indico/web/flask/util.py", line 79, in wrapper
    return obj().process()
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/indico/web/rh.py", line 279, in process
    logger.info('%s %s [IP=%s] [PID=%s]',
  File "/home//.pyenv/versions/3.9.9/lib/python3.9/logging/__init__.py", line 1446, in info
    self._log(INFO, msg, args, **kwargs)
  File "/home//.pyenv/versions/3.9.9/lib/python3.9/logging/__init__.py", line 1589, in _log
    self.handle(record)
  File "/home//.pyenv/versions/3.9.9/lib/python3.9/logging/__init__.py", line 1599, in handle
    self.callHandlers(record)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sentry_sdk/integrations/logging.py", line 96, in sentry_patched_callhandlers
    return old_callhandlers(self, record)
  File "/home//.pyenv/versions/3.9.9/lib/python3.9/logging/__init__.py", line 1661, in callHandlers
    hdlr.handle(record)
  File "/home//.pyenv/versions/3.9.9/lib/python3.9/logging/__init__.py", line 948, in handle
    rv = self.filter(record)
  File "/home//.pyenv/versions/3.9.9/lib/python3.9/logging/__init__.py", line 806, in filter
    result = f.filter(record)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/indico/core/logger.py", line 31, in filter
    user = get_request_user()[0] if has_request_context() else None
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/indico/util/caching.py", line 54, in memoizer
    cache[key] = f(*args, **kwargs)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/indico/web/util.py", line 406, in get_request_user
    user, source = _lookup_request_user(allow_signed_url, oauth_scope_hint)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/indico/web/util.py", line 311, in _lookup_request_user
    session_user = session.get_session_user()
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/indico/web/flask/session.py", line 80, in get_session_user
    return User.get(user_id) if user_id is not None else None
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/indico/core/db/sqlalchemy/util/models.py", line 112, in get
    obj = cls.query.get(oid)
  File "<string>", line 2, in get
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/util/deprecations.py", line 468, in warned
    return fn(*args, **kwargs)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/orm/query.py", line 947, in get
    return self._get_impl(ident, loading.load_on_pk_identity)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/orm/query.py", line 951, in _get_impl
    return self.session._get_impl(
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 2975, in _get_impl
    return db_load_fn(
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/orm/loading.py", line 530, in load_on_pk_identity
    session.execute(
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 1717, in execute
    result = conn._execute_20(statement, params or {}, execution_options)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1710, in _execute_20
    return meth(self, args_10style, kwargs_10style, execution_options)
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/sql/elements.py", line 334, in _execute_on_connection
    return connection._execute_clauseelement(
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1577, in _execute_clauseelement
    ret = self._execute_context(
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1948, in _execute_context
    self._handle_dbapi_exception(
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 2129, in _handle_dbapi_exception
    util.raise_(
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/util/compat.py", line 211, in raise_
    raise exception
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1905, in _execute_context
    self.dialect.do_execute(
  File "/home//dev/indico3.2/env/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedTable) relation "indico.affiliations" does not exist
LINE 2: ...1.user_id AND emails_1.is_primary LEFT OUTER JOIN indico.aff...
                                                             ^

[SQL: SELECT users.users.title AS users_users_title, users.users.id AS users_users_id, users.users.first_name AS users_users_first_name, users.users.last_name AS users_users_last_name, users.users.affiliation AS users_users_affiliation, users.users.affiliation_id AS users_users_affiliation_id, users.users.phone AS users_users_phone, users.users.address AS users_users_address, users.users.merged_into_id AS users_users_merged_into_id, users.users.is_system AS users_users_is_system, users.users.is_admin AS users_users_is_admin, users.users.is_blocked AS users_users_is_blocked, users.users.is_pending AS users_users_is_pending, users.users.is_deleted AS users_users_is_deleted, users.users.signing_secret AS users_users_signing_secret, users.users.picture_metadata AS users_users_picture_metadata, users.users.picture_source AS users_users_picture_source, emails_1.id AS emails_1_id, emails_1.user_id AS emails_1_user_id, emails_1.email AS emails_1_email, emails_1.is_primary AS emails_1_is_primary, emails_1.is_user_deleted AS emails_1_is_user_deleted, affiliations_1.id AS affiliations_1_id, affiliations_1.name AS affiliations_1_name, affiliations_1.is_deleted AS affiliations_1_is_deleted, affiliations_1.street AS affiliations_1_street, affiliations_1.postcode AS affiliations_1_postcode, affiliations_1.city AS affiliations_1_city, affiliations_1.country_code AS affiliations_1_country_code, affiliations_1.meta AS affiliations_1_meta 
FROM users.users LEFT OUTER JOIN users.emails AS emails_1 ON users.users.id = emails_1.user_id AND emails_1.is_primary LEFT OUTER JOIN indico.affiliations AS affiliations_1 ON affiliations_1.id = users.users.affiliation_id 
WHERE users.users.id = %(pk_1)s]
[parameters: {'pk_1': 1}]
(Background on this error at: https://sqlalche.me/e/14/f405)

Are you sure redis is running and accessible? Do you have the correct REDIS_CACHE_URL in your config?

Btw, did you run the migrations when moving to 3.2? Judging by the errors in the output (indico.affiliations table missing) it seems not :thinking:

redis-cli command gives - 127.0.0.1:6379>

indico.conf has following -

CELERY_BROKER = 'redis://127.0.0.1:6379/0'
REDIS_CACHE_URL = 'redis://127.0.0.1:6379/1'

I’m now sure about migrations. Why and how do I run the migrations? I installed a fresh copy of indico from github to avoid migrating from 3.1 and starting afresh.

indico db upgrade. It applies DB structure changes between your old DB (from 3.1) and your new (3.2) DB.

Thanks, finally got it to work after indico db upgrade

How do I build the changes using this script? It’s giving me this error -

(env) ~/dev/indico3.2/src$ ./bin/maintenance/build-wheel.py indico --add-version-suffix
Error: working tree is not clean
./bin/maintenance/build-wheel.py indico --add-version-suffix
Error: working tree is not clean
 indico/modules/events/payment/plugins.py | 6 +++++-
 indico/web/rh.py                         | 5 +++++
 2 files changed, 10 insertions(+), 1 deletion(-)

You are supposed to commit your changes. Or pass --allow-unclean to skip this check (not sure about the exact name of the argument, but --help will tell you).