pacu icon indicating copy to clipboard operation
pacu copied to clipboard

Running `pacu --list-modules` initializes the sqlitedb as an empty file

Open ken5scal opened this issue 3 years ago • 6 comments

Newly installed pacu failed to initiate its functionality. Let me know what can I do to fix this

my environment

% uname -a
Darwin my machine name 20.6.0 Darwin Kernel Version 20.6.0: Wed Jun 23 00:26:31 PDT 2021; root:xnu-7195.141.2~5/RELEASE_X86_64 x86_64

logs

% pip3 install -U pip
% pip3 install -U pacu
% pacu

Error while saving exception information. This means the exception was not added to any error log and should most likely be provided to the developers.
    Exception raised: (sqlite3.OperationalError) no such table: pacu_session
[SQL: SELECT pacu_session.id AS pacu_session_id, pacu_session.created AS pacu_session_created, pacu_session.is_active AS pacu_session_is_active, pacu_session.name AS pacu_session_name, pacu_session.boto_user_agent AS pacu_session_boto_user_agent, pacu_session.key_alias AS pacu_session_key_alias, pacu_session.access_key_id AS pacu_session_access_key_id, pacu_session.secret_access_key AS pacu_session_secret_access_key, pacu_session.session_token AS pacu_session_session_token, pacu_session.session_regions AS pacu_session_session_regions, pacu_session."APIGateway" AS "pacu_session_APIGateway", pacu_session."CloudTrail" AS "pacu_session_CloudTrail", pacu_session."CloudWatch" AS "pacu_session_CloudWatch", pacu_session."CodeBuild" AS "pacu_session_CodeBuild", pacu_session."Config" AS "pacu_session_Config", pacu_session."DataPipeline" AS "pacu_session_DataPipeline", pacu_session."DynamoDB" AS "pacu_session_DynamoDB", pacu_session."EC2" AS "pacu_session_EC2", pacu_session."ECS" AS "pacu_session_ECS", pacu_session."Glue" AS "pacu_session_Glue", pacu_session."GuardDuty" AS "pacu_session_GuardDuty", pacu_session."IAM" AS "pacu_session_IAM", pacu_session."Inspector" AS "pacu_session_Inspector", pacu_session."Lambda" AS "pacu_session_Lambda", pacu_session."Lightsail" AS "pacu_session_Lightsail", pacu_session."S3" AS "pacu_session_S3", pacu_session."SecretsManager" AS "pacu_session_SecretsManager", pacu_session."SSM" AS "pacu_session_SSM", pacu_session."Shield" AS "pacu_session_Shield", pacu_session."VPC" AS "pacu_session_VPC", pacu_session."WAF" AS "pacu_session_WAF", pacu_session."WAFRegional" AS "pacu_session_WAFRegional", pacu_session."Account" AS "pacu_session_Account", pacu_session."AccountSpend" AS "pacu_session_AccountSpend", pacu_session."Route53" AS "pacu_session_Route53", pacu_session."RDS" AS "pacu_session_RDS"
FROM pacu_session
WHERE pacu_session.is_active = 1]
(Background on this error at: http://sqlalche.me/e/13/e3q8)
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1276, in _execute_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 608, in do_execute
    cursor.execute(statement, parameters)
sqlite3.OperationalError: no such table: pacu_session

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

Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/pacu/main.py", line 1706, in run_gui
    self.check_sessions()
  File "/usr/local/lib/python3.9/site-packages/pacu/main.py", line 1307, in check_sessions
    sessions = self.database.query(PacuSession).all()
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/query.py", line 3373, in all
    return list(self)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/query.py", line 3535, in __iter__
    return self._execute_and_instances(context)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/query.py", line 3560, in _execute_and_instances
    result = conn.execute(querycontext.statement, self._params)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1011, in execute
    return meth(self, multiparams, params)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/sql/elements.py", line 298, in _execute_on_connection
    return connection._execute_clauseelement(self, multiparams, params)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1124, in _execute_clauseelement
    ret = self._execute_context(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1316, in _execute_context
    self._handle_dbapi_exception(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1510, in _handle_dbapi_exception
    util.raise_(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/compat.py", line 182, in raise_
    raise exception
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1276, in _execute_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 608, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: pacu_session
[SQL: SELECT pacu_session.id AS pacu_session_id, pacu_session.created AS pacu_session_created, pacu_session.is_active AS pacu_session_is_active, pacu_session.name AS pacu_session_name, pacu_session.boto_user_agent AS pacu_session_boto_user_agent, pacu_session.key_alias AS pacu_session_key_alias, pacu_session.access_key_id AS pacu_session_access_key_id, pacu_session.secret_access_key AS pacu_session_secret_access_key, pacu_session.session_token AS pacu_session_session_token, pacu_session.session_regions AS pacu_session_session_regions, pacu_session."APIGateway" AS "pacu_session_APIGateway", pacu_session."CloudTrail" AS "pacu_session_CloudTrail", pacu_session."CloudWatch" AS "pacu_session_CloudWatch", pacu_session."CodeBuild" AS "pacu_session_CodeBuild", pacu_session."Config" AS "pacu_session_Config", pacu_session."DataPipeline" AS "pacu_session_DataPipeline", pacu_session."DynamoDB" AS "pacu_session_DynamoDB", pacu_session."EC2" AS "pacu_session_EC2", pacu_session."ECS" AS "pacu_session_ECS", pacu_session."Glue" AS "pacu_session_Glue", pacu_session."GuardDuty" AS "pacu_session_GuardDuty", pacu_session."IAM" AS "pacu_session_IAM", pacu_session."Inspector" AS "pacu_session_Inspector", pacu_session."Lambda" AS "pacu_session_Lambda", pacu_session."Lightsail" AS "pacu_session_Lightsail", pacu_session."S3" AS "pacu_session_S3", pacu_session."SecretsManager" AS "pacu_session_SecretsManager", pacu_session."SSM" AS "pacu_session_SSM", pacu_session."Shield" AS "pacu_session_Shield", pacu_session."VPC" AS "pacu_session_VPC", pacu_session."WAF" AS "pacu_session_WAF", pacu_session."WAFRegional" AS "pacu_session_WAFRegional", pacu_session."Account" AS "pacu_session_Account", pacu_session."AccountSpend" AS "pacu_session_AccountSpend", pacu_session."Route53" AS "pacu_session_Route53", pacu_session."RDS" AS "pacu_session_RDS"
FROM pacu_session]
(Background on this error at: http://sqlalche.me/e/13/e3q8)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1276, in _execute_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 608, in do_execute
    cursor.execute(statement, parameters)
sqlite3.OperationalError: no such table: pacu_session

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

Traceback (most recent call last):
  File "/usr/local/bin/pacu", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.9/site-packages/pacu/__main__.py", line 10, in main
    pacu.Main().run()
  File "/usr/local/lib/python3.9/site-packages/pacu/main.py", line 1796, in run
    self.run_gui()
  File "/usr/local/lib/python3.9/site-packages/pacu/main.py", line 1746, in run_gui
    self.log_error(
  File "/usr/local/lib/python3.9/site-packages/pacu/main.py", line 203, in log_error
    log_file_path = '{}/global_error_log.txt'.format(session_dir())
  File "/usr/local/lib/python3.9/site-packages/pacu/core/lib.py", line 34, in session_dir
    p = (home_dir()/cast(Callable, get_active_session)().name).absolute()
  File "/usr/local/lib/python3.9/site-packages/pacu/main.py", line 587, in get_active_session
    return PacuSession.get_active_session(self.database)
  File "/usr/local/lib/python3.9/site-packages/pacu/core/models.py", line 149, in get_active_session
    return database.query(PacuSession).filter(PacuSession.is_active == True).scalar()  # noqa: E712
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/query.py", line 3523, in scalar
    ret = self.one()
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/query.py", line 3490, in one
    ret = self.one_or_none()
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/query.py", line 3459, in one_or_none
    ret = list(self)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/query.py", line 3535, in __iter__
    return self._execute_and_instances(context)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/query.py", line 3560, in _execute_and_instances
    result = conn.execute(querycontext.statement, self._params)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1011, in execute
    return meth(self, multiparams, params)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/sql/elements.py", line 298, in _execute_on_connection
    return connection._execute_clauseelement(self, multiparams, params)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1124, in _execute_clauseelement
    ret = self._execute_context(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1316, in _execute_context
    self._handle_dbapi_exception(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1510, in _handle_dbapi_exception
    util.raise_(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/compat.py", line 182, in raise_
    raise exception
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1276, in _execute_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 608, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: pacu_session
[SQL: SELECT pacu_session.id AS pacu_session_id, pacu_session.created AS pacu_session_created, pacu_session.is_active AS pacu_session_is_active, pacu_session.name AS pacu_session_name, pacu_session.boto_user_agent AS pacu_session_boto_user_agent, pacu_session.key_alias AS pacu_session_key_alias, pacu_session.access_key_id AS pacu_session_access_key_id, pacu_session.secret_access_key AS pacu_session_secret_access_key, pacu_session.session_token AS pacu_session_session_token, pacu_session.session_regions AS pacu_session_session_regions, pacu_session."APIGateway" AS "pacu_session_APIGateway", pacu_session."CloudTrail" AS "pacu_session_CloudTrail", pacu_session."CloudWatch" AS "pacu_session_CloudWatch", pacu_session."CodeBuild" AS "pacu_session_CodeBuild", pacu_session."Config" AS "pacu_session_Config", pacu_session."DataPipeline" AS "pacu_session_DataPipeline", pacu_session."DynamoDB" AS "pacu_session_DynamoDB", pacu_session."EC2" AS "pacu_session_EC2", pacu_session."ECS" AS "pacu_session_ECS", pacu_session."Glue" AS "pacu_session_Glue", pacu_session."GuardDuty" AS "pacu_session_GuardDuty", pacu_session."IAM" AS "pacu_session_IAM", pacu_session."Inspector" AS "pacu_session_Inspector", pacu_session."Lambda" AS "pacu_session_Lambda", pacu_session."Lightsail" AS "pacu_session_Lightsail", pacu_session."S3" AS "pacu_session_S3", pacu_session."SecretsManager" AS "pacu_session_SecretsManager", pacu_session."SSM" AS "pacu_session_SSM", pacu_session."Shield" AS "pacu_session_Shield", pacu_session."VPC" AS "pacu_session_VPC", pacu_session."WAF" AS "pacu_session_WAF", pacu_session."WAFRegional" AS "pacu_session_WAFRegional", pacu_session."Account" AS "pacu_session_Account", pacu_session."AccountSpend" AS "pacu_session_AccountSpend", pacu_session."Route53" AS "pacu_session_Route53", pacu_session."RDS" AS "pacu_session_RDS"
FROM pacu_session
WHERE pacu_session.is_active = 1]
(Background on this error at: http://sqlalche.me/e/13/e3q8)

ken5scal avatar Aug 09 '21 13:08 ken5scal

Thanks for reporting this. I'm not quite sure why this would happen, but we'll take a look into it.

In the mean time do you mind installing from master and let us know if that changes anything?

RyanJarv avatar Aug 09 '21 16:08 RyanJarv

I'd also be curious if renaming the db in ~/.local/share/pacu/ and retrying makes any difference, if your able to try that.

RyanJarv avatar Aug 09 '21 16:08 RyanJarv

Thanks

Executing pacu checked out from the master branch didn't help

[kengo.suzuki@C02C72RZMD6T] ~/workspace/pacu
% sudo ./cli.py                                                                                                                          (git)-[master]
Password:

 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣶⣿⣿⣿⣿⣿⣿⣶⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⡿⠛⠉⠁⠀⠀⠈⠙⠻⣿⣿⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠛⠛⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣷⣀⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀
 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣤⣤⣤⣤⣤⣤⣤⣤⣀⣀⠀⠀⠀⠀⠀⠀⢻⣿⣿⣿⡿⣿⣿⣷⣦⠀⠀⠀⠀⠀⠀⠀
 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣈⣉⣙⣛⣿⣿⣿⣿⣿⣿⣿⣿⡟⠛⠿⢿⣿⣷⣦⣄⠀⠀⠈⠛⠋⠀⠀⠀⠈⠻⣿⣷⠀⠀⠀⠀⠀⠀
 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣈⣉⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣀⣀⣀⣤⣿⣿⣿⣷⣦⡀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣆⠀⠀⠀⠀⠀
 ⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣬⣭⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⢛⣉⣉⣡⣄⠀⠀⠀⠀⠀⠀⠀⠀⠻⢿⣿⣿⣶⣄⠀⠀
 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠋⣁⣤⣶⡿⣿⣿⠉⠻⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢻⣿⣧⡀
 ⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠋⣠⣶⣿⡟⠻⣿⠃⠈⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣧
 ⢀⣀⣤⣴⣶⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁⢠⣾⣿⠉⠻⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿
 ⠉⠛⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⠀⠀⠀⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⡟
 ⠀⠀⠀⠀⠉⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡟⠁
 ⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣄⡀⠀⠀⠀⠀⠀⣴⣆⢀⣴⣆⠀⣼⣆⠀⠀⣶⣶⣶⣶⣶⣶⣶⣶⣾⣿⣿⠿⠋⠀⠀
 ⠀⠀⠀⣼⣿⣿⣿⠿⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠓⠒⠒⠚⠛⠛⠛⠛⠛⠛⠛⠛⠀⠀⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀
 ⠀⠀⠀⣿⣿⠟⠁⠀⢸⣿⣿⣿⣿⣿⣿⣿⣶⡀⠀⢠⣾⣿⣿⣿⣿⣿⣿⣷⡄⠀⢀⣾⣿⣿⣿⣿⣿⣿⣷⣆⠀⢰⣿⣿⣿⠀⠀⠀⣿⣿⣿
 ⠀⠀⠀⠘⠁⠀⠀⠀⢸⣿⣿⡿⠛⠛⢻⣿⣿⡇⠀⢸⣿⣿⡿⠛⠛⢿⣿⣿⡇⠀⢸⣿⣿⡿⠛⠛⢻⣿⣿⣿⠀⢸⣿⣿⣿⠀⠀⠀⣿⣿⣿
 ⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡇⠀⠀⢸⣿⣿⡇⠀⢸⣿⣿⡇⠀⠀⢸⣿⣿⡇⠀⢸⣿⣿⡇⠀⠀⠸⠿⠿⠟⠀⢸⣿⣿⣿⠀⠀⠀⣿⣿⣿
 ⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡇⠀⠀⢸⣿⣿⡇⠀⢸⣿⣿⡇⠀⠀⢸⣿⣿⡇⠀⢸⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠀⠀⠀⣿⣿⣿
 ⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣧⣤⣤⣼⣿⣿⡇⠀⢸⣿⣿⣧⣤⣤⣼⣿⣿⡇⠀⢸⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠀⠀⠀⣿⣿⣿
 ⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⡿⠃⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⢸⣿⣿⡇⠀⠀⢀⣀⣀⣀⠀⢸⣿⣿⣿⠀⠀⠀⣿⣿⣿
 ⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡏⠉⠉⠉⠉⠀⠀⠀⢸⣿⣿⡏⠉⠉⢹⣿⣿⡇⠀⢸⣿⣿⣇⣀⣀⣸⣿⣿⣿⠀⢸⣿⣿⣿⣀⣀⣀⣿⣿⣿
 ⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡇⠀⠀⢸⣿⣿⡇⠀⠸⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⡟
 ⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⠛⠃⠀⠀⠀⠀⠀⠀⠀⠘⠛⠛⠃⠀⠀⠘⠛⠛⠃⠀⠀⠉⠛⠛⠛⠛⠛⠛⠋⠀⠀⠀⠀⠙⠛⠛⠛⠛⠛⠉⠀

Error while saving exception information. This means the exception was not added to any error log and should most likely be provided to the developers.
    Exception raised: (sqlite3.OperationalError) no such table: pacu_session
[SQL: SELECT pacu_session.id AS pacu_session_id, pacu_session.created AS pacu_session_created, pacu_session.is_active AS pacu_session_is_active, pacu_session.name AS pacu_session_name, pacu_session.boto_user_agent AS pacu_session_boto_user_agent, pacu_session.key_alias AS pacu_session_key_alias, pacu_session.access_key_id AS pacu_session_access_key_id, pacu_session.secret_access_key AS pacu_session_secret_access_key, pacu_session.session_token AS pacu_session_session_token, pacu_session.session_regions AS pacu_session_session_regions, pacu_session."APIGateway" AS "pacu_session_APIGateway", pacu_session."CloudTrail" AS "pacu_session_CloudTrail", pacu_session."CloudWatch" AS "pacu_session_CloudWatch", pacu_session."CodeBuild" AS "pacu_session_CodeBuild", pacu_session."Config" AS "pacu_session_Config", pacu_session."DataPipeline" AS "pacu_session_DataPipeline", pacu_session."DynamoDB" AS "pacu_session_DynamoDB", pacu_session."EC2" AS "pacu_session_EC2", pacu_session."ECS" AS "pacu_session_ECS", pacu_session."EKS" AS "pacu_session_EKS", pacu_session."Glue" AS "pacu_session_Glue", pacu_session."GuardDuty" AS "pacu_session_GuardDuty", pacu_session."IAM" AS "pacu_session_IAM", pacu_session."Inspector" AS "pacu_session_Inspector", pacu_session."Lambda" AS "pacu_session_Lambda", pacu_session."Lightsail" AS "pacu_session_Lightsail", pacu_session."S3" AS "pacu_session_S3", pacu_session."SecretsManager" AS "pacu_session_SecretsManager", pacu_session."SSM" AS "pacu_session_SSM", pacu_session."Shield" AS "pacu_session_Shield", pacu_session."VPC" AS "pacu_session_VPC", pacu_session."WAF" AS "pacu_session_WAF", pacu_session."WAFRegional" AS "pacu_session_WAFRegional", pacu_session."Account" AS "pacu_session_Account", pacu_session."AccountSpend" AS "pacu_session_AccountSpend", pacu_session."Route53" AS "pacu_session_Route53", pacu_session."RDS" AS "pacu_session_RDS", pacu_session."Transfer" AS "pacu_session_Transfer"
FROM pacu_session
WHERE pacu_session.is_active = 1]
(Background on this error at: http://sqlalche.me/e/13/e3q8)
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1276, in _execute_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 608, in do_execute
    cursor.execute(statement, parameters)
sqlite3.OperationalError: no such table: pacu_session

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

Traceback (most recent call last):
  File "/Users/kengo.suzuki/workspace/pacu/pacu/main.py", line 1722, in run_gui
    migrations(self.database)
  File "/Users/kengo.suzuki/workspace/pacu/pacu/core/models.py", line 237, in migrations
    database.execute('ALTER TABLE %s ADD COLUMN %s %s DEFAULT "{}" NOT NULL' % (PacuSession.__tablename__, svc, column_type))
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 1295, in execute
    return self._connection_for_bind(bind, close_with_result=True).execute(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1011, in execute
    return meth(self, multiparams, params)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/sql/elements.py", line 298, in _execute_on_connection
    return connection._execute_clauseelement(self, multiparams, params)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1124, in _execute_clauseelement
    ret = self._execute_context(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1316, in _execute_context
    self._handle_dbapi_exception(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1510, in _handle_dbapi_exception
    util.raise_(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/compat.py", line 182, in raise_
    raise exception
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1276, in _execute_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 608, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: pacu_session
[SQL: ALTER TABLE pacu_session ADD COLUMN APIGateway TEXT DEFAULT "{}" NOT NULL]
(Background on this error at: http://sqlalche.me/e/13/e3q8)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1276, in _execute_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 608, in do_execute
    cursor.execute(statement, parameters)
sqlite3.OperationalError: no such table: pacu_session

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

Traceback (most recent call last):
  File "/Users/kengo.suzuki/workspace/pacu/./cli.py", line 15, in <module>
    sys.exit(main())
  File "/Users/kengo.suzuki/workspace/pacu/./cli.py", line 11, in main
    pacu.Main().run()
  File "/Users/kengo.suzuki/workspace/pacu/pacu/main.py", line 1814, in run
    self.run_gui()
  File "/Users/kengo.suzuki/workspace/pacu/pacu/main.py", line 1764, in run_gui
    self.log_error(
  File "/Users/kengo.suzuki/workspace/pacu/pacu/main.py", line 203, in log_error
    log_file_path = '{}/global_error_log.txt'.format(session_dir())
  File "/Users/kengo.suzuki/workspace/pacu/pacu/core/lib.py", line 34, in session_dir
    p = (home_dir()/cast(Callable, get_active_session)().name).absolute()
  File "/Users/kengo.suzuki/workspace/pacu/pacu/main.py", line 587, in get_active_session
    return PacuSession.get_active_session(self.database)
  File "/Users/kengo.suzuki/workspace/pacu/pacu/core/models.py", line 154, in get_active_session
    return database.query(PacuSession).filter(PacuSession.is_active == True).scalar()  # noqa: E712
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/query.py", line 3523, in scalar
    ret = self.one()
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/query.py", line 3490, in one
    ret = self.one_or_none()
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/query.py", line 3459, in one_or_none
    ret = list(self)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/query.py", line 3535, in __iter__
    return self._execute_and_instances(context)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/query.py", line 3560, in _execute_and_instances
    result = conn.execute(querycontext.statement, self._params)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1011, in execute
    return meth(self, multiparams, params)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/sql/elements.py", line 298, in _execute_on_connection
    return connection._execute_clauseelement(self, multiparams, params)
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1124, in _execute_clauseelement
    ret = self._execute_context(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1316, in _execute_context
    self._handle_dbapi_exception(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1510, in _handle_dbapi_exception
    util.raise_(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/compat.py", line 182, in raise_
    raise exception
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1276, in _execute_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 608, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: pacu_session
[SQL: SELECT pacu_session.id AS pacu_session_id, pacu_session.created AS pacu_session_created, pacu_session.is_active AS pacu_session_is_active, pacu_session.name AS pacu_session_name, pacu_session.boto_user_agent AS pacu_session_boto_user_agent, pacu_session.key_alias AS pacu_session_key_alias, pacu_session.access_key_id AS pacu_session_access_key_id, pacu_session.secret_access_key AS pacu_session_secret_access_key, pacu_session.session_token AS pacu_session_session_token, pacu_session.session_regions AS pacu_session_session_regions, pacu_session."APIGateway" AS "pacu_session_APIGateway", pacu_session."CloudTrail" AS "pacu_session_CloudTrail", pacu_session."CloudWatch" AS "pacu_session_CloudWatch", pacu_session."CodeBuild" AS "pacu_session_CodeBuild", pacu_session."Config" AS "pacu_session_Config", pacu_session."DataPipeline" AS "pacu_session_DataPipeline", pacu_session."DynamoDB" AS "pacu_session_DynamoDB", pacu_session."EC2" AS "pacu_session_EC2", pacu_session."ECS" AS "pacu_session_ECS", pacu_session."EKS" AS "pacu_session_EKS", pacu_session."Glue" AS "pacu_session_Glue", pacu_session."GuardDuty" AS "pacu_session_GuardDuty", pacu_session."IAM" AS "pacu_session_IAM", pacu_session."Inspector" AS "pacu_session_Inspector", pacu_session."Lambda" AS "pacu_session_Lambda", pacu_session."Lightsail" AS "pacu_session_Lightsail", pacu_session."S3" AS "pacu_session_S3", pacu_session."SecretsManager" AS "pacu_session_SecretsManager", pacu_session."SSM" AS "pacu_session_SSM", pacu_session."Shield" AS "pacu_session_Shield", pacu_session."VPC" AS "pacu_session_VPC", pacu_session."WAF" AS "pacu_session_WAF", pacu_session."WAFRegional" AS "pacu_session_WAFRegional", pacu_session."Account" AS "pacu_session_Account", pacu_session."AccountSpend" AS "pacu_session_AccountSpend", pacu_session."Route53" AS "pacu_session_Route53", pacu_session."RDS" AS "pacu_session_RDS", pacu_session."Transfer" AS "pacu_session_Transfer"
FROM pacu_session
WHERE pacu_session.is_active = 1]
(Background on this error at: http://sqlalche.me/e/13/e3q8)

ken5scal avatar Aug 13 '21 19:08 ken5scal

oh wait actually, renaming db helped! Thanks!

[kengo.suzuki@C02C72RZMD6T] ~/workspace/pacu
% mv ~/.local/share/pacu/ /tmp                                                                                                           (git)-[master]
[kengo.suzuki@C02C72RZMD6T] ~/workspace/pacu
% ll ~/.local/share/powershell/                                                                                                          (git)-[master]
[kengo.suzuki@C02C72RZMD6T] ~/workspace/pacu
% sudo ./cli.py                                                                                                                          (git)-[master]

 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣶⣿⣿⣿⣿⣿⣿⣶⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⡿⠛⠉⠁⠀⠀⠈⠙⠻⣿⣿⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠛⠛⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣷⣀⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀
 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣤⣤⣤⣤⣤⣤⣤⣤⣀⣀⠀⠀⠀⠀⠀⠀⢻⣿⣿⣿⡿⣿⣿⣷⣦⠀⠀⠀⠀⠀⠀⠀
 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣈⣉⣙⣛⣿⣿⣿⣿⣿⣿⣿⣿⡟⠛⠿⢿⣿⣷⣦⣄⠀⠀⠈⠛⠋⠀⠀⠀⠈⠻⣿⣷⠀⠀⠀⠀⠀⠀
 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣈⣉⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣀⣀⣀⣤⣿⣿⣿⣷⣦⡀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣆⠀⠀⠀⠀⠀
 ⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣬⣭⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⢛⣉⣉⣡⣄⠀⠀⠀⠀⠀⠀⠀⠀⠻⢿⣿⣿⣶⣄⠀⠀
 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠋⣁⣤⣶⡿⣿⣿⠉⠻⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢻⣿⣧⡀
 ⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠋⣠⣶⣿⡟⠻⣿⠃⠈⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣧
 ⢀⣀⣤⣴⣶⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁⢠⣾⣿⠉⠻⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿
 ⠉⠛⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⠀⠀⠀⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⡟
 ⠀⠀⠀⠀⠉⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⡟⠁
 ⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣄⡀⠀⠀⠀⠀⠀⣴⣆⢀⣴⣆⠀⣼⣆⠀⠀⣶⣶⣶⣶⣶⣶⣶⣶⣾⣿⣿⠿⠋⠀⠀
 ⠀⠀⠀⣼⣿⣿⣿⠿⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠓⠒⠒⠚⠛⠛⠛⠛⠛⠛⠛⠛⠀⠀⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀
 ⠀⠀⠀⣿⣿⠟⠁⠀⢸⣿⣿⣿⣿⣿⣿⣿⣶⡀⠀⢠⣾⣿⣿⣿⣿⣿⣿⣷⡄⠀⢀⣾⣿⣿⣿⣿⣿⣿⣷⣆⠀⢰⣿⣿⣿⠀⠀⠀⣿⣿⣿
 ⠀⠀⠀⠘⠁⠀⠀⠀⢸⣿⣿⡿⠛⠛⢻⣿⣿⡇⠀⢸⣿⣿⡿⠛⠛⢿⣿⣿⡇⠀⢸⣿⣿⡿⠛⠛⢻⣿⣿⣿⠀⢸⣿⣿⣿⠀⠀⠀⣿⣿⣿
 ⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡇⠀⠀⢸⣿⣿⡇⠀⢸⣿⣿⡇⠀⠀⢸⣿⣿⡇⠀⢸⣿⣿⡇⠀⠀⠸⠿⠿⠟⠀⢸⣿⣿⣿⠀⠀⠀⣿⣿⣿
 ⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡇⠀⠀⢸⣿⣿⡇⠀⢸⣿⣿⡇⠀⠀⢸⣿⣿⡇⠀⢸⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠀⠀⠀⣿⣿⣿
 ⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣧⣤⣤⣼⣿⣿⡇⠀⢸⣿⣿⣧⣤⣤⣼⣿⣿⡇⠀⢸⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠀⠀⠀⣿⣿⣿
 ⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⡿⠃⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⢸⣿⣿⡇⠀⠀⢀⣀⣀⣀⠀⢸⣿⣿⣿⠀⠀⠀⣿⣿⣿
 ⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡏⠉⠉⠉⠉⠀⠀⠀⢸⣿⣿⡏⠉⠉⢹⣿⣿⡇⠀⢸⣿⣿⣇⣀⣀⣸⣿⣿⣿⠀⢸⣿⣿⣿⣀⣀⣀⣿⣿⣿
 ⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡇⠀⠀⢸⣿⣿⡇⠀⠸⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⡟
 ⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⠛⠃⠀⠀⠀⠀⠀⠀⠀⠘⠛⠛⠃⠀⠀⠘⠛⠛⠃⠀⠀⠉⠛⠛⠛⠛⠛⠛⠋⠀⠀⠀⠀⠙⠛⠛⠛⠛⠛⠉⠀

No database found at /Users/kengo.suzuki/.local/share/pacu/sqlite.db
Database created at /Users/kengo.suzuki/.local/share/pacu/sqlite.db

What would you like to name this new session? test

ken5scal avatar Aug 13 '21 19:08 ken5scal

It happened to me because the first I ran was pacu --list-modules and so tried to list modules while there is no database. But by doing so it created a 0 byte database at ~/.local/share/pacu/sqlite.db and after that running pacu fails because the db is empty. So to avoid that the fist command to be run need to be pacu so that the db is created and populated if no existing.

actually all pacu commands and sub-commands should call teh same check as the root pacu command to see if the db exists.

noraj avatar Nov 15 '21 13:11 noraj

Reopening this to investigate the pacu --list-modules command mentioned in the last comment.

RyanJarv avatar Dec 10 '21 17:12 RyanJarv