Good day,
I keep getting an error “Something went wrong” splash screen.
Is there some that might have experienced the same issue with Postgresql:
The above exception was the direct cause of the following exception:
daemon.txt:
Traceback (most recent call last):
File “/usr/lib/python3/dist-packages/kolibri/core/tasks/worker.py”, line 71, in handle_finished_future
result = future.result()
File “/usr/lib/python3.5/concurrent/futures/_base.py”, line 398, in result
return self.__get_result()
File “/usr/lib/python3.5/concurrent/futures/_base.py”, line 357, in __get_result
raise self._exception
File “/usr/lib/python3.5/concurrent/futures/thread.py”, line 55, in run
result = self.fn(*self.args, **self.kwargs)
File “/usr/lib/python3/dist-packages/kolibri/core/tasks/worker.py”, line 216, in wrap
return f(*args, **kwargs)
File “/usr/lib/python3/dist-packages/kolibri/core/tasks/job.py”, line 178, in y
result = func(*args, **kwargs)
File “/usr/lib/python3/dist-packages/kolibri/dist/django/core/management/init.py”, line 131, in call_command
return command.execute(*args, **defaults)
File “/usr/lib/python3/dist-packages/kolibri/dist/django/core/management/base.py”, line 330, in execute
output = self.handle(*args, **options)
File “/usr/lib/python3/dist-packages/kolibri/core/tasks/management/commands/base.py”, line 110, in handle
return self.handle_async(*args, **options)
File “/usr/lib/python3/dist-packages/kolibri/core/content/management/commands/importchannel.py”, line 213, in handle_async
options[“channel_id”], options[“baseurl”], options[“no_upgrade”]
File “/usr/lib/python3/dist-packages/kolibri/core/content/management/commands/importchannel.py”, line 97, in download_channel
self._transfer(DOWNLOAD_METHOD, channel_id, baseurl, no_upgrade=no_upgrade)
File “/usr/lib/python3/dist-packages/kolibri/core/content/management/commands/importchannel.py”, line 134, in _transfer
filetransfer, channel_id, dest, no_upgrade=no_upgrade
File “/usr/lib/python3/dist-packages/kolibri/core/content/management/commands/importchannel.py”, line 199, in _start_file_transfer
retry_import(e, skip_404=False)
File “/usr/lib/python3/dist-packages/kolibri/core/content/utils/import_export_content.py”, line 159, in retry_import
raise e
File “/usr/lib/python3/dist-packages/kolibri/core/content/management/commands/importchannel.py”, line 181, in _start_file_transfer
channel_id, self.is_cancelled
File “/usr/lib/python3/dist-packages/kolibri/core/content/management/commands/importchannel.py”, line 30, in import_channel_by_id
channel_id, cancel_check=cancel_check
File “/usr/lib/python3/dist-packages/kolibri/core/content/utils/channel_import.py”, line 800, in import_channel_from_local_db
import_ran = import_manager.import_channel_data()
File “/usr/lib/python3/dist-packages/kolibri/core/content/utils/channel_import.py”, line 622, in import_channel_data
raise e
File “/usr/lib/python3/dist-packages/kolibri/core/content/utils/channel_import.py”, line 610, in import_channel_data
model, row_mapper, table_mapper, unflushed_rows
File “/usr/lib/python3/dist-packages/kolibri/core/content/utils/channel_import.py”, line 431, in table_import
model, row_mapper, table_mapper, unflushed_rows
File “/usr/lib/python3/dist-packages/kolibri/core/content/utils/channel_import.py”, line 387, in orm_table_import
DestinationRecord, data_to_insert
File “/usr/lib/python3/dist-packages/kolibri/dist/sqlalchemy/orm/session.py”, line 2552, in bulk_insert_mappings
return_defaults, False, render_nulls)
File “/usr/lib/python3/dist-packages/kolibri/dist/sqlalchemy/orm/session.py”, line 2625, in _bulk_save_mappings
transaction.rollback(_capture_exception=True)
File “/usr/lib/python3/dist-packages/kolibri/dist/sqlalchemy/util/langhelpers.py”, line 66, in exit
compat.reraise(exc_type, exc_value, exc_tb)
File “/usr/lib/python3/dist-packages/kolibri/dist/sqlalchemy/util/compat.py”, line 249, in reraise
raise value
File “/usr/lib/python3/dist-packages/kolibri/dist/sqlalchemy/orm/session.py”, line 2620, in _bulk_save_mappings
isstates, return_defaults, render_nulls)
File “/usr/lib/python3/dist-packages/kolibri/dist/sqlalchemy/orm/persistence.py”, line 69, in _bulk_insert
bookkeeping=return_defaults)
File “/usr/lib/python3/dist-packages/kolibri/dist/sqlalchemy/orm/persistence.py”, line 830, in _emit_insert_statements
execute(statement, multiparams)
File “/usr/lib/python3/dist-packages/kolibri/dist/sqlalchemy/engine/base.py”, line 948, in execute
return meth(self, multiparams, params)
File “/usr/lib/python3/dist-packages/kolibri/dist/sqlalchemy/sql/elements.py”, line 269, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File “/usr/lib/python3/dist-packages/kolibri/dist/sqlalchemy/engine/base.py”, line 1060, in _execute_clauseelement
compiled_sql, distilled_params
File “/usr/lib/python3/dist-packages/kolibri/dist/sqlalchemy/engine/base.py”, line 1200, in _execute_context
context)
File “/usr/lib/python3/dist-packages/kolibri/dist/sqlalchemy/engine/base.py”, line 1413, in _handle_dbapi_exception
exc_info
File “/usr/lib/python3/dist-packages/kolibri/dist/sqlalchemy/util/compat.py”, line 265, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File “/usr/lib/python3/dist-packages/kolibri/dist/sqlalchemy/util/compat.py”, line 248, in reraise
raise value.with_traceback(tb)
File “/usr/lib/python3/dist-packages/kolibri/dist/sqlalchemy/engine/base.py”, line 1170, in _execute_context
context)
File “/usr/lib/python3/dist-packages/kolibri/dist/sqlalchemy/dialects/postgresql/psycopg2.py”, line 683, in do_executemany
cursor.executemany(statement, parameters)
sqlalchemy.exc.IntegrityError: (psycopg2.IntegrityError) duplicate key value violates unique constraint “content_contentnode_pkey”
DETAIL: Key (id)=(ad890dd2-5fe6-4101-b13c-abf7cea54a7b) already exists.
[SQL: ‘INSERT INTO content_contentnode (id, license_name, license_description, title, coach_content, content_id, channel_id, description, sort_order, license_owner, author, kind, available, lft, rght, tree_id, level, lang_id, parent_id) VALUES (%(id)s, %(license_name)s, %(license_description)s, %(title)s, %(coach_content)s, %(content_id)s, %(channel_id)s, %(description)s, %(sort_order)s, %(license_owner)s, %(author)s, %(kind)s, %(available)s, %(lft)s, %(rght)s, %(tree_id)s, %(level)s, %(lang_id)s, %(parent_id)s)’] [parameters: ({‘channel_id’: ‘f1bc9f5895c0486992a6ab6e22b5633a’, ‘sort_order’: 10.5, ‘content_id’: ‘13a20c08c8764509b5d7ac5b08a3eaac’, ‘title’: ‘Grade 3’, ‘rght’: 205, ‘license_description’: ‘The Attribution License lets others distribute, remix, tweak, and build upon your work, even commercially, as long as they credit you for the original creation. This is the most accommodating of licenses offered. Recommended for maximum dissemination and use of licensed materials.’, ‘license_owner’: ‘’, ‘id’: ‘6af47406fa2b454f890a2cb99a53f03c’, ‘parent_id’: ‘f1bc9f5895c0486992a6ab6e22b5633a’, ‘kind’: ‘topic’, ‘lang_id’: ‘en’, ‘lft’: 2, ‘available’: False, ‘tree_id’: 12, ‘description’: ‘’, ‘coach_content’: False, ‘license_name’: ‘CC BY’, ‘level’: 1, ‘author’: ‘’}, {‘channel_id’: ‘f1bc9f5895c0486992a6ab6e22b5633a’, ‘sort_order’: 21.0, ‘content_id’: ‘b97141a5b83e4f068f04877729b64ec7’, ‘title’: ‘Grade 6’, ‘rght’: 291, ‘license_description’: ‘The Attribution License lets others distribute, remix, tweak, and build upon your work, even commercially, as long as they credit you for the original creation. This is the most accommodating of licenses offered. Recommended for maximum dissemination and use of licensed materials.’, ‘license_owner’: ‘’, ‘id’: ‘738d4e88980740dfa31772f50b1476e6’, ‘parent_id’: ‘f1bc9f5895c0486992a6ab6e22b5633a’, ‘kind’: ‘topic’, ‘lang_id’: ‘en’, ‘lft’: 206, ‘available’: False, ‘tree_id’: 12, ‘description’: ‘’, ‘coach_content’: False, ‘license_name’: ‘CC BY’, ‘level’: 1, ‘author’: ‘’}, {‘channel_id’: ‘f1bc9f5895c0486992a6ab6e22b5633a’, ‘sort_order’: 21.5, ‘content_id’: ‘2088ca4320f14f4d81b437aab909a9eb’, ‘title’: ‘Grade 11’, ‘rght’: 303, ‘license_description’: ‘The Attribution License lets others distribute, remix, tweak, and build upon your work, even commercially, as long as they credit you for the original creation. This is the most accommodating of licenses offered. Recommended for maximum dissemination and use of licensed materials.’, ‘license_owner’: ‘’, ‘id’: ‘bb0b41ac2ccf4f57b127e521d39746c2’, ‘parent_id’: ‘f1bc9f5895c0486992a6ab6e22b5633a’, ‘kind’: ‘topic’, ‘lang_id’: ‘en’, ‘lft’: 292, ‘available’: False, ‘tree_id’: 12, ‘description’: ‘’, ‘coach_content’: False, ‘license_name’: ‘CC BY’, ‘level’: 1, ‘author’: ‘’}, {‘channel_id’: ‘f1bc9f5895c0486992a6ab6e22b5633a’, ‘sort_order’: 22.0, ‘content_id’: ‘a77c8eaeafc4435b81a866fc53156fcb’, ‘title’: ‘Grade 12’, ‘rght’: 1385, ‘license_description’: ‘The Attribution License lets others distribute, remix, tweak, and build upon your work, even commercially, as long as they credit you for the original creation. This is the most accommodating of licenses offered. Recommended for maximum dissemination and use of licensed materials.’, ‘license_owner’: ‘’, ‘id’: ‘efcab5fb841046378ff997275db8fce9’, ‘parent_id’: ‘f1bc9f5895c0486992a6ab6e22b5633a’, ‘kind’: ‘topic’, ‘lang_id’: ‘en’, ‘lft’: 304, ‘available’: False, ‘tree_id’: 12, ‘description’: ‘’, ‘coach_content’: False, ‘license_name’: ‘CC BY’, ‘level’: 1, ‘author’: ‘’}, {‘channel_id’: ‘f1bc9f5895c0486992a6ab6e22b5633a’, ‘sort_order’: 23.0, ‘content_id’: ‘b88059f1ef744c76abdfaff0899ca034’, ‘title’: ‘Siyavula Textbooks’, ‘rght’: 1447, ‘license_description’: ‘The Attribution License lets others distribute, remix, tweak, and build upon your work, even commercially, as long as they credit you for the original creation. This is the most accommodating of licenses offered. Recommended for maximum dissemination and use of licensed materials.’, ‘license_owner’: ‘’, ‘id’: ‘321741a6fe444de586d8f766b5698daf’, ‘parent_id’: ‘f1bc9f5895c0486992a6ab6e22b5633a’, ‘kind’: ‘topic’, ‘lang_id’: ‘en’, ‘lft’: 1386, ‘available’: False, ‘tree_id’: 12, ‘description’: ‘’, ‘coach_content’: False, ‘license_name’: ‘CC BY’, ‘level’: 1, ‘author’: ‘’}, {‘channel_id’: ‘f1bc9f5895c0486992a6ab6e22b5633a’, ‘sort_order’: 24.0, ‘content_id’: ‘a2e978a44e6247729b088b4cc90c7eb9’, ‘title’: ‘Exam preparation guides’, ‘rght’: 1453, ‘license_description’: ‘The Attribution License lets others distribute, remix, tweak, and build upon your work, even commercially, as long as they credit you for the original creation. This is the most accommodating of licenses offered. Recommended for maximum dissemination and use of licensed materials.’, ‘license_owner’: ‘’, ‘id’: ‘440896acee5848e8b0663506ba377da6’, ‘parent_id’: ‘f1bc9f5895c0486992a6ab6e22b5633a’, ‘kind’: ‘topic’, ‘lang_id’: ‘en’, ‘lft’: 1448, ‘available’: False, ‘tree_id’: 12, ‘description’: ‘How to create good study habits and deal with stress before exams.’, ‘coach_content’: False, ‘license_name’: ‘CC BY’, ‘level’: 1, ‘author’: ‘’}, {‘channel_id’: ‘f1bc9f5895c0486992a6ab6e22b5633a’, ‘sort_order’: 20.0, ‘content_id’: ‘33662bd7f42349919a670a4beafa72c9’, ‘title’: ‘Question Papers’, ‘rght’: 112, ‘license_description’: ‘The Attribution License lets others distribute, remix, tweak, and build upon your work, even commercially, as long as they credit you for the original creation. This is the most accommodating of licenses offered. Recommended for maximum dissemination and use of licensed materials.’, ‘license_owner’: ‘’, ‘id’: ‘eac1cac89b724db6b95fa8f4a03cdb37’, ‘parent_id’: ‘6af47406fa2b454f890a2cb99a53f03c’, ‘kind’: ‘topic’, ‘lang_id’: ‘en’, ‘lft’: 3, ‘available’: False, ‘tree_id’: 12, ‘description’: ‘’, ‘coach_content’: False, ‘license_name’: ‘CC BY’, ‘level’: 2, ‘author’: ‘’}, {‘channel_id’: ‘f1bc9f5895c0486992a6ab6e22b5633a’, ‘sort_order’: 21.0, ‘content_id’: ‘68bbae0784a74a61a9f5943f92826992’, ‘title’: ‘Memoranda’, ‘rght’: 204, ‘license_description’: ‘The Attribution License lets others distribute, remix, tweak, and build upon your work, even commercially, as long as they credit you for the original creation. This is the most accommodating of licenses offered. Recommended for maximum dissemination and use of licensed materials.’, ‘license_owner’: ‘’, ‘id’: ‘042dfe05c7e443008b5fb9560b221a5e’, ‘parent_id’: ‘6af47406fa2b454f890a2cb99a53f03c’, ‘kind’: ‘topic’, ‘lang_id’: ‘en’, ‘lft’: 113, ‘available’: False, ‘tree_id’: 12, ‘description’: ‘’, ‘coach_content’: False, ‘license_name’: ‘CC BY’, ‘level’: 2, ‘author’: ‘’} … displaying 10 of 726 total bound parameter sets … {‘channel_id’: ‘f1bc9f5895c0486992a6ab6e22b5633a’, ‘sort_order’: 22.0, ‘content_id’: ‘b1377d214eb140d7bb370b23bcc86b0c’, ‘title’: ‘Geography P2 Nov 2016 Questions’, ‘rght’: 813, ‘license_description’: ‘The Attribution License lets others distribute, remix, tweak, and build upon your work, even commercially, as long as they credit you for the original creation. This is the most accommodating of licenses offered. Recommended for maximum dissemination and use of licensed materials.’, ‘license_owner’: ‘Dept of Basic Education RSA’, ‘id’: ‘7c4e8c4ef98d4607abcf9ac70c4c025c’, ‘parent_id’: ‘daed211e5bac499aa0c2768aea5103db’, ‘kind’: ‘document’, ‘lang_id’: ‘en’, ‘lft’: 812, ‘available’: False, ‘tree_id’: 12, ‘description’: ‘’, ‘coach_content’: False, ‘license_name’: ‘CC BY’, ‘level’: 5, ‘author’: ‘DBE’}, {‘channel_id’: ‘f1bc9f5895c0486992a6ab6e22b5633a’, ‘sort_order’: 23.0, ‘content_id’: ‘714af9b1de974e4c87e7a5f916d846a3’, ‘title’: ‘Geography P2 Nov 2016 Memo’, ‘rght’: 815, ‘license_description’: ‘The Attribution License lets others distribute, remix, tweak, and build upon your work, even commercially, as long as they credit you for the original creation. This is the most accommodating of licenses offered. Recommended for maximum dissemination and use of licensed materials.’, ‘license_owner’: ‘Dept of Basic Education RSA’, ‘id’: ‘d192a49c513a4effbce4666696df17fc’, ‘parent_id’: ‘daed211e5bac499aa0c2768aea5103db’, ‘kind’: ‘document’, ‘lang_id’: ‘en’, ‘lft’: 814, ‘available’: False, ‘tree_id’: 12, ‘description’: ‘’, ‘coach_content’: False, ‘license_name’: ‘CC BY’, ‘level’: 5, ‘author’: ‘DBE’})] (Background on this error at: http://sqlalche.me/e/gkpj)
e[0m
I have stopped kolibri and ran: "kolibri manage dbbackup
and got the this error:
INFO Initiating shutdown of Kolibri
INFO Waiting for Kolibri to finish shutting down
INFO Kolibri server has successfully been stopped.
kolibri@kolibri:~$ kolibri manage dbbackup
INFO Running Kolibri with the following settings: kolibri.deployment.default.settings.base
INFO Invoking command dbbackup
Traceback (most recent call last):
File “/usr/bin/kolibri”, line 9, in
load_entry_point(‘kolibri==0.13.3’, ‘console_scripts’, ‘kolibri’)()
File “/usr/lib/python3/dist-packages/kolibri/dist/click/core.py”, line 764, in call
return self.main(*args, **kwargs)
File “/usr/lib/python3/dist-packages/kolibri/dist/click/core.py”, line 717, in main
rv = self.invoke(ctx)
File “/usr/lib/python3/dist-packages/kolibri/dist/click/core.py”, line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/usr/lib/python3/dist-packages/kolibri/utils/cli.py”, line 244, in invoke
return super(KolibriDjangoCommand, self).invoke(ctx)
File “/usr/lib/python3/dist-packages/kolibri/dist/click/core.py”, line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/usr/lib/python3/dist-packages/kolibri/dist/click/core.py”, line 555, in invoke
return callback(*args, **kwargs)
File “/usr/lib/python3/dist-packages/kolibri/dist/click/decorators.py”, line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File “/usr/lib/python3/dist-packages/kolibri/utils/cli.py”, line 655, in manage
execute_from_command_line([“kolibri manage”] + ctx.args)
File “/usr/lib/python3/dist-packages/kolibri/dist/django/core/management/init.py”, line 364, in execute_from_command_line
utility.execute()
File “/usr/lib/python3/dist-packages/kolibri/dist/django/core/management/init.py”, line 356, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File “/usr/lib/python3/dist-packages/kolibri/dist/django/core/management/base.py”, line 283, in run_from_argv
self.execute(*args, **cmd_options)
File “/usr/lib/python3/dist-packages/kolibri/dist/django/core/management/base.py”, line 330, in execute
output = self.handle(*args, **options)
File “/usr/lib/python3/dist-packages/kolibri/core/deviceadmin/management/commands/dbbackup.py”, line 56, in handle
backup = dbbackup(kolibri.version, dest_folder=dest_folder)
File “/usr/lib/python3/dist-packages/kolibri/core/deviceadmin/utils.py”, line 89, in dbbackup
raise IncompatibleDatabase()
kolibri.core.deviceadmin.utils.IncompatibleDatabase
kolibri@kolibri:~$ sudo nano .kolibri/logs/daemon.txt
[sudo] password for kolibri:
kolibri@kolibri:~$ kolibri manage dbbackup
INFO Running Kolibri with the following settings: kolibri.deployment.default.settings.base
INFO Invoking command dbbackup
Traceback (most recent call last):
File “/usr/bin/kolibri”, line 9, in
load_entry_point(‘kolibri==0.13.3’, ‘console_scripts’, ‘kolibri’)()
File “/usr/lib/python3/dist-packages/kolibri/dist/click/core.py”, line 764, in call
return self.main(*args, **kwargs)
File “/usr/lib/python3/dist-packages/kolibri/dist/click/core.py”, line 717, in main
rv = self.invoke(ctx)
File “/usr/lib/python3/dist-packages/kolibri/dist/click/core.py”, line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/usr/lib/python3/dist-packages/kolibri/utils/cli.py”, line 244, in invoke
return super(KolibriDjangoCommand, self).invoke(ctx)
File “/usr/lib/python3/dist-packages/kolibri/dist/click/core.py”, line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/usr/lib/python3/dist-packages/kolibri/dist/click/core.py”, line 555, in invoke
return callback(*args, **kwargs)
File “/usr/lib/python3/dist-packages/kolibri/dist/click/decorators.py”, line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File “/usr/lib/python3/dist-packages/kolibri/utils/cli.py”, line 655, in manage
execute_from_command_line([“kolibri manage”] + ctx.args)
File “/usr/lib/python3/dist-packages/kolibri/dist/django/core/management/init.py”, line 364, in execute_from_command_line
utility.execute()
File “/usr/lib/python3/dist-packages/kolibri/dist/django/core/management/init.py”, line 356, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File “/usr/lib/python3/dist-packages/kolibri/dist/django/core/management/base.py”, line 283, in run_from_argv
self.execute(*args, **cmd_options)
File “/usr/lib/python3/dist-packages/kolibri/dist/django/core/management/base.py”, line 330, in execute
output = self.handle(*args, **options)
File “/usr/lib/python3/dist-packages/kolibri/core/deviceadmin/management/commands/dbbackup.py”, line 56, in handle
backup = dbbackup(kolibri.version, dest_folder=dest_folder)
File “/usr/lib/python3/dist-packages/kolibri/core/deviceadmin/utils.py”, line 89, in dbbackup
raise IncompatibleDatabase()
kolibri.core.deviceadmin.utils.IncompatibleDatabase
Please let me know if there is a fix for this. Thanks so much.
OS: Ubuntu 16.04
Kolibri version: v0.13.3
Kolibri-Sever: v.0.3.6
DB: Postgresl