Hello, so today I took 3 of the Mini PCs we had and tried UPDATING the channels.
1 channel is udpated, I used Local Kolibri Server to import and it worked without any issue on 2 of the Mini PCs
the 3rd one, FAILED, I tried on it with Kolibri Studio ONLINE as well and the Import failed,
log says cannot access db
Channels are still there, all PCs we have are based on same image and data/software.
I will checka few mroe.
INFO and LOG of the system where the import failed is below
Version: 0.18.0
OS: Windows-10-10.0.19045-SP0
Python: 3.8.10
Installer: Windows - v1.6.7
Server: Cheroot/10.0.1
Database: C:\Users\User.DESKTOP-157I6FC\.kolibri\db.sqlite3
Free disk space: 201 GB
Server time: Thu Jun 19 2025 11:19:35 GMT+0500 (Pakistan Standard Time)
Server timezone: Asia/Karachi
Device ID: 2582663e948e9b8a350737a7e2f3925e
Relevant portion from Log
INFO 2025-06-19 11:46:05,270 kolibri.core.discovery.utils.network.client Attempting connections to variations of the URL: https://studio.learningequality.org
INFO 2025-06-19 11:46:05,281 kolibri.core.discovery.utils.network.client Attempting connection to: https://studio.learningequality.org/
INFO 2025-06-19 11:46:06,146 kolibri.core.discovery.utils.network.client Success! We connected to: https://studio.learningequality.org/api/public/info/?v=3
INFO 2025-06-19 11:46:06,664 cherrypy.access 127.0.0.1 - - "GET /api/content/remotechannel/kolibri_studio_status/" 200 0 "http://127.0.0.1:8080/en/device/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0"
INFO 2025-06-19 11:46:07,069 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:07,121 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:07,215 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:07,229 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:07,275 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:07,338 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:07,938 cherrypy.access 127.0.0.1 - - "GET /api/device/deviceinfo/" 200 0 "http://127.0.0.1:8080/en/device/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0"
INFO 2025-06-19 11:46:10,364 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:10,413 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:10,476 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:10,490 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:10,540 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:10,600 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:11,054 cherrypy.access 127.0.0.1 - - "GET /api/content/remotechannel/" 200 0 "http://127.0.0.1:8080/en/device/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0"
INFO 2025-06-19 11:46:11,697 cherrypy.access 127.0.0.1 - - "GET /api/content/remotechannel/b6cbc97189f25058b0f883a4e3acd425/" 200 0 "http://127.0.0.1:8080/en/device/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0"
INFO 2025-06-19 11:46:11,774 cherrypy.access 127.0.0.1 - - "GET /api/content/remotechannel/1c86976ac8dd5a2086e6819ee6cd4c3f/" 200 0 "http://127.0.0.1:8080/en/device/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0"
INFO 2025-06-19 11:46:13,628 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:13,678 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:13,740 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:13,752 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:13,802 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:13,864 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:16,884 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:16,921 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:16,972 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:16,985 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:17,028 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:17,090 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:19,996 cherrypy.access 127.0.0.1 - - "GET /api/device/deviceinfo/" 200 0 "http://127.0.0.1:8080/en/device/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0"
INFO 2025-06-19 11:46:20,120 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:20,168 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:20,232 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:20,247 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:20,293 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:20,353 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:21,383 kolibri.core.discovery.utils.network.client Attempting connections to variations of the URL: https://studio.learningequality.org
INFO 2025-06-19 11:46:21,392 kolibri.core.discovery.utils.network.client Attempting connection to: https://studio.learningequality.org/
INFO 2025-06-19 11:46:21,924 kolibri.core.discovery.utils.network.client Success! We connected to: https://studio.learningequality.org/api/public/info/?v=3
INFO 2025-06-19 11:46:21,930 kolibri.core.discovery.utils.network.client Attempting connections to variations of the URL: https://studio.learningequality.org
INFO 2025-06-19 11:46:21,939 kolibri.core.discovery.utils.network.client Attempting connection to: https://studio.learningequality.org/
INFO 2025-06-19 11:46:22,483 kolibri.core.discovery.utils.network.client Success! We connected to: https://studio.learningequality.org/api/public/info/?v=3
INFO 2025-06-19 11:46:22,876 kolibri.core.content.utils.channel_import Older version 11 of channel b6cbc97189f25058b0f883a4e3acd425 already exists in database; removing old entries so we can upgrade to version 12
INFO 2025-06-19 11:46:22,943 kolibri.core.content.utils.channel_import Importing LocalFile data
INFO 2025-06-19 11:46:22,946 kolibri.core.content.utils.channel_import Importing Language data
INFO 2025-06-19 11:46:22,951 kolibri.core.content.utils.channel_import Importing ContentNode data
INFO 2025-06-19 11:46:23,002 kolibri.core.content.utils.channel_import Importing AssessmentMetaData data
INFO 2025-06-19 11:46:23,005 kolibri.core.content.utils.channel_import Importing File data
ERROR 2025-06-19 11:46:23,172 kolibri.core.tasks.job Job 18617d1cfe2747d38209a31222f1d0d6 raised an exception: Traceback (most recent call last):
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\base.py", line 1910, in _execute_context
self.dialect.do_execute(
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\default.py", line 736, in do_execute
cursor.execute(statement, parameters)
sqlite3.OperationalError: unable to open database file
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "c:\python38\lib\site-packages\kolibri\core\tasks\job.py", line 341, in execute
result = func(*args, **kwargs)
File "c:\python38\lib\site-packages\kolibri\core\tasks\registry.py", line 237, in __call__
return self.func(*args, **kwargs)
File "c:\python38\lib\site-packages\kolibri\core\content\tasks.py", line 532, in remoteimport
transfer_channel(channel_id, DOWNLOAD_METHOD, baseurl=baseurl)
File "c:\python38\lib\site-packages\kolibri\core\content\utils\channel_transfer.py", line 186, in transfer_channel
start_file_transfer(filetransfer, channel_id, dest, no_upgrade, content_dir)
File "c:\python38\lib\site-packages\kolibri\core\content\utils\channel_transfer.py", line 103, in start_file_transfer
import_ran = import_channel_by_id(
File "c:\python38\lib\site-packages\kolibri\core\content\utils\channel_import.py", line 1257, in import_channel_by_id
return import_channel_from_local_db(
File "c:\python38\lib\site-packages\kolibri\core\content\utils\channel_import.py", line 1242, in import_channel_from_local_db
return import_manager.run_and_annotate()
File "c:\python38\lib\site-packages\kolibri\core\content\utils\channel_import.py", line 988, in run_and_annotate
import_ran = self.import_channel_data()
File "c:\python38\lib\site-packages\kolibri\core\content\utils\channel_import.py", line 973, in import_channel_data
raise e
File "c:\python38\lib\site-packages\kolibri\core\content\utils\channel_import.py", line 949, in import_channel_data
self.table_import(model, row_mapper, table_mapper)
File "c:\python38\lib\site-packages\kolibri\core\content\utils\channel_import.py", line 734, in table_import
result = self.raw_attached_sqlite_table_import(model, table_mapper)
File "c:\python38\lib\site-packages\kolibri\core\content\utils\channel_import.py", line 516, in raw_attached_sqlite_table_import
self.destination.execute(text(query))
File "c:\python38\lib\site-packages\kolibri\core\content\utils\sqlalchemybridge.py", line 351, in execute
return self.connection.execute(query, *args)
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\base.py", line 1385, in execute
return meth(self, multiparams, params, _EMPTY_EXECUTION_OPTS)
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\sql\elements.py", line 334, in _execute_on_connection
return connection._execute_clauseelement(
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\base.py", line 1577, in _execute_clauseelement
ret = self._execute_context(
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\base.py", line 1953, in _execute_context
self._handle_dbapi_exception(
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\base.py", line 2134, in _handle_dbapi_exception
util.raise_(
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\util\compat.py", line 211, in raise_
raise exception
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\base.py", line 1910, in _execute_context
self.dialect.do_execute(
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\default.py", line 736, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) unable to open database file
[SQL: INSERT OR REPLACE INTO content_file ('id', 'preset', 'supplementary', 'thumbnail', 'priority', 'contentnode_id', 'lang_id', 'local_file_id') SELECT source.id, source.preset, source.supplementary, source.thumbnail, source.priority, source.contentnode_id, source.lang_id, source.local_file_id FROM sourcedb.content_file AS source]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
INFO 2025-06-19 11:46:23,372 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:23,423 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:23,535 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:23,568 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:23,615 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:23,673 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
WARNING 2025-06-19 11:46:23,730 kolibri.core.content.utils.channel_import Version 16 of channel 1c86976ac8dd5a2086e6819ee6cd4c3f already exists in database; cancelling import of version 16
INFO 2025-06-19 11:46:23,736 kolibri.core.discovery.utils.network.client Attempting connections to variations of the URL: https://studio.learningequality.org/
INFO 2025-06-19 11:46:23,769 kolibri.core.discovery.utils.network.client Attempting connection to: https://studio.learningequality.org/
INFO 2025-06-19 11:46:24,280 kolibri.core.discovery.utils.network.client Success! We connected to: https://studio.learningequality.org/api/public/info/?v=3
INFO 2025-06-19 11:46:25,050 kolibri.core.content.utils.annotation Setting availability of non-topic ContentNode objects based on LocalFile availability in 1 batches of 10000
INFO 2025-06-19 11:46:25,068 kolibri.core.content.utils.annotation Annotating ContentNode objects with children for 7 levels
ERROR 2025-06-19 11:46:25,102 kolibri.core.tasks.job Job 3b975a3ad422437b9fa9ffed12da4e26 raised an exception: Traceback (most recent call last):
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\base.py", line 1910, in _execute_context
self.dialect.do_execute(
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\default.py", line 736, in do_execute
cursor.execute(statement, parameters)
sqlite3.OperationalError: unable to open database file
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "c:\python38\lib\site-packages\kolibri\core\tasks\job.py", line 341, in execute
result = func(*args, **kwargs)
File "c:\python38\lib\site-packages\kolibri\core\tasks\registry.py", line 237, in __call__
return self.func(*args, **kwargs)
File "c:\python38\lib\site-packages\kolibri\core\content\tasks.py", line 550, in remoteimport
manager.run()
File "c:\python38\lib\site-packages\kolibri\core\content\utils\resource_import.py", line 210, in run
results = self.run_import()
File "c:\python38\lib\site-packages\kolibri\core\content\utils\resource_import.py", line 307, in run_import
annotation.set_content_visibility(
File "c:\python38\lib\site-packages\kolibri\core\content\utils\annotation.py", line 742, in set_content_visibility
update_content_metadata(
File "c:\python38\lib\site-packages\kolibri\core\content\utils\annotation.py", line 725, in update_content_metadata
recurse_annotation_up_tree(channel_id)
File "c:\python38\lib\site-packages\kolibri\core\content\utils\annotation.py", line 570, in recurse_annotation_up_tree
connection.execute(
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\base.py", line 1385, in execute
return meth(self, multiparams, params, _EMPTY_EXECUTION_OPTS)
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\sql\elements.py", line 334, in _execute_on_connection
return connection._execute_clauseelement(
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\base.py", line 1577, in _execute_clauseelement
ret = self._execute_context(
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\base.py", line 1953, in _execute_context
self._handle_dbapi_exception(
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\base.py", line 2134, in _handle_dbapi_exception
util.raise_(
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\util\compat.py", line 211, in raise_
raise exception
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\base.py", line 1910, in _execute_context
self.dialect.do_execute(
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\default.py", line 736, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) unable to open database file
[SQL: UPDATE content_contentnode SET available=?, on_device_resources=? WHERE content_contentnode.channel_id = ? AND content_contentnode.kind = ?]
[parameters: (0, 0, '1c86976ac8dd5a2086e6819ee6cd4c3f', 'topic')]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
INFO 2025-06-19 11:46:26,690 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:26,742 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:26,806 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:26,820 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:26,864 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:26,926 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:29,949 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:30,000 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:30,066 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:30,080 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:30,125 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:30,186 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:33,204 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:33,254 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:33,316 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:33,333 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:33,376 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:33,437 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:36,457 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:36,511 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:36,563 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:36,576 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:36,619 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:36,681 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:39,704 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:39,756 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:39,854 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:39,868 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:39,912 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:39,971 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:40,131 cherrypy.access 127.0.0.1 - - "GET /device/api/device_channel/" 200 0 "http://127.0.0.1:8080/en/device/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0"
INFO 2025-06-19 11:46:42,987 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:43,040 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:43,093 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:43,109 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:43,161 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:43,224 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:45,619 cherrypy.access 127.0.0.1 - - "GET /api/device/devicename/" 200 0 "http://127.0.0.1:8080/en/device/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0"
INFO 2025-06-19 11:46:45,634 cherrypy.access 127.0.0.1 - - "GET /api/device/deviceinfo/" 200 0 "http://127.0.0.1:8080/en/device/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0"
INFO 2025-06-19 11:46:45,667 cherrypy.access 127.0.0.1 - - "GET /device/api/device_channel/b6cbc97189f25058b0f883a4e3acd425/" 200 0 "http://127.0.0.1:8080/en/device/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0"
INFO 2025-06-19 11:46:45,690 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnode_granular/b6cbc97189f25058b0f883a4e3acd425/" 304 0 "http://127.0.0.1:8080/en/device/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0"
INFO 2025-06-19 11:46:46,239 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:46,290 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:46,352 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:46,366 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:46,415 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:46,477 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:49,412 kolibri.core.discovery.utils.network.client Attempting connections to variations of the URL: https://studio.learningequality.org
INFO 2025-06-19 11:46:49,434 kolibri.core.discovery.utils.network.client Attempting connection to: https://studio.learningequality.org/
INFO 2025-06-19 11:46:49,506 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:49,558 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:49,619 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:49,634 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:49,687 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:49,746 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:49,949 kolibri.core.discovery.utils.network.client Success! We connected to: https://studio.learningequality.org/api/public/info/?v=3
INFO 2025-06-19 11:46:50,693 kolibri.core.content.management.commands.importchannel Downloading data for channel id b6cbc97189f25058b0f883a4e3acd425
INFO 2025-06-19 11:46:51,919 kolibri.core.content.utils.channel_import Older version 11 of channel b6cbc97189f25058b0f883a4e3acd425 already exists in database; removing old entries so we can upgrade to version 12
INFO 2025-06-19 11:46:51,922 kolibri.core.content.utils.channel_import Importing LocalFile data
INFO 2025-06-19 11:46:51,924 kolibri.core.content.utils.channel_import Importing Language data
INFO 2025-06-19 11:46:51,925 kolibri.core.content.utils.channel_import Importing ContentNode data
INFO 2025-06-19 11:46:51,970 kolibri.core.content.utils.channel_import Importing AssessmentMetaData data
INFO 2025-06-19 11:46:51,971 kolibri.core.content.utils.channel_import Importing File data
INFO 2025-06-19 11:46:51,972 kolibri.core.content.utils.channel_import Importing ChannelMetadata data
INFO 2025-06-19 11:46:51,973 kolibri.core.content.utils.channel_import Importing ContentNode_related data
INFO 2025-06-19 11:46:51,974 kolibri.core.content.utils.channel_import Importing ContentNode_has_prerequisite data
INFO 2025-06-19 11:46:51,974 kolibri.core.content.utils.channel_import Importing ContentTag data
INFO 2025-06-19 11:46:51,974 kolibri.core.content.utils.channel_import Importing ContentNode_tags data
INFO 2025-06-19 11:46:51,998 kolibri.core.content.utils.annotation Setting availability of LocalFile objects based on disk availability
INFO 2025-06-19 11:46:52,102 kolibri.core.content.utils.annotation Setting availability to True of 95 LocalFile objects based on passed in checksums
INFO 2025-06-19 11:46:52,764 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:52,817 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:52,878 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:52,892 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:52,939 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:53,000 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:56,038 cherrypy.access 127.0.0.1 - - "GET /api/device/devicename/" 200 0 "http://127.0.0.1:8080/en/device/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0"
INFO 2025-06-19 11:46:56,052 cherrypy.access 127.0.0.1 - - "GET /api/device/deviceinfo/" 200 0 "http://127.0.0.1:8080/en/device/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0"
INFO 2025-06-19 11:46:56,077 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:56,097 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:56,101 cherrypy.access 127.0.0.1 - - "GET /device/api/device_channel/b6cbc97189f25058b0f883a4e3acd425/" 200 0 "http://127.0.0.1:8080/en/device/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0"
INFO 2025-06-19 11:46:56,161 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnode_granular/b6cbc97189f25058b0f883a4e3acd425/" 304 0 "http://127.0.0.1:8080/en/device/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0"
INFO 2025-06-19 11:46:56,199 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:56,213 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:56,269 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:56,329 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:56,898 cherrypy.access 127.0.0.1 - - "GET /device/api/device_channel/" 200 0 "http://127.0.0.1:8080/en/device/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0"
INFO 2025-06-19 11:46:59,351 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:59,400 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:59,464 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:46:59,482 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:59,525 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:46:59,588 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:47:02,538 kolibri.core.discovery.utils.network.client Attempting connections to variations of the URL: https://studio.learningequality.org
INFO 2025-06-19 11:47:02,549 kolibri.core.discovery.utils.network.client Attempting connection to: https://studio.learningequality.org/
INFO 2025-06-19 11:47:02,608 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:02,660 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:02,720 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:47:02,742 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:02,781 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:02,842 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:47:03,072 kolibri.core.discovery.utils.network.client Success! We connected to: https://studio.learningequality.org/api/public/info/?v=3
INFO 2025-06-19 11:47:03,607 cherrypy.access 127.0.0.1 - - "GET /api/content/remotechannel/kolibri_studio_status/" 200 0 "http://127.0.0.1:8080/en/device/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0"
INFO 2025-06-19 11:47:05,238 cherrypy.access 127.0.0.1 - - "GET /api/discovery/networklocation/" 200 0 "http://127.0.0.1:8080/en/device/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0"
INFO 2025-06-19 11:47:05,869 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:05,916 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:05,980 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:47:05,996 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:06,040 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:06,100 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:47:07,246 kolibri.core.discovery.utils.network.client Attempting connection to: http://10.1.1.13:8080/
INFO 2025-06-19 11:47:07,280 kolibri.core.discovery.utils.network.client Success! We connected to: http://10.1.1.13:8080/api/public/info/?v=3
INFO 2025-06-19 11:47:07,290 cherrypy.access 127.0.0.1 - - "POST /api/discovery/networklocation/197892cdcb1e781f78af80e7b95c6e8e/update_connection_status/" 200 0 "http://127.0.0.1:8080/en/device/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0"
INFO 2025-06-19 11:47:07,493 kolibri.core.discovery.utils.network.client Attempting connection to: http://10.1.1.13:8080/
INFO 2025-06-19 11:47:07,534 kolibri.core.discovery.utils.network.client Success! We connected to: http://10.1.1.13:8080/api/public/info/?v=3
INFO 2025-06-19 11:47:07,544 cherrypy.access 127.0.0.1 - - "POST /api/discovery/networklocation/197892cdcb1e781f78af80e7b95c6e8e/update_connection_status/" 200 0 "http://127.0.0.1:8080/en/device/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0"
INFO 2025-06-19 11:47:07,624 kolibri.core.discovery.utils.network.client Attempting connections to variations of the URL: http://10.1.1.13:8080/
INFO 2025-06-19 11:47:07,642 kolibri.core.discovery.utils.network.client Attempting connection to: http://10.1.1.13:8080/
INFO 2025-06-19 11:47:07,647 cherrypy.access 127.0.0.1 - - "GET /api/device/deviceinfo/" 200 0 "http://127.0.0.1:8080/en/device/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0"
INFO 2025-06-19 11:47:07,666 kolibri.core.discovery.utils.network.client Success! We connected to: http://10.1.1.13:8080/api/public/info/?v=3
INFO 2025-06-19 11:47:07,709 cherrypy.access 127.0.0.1 - - "GET /api/content/remotechannel/" 200 0 "http://127.0.0.1:8080/en/device/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0"
INFO 2025-06-19 11:47:09,125 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:09,177 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:09,240 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:47:09,254 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:09,299 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:09,363 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:47:12,384 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:12,437 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:12,532 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:47:12,545 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:12,565 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:12,623 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:47:15,642 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:15,694 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:15,757 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:47:15,772 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:15,819 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:15,880 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:47:18,908 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:18,959 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:18,972 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:47:18,988 cherrypy.access 127.0.0.1 - - "GET /api/device/deviceinfo/" 200 0 "http://127.0.0.1:8080/en/device/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0"
INFO 2025-06-19 11:47:18,998 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:19,037 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:19,101 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:47:20,371 kolibri.core.discovery.utils.network.client Attempting connections to variations of the URL: http://10.1.1.13:8080/
INFO 2025-06-19 11:47:20,380 kolibri.core.discovery.utils.network.client Attempting connection to: http://10.1.1.13:8080/
INFO 2025-06-19 11:47:20,411 kolibri.core.discovery.utils.network.client Success! We connected to: http://10.1.1.13:8080/api/public/info/?v=3
INFO 2025-06-19 11:47:20,415 kolibri.core.discovery.utils.network.client Attempting connections to variations of the URL: http://10.1.1.13:8080/
INFO 2025-06-19 11:47:20,424 kolibri.core.discovery.utils.network.client Attempting connection to: http://10.1.1.13:8080/
INFO 2025-06-19 11:47:20,442 kolibri.core.discovery.utils.network.client Success! We connected to: http://10.1.1.13:8080/api/public/info/?v=3
ERROR 2025-06-19 11:47:20,673 kolibri.core.tasks.job Job 86313871f5314faa826fc40e353ab84d raised an exception: Traceback (most recent call last):
File "c:\python38\lib\site-packages\kolibri\core\tasks\job.py", line 341, in execute
result = func(*args, **kwargs)
File "c:\python38\lib\site-packages\kolibri\core\tasks\registry.py", line 237, in __call__
return self.func(*args, **kwargs)
File "c:\python38\lib\site-packages\kolibri\core\content\tasks.py", line 532, in remoteimport
transfer_channel(channel_id, DOWNLOAD_METHOD, baseurl=baseurl)
File "c:\python38\lib\site-packages\kolibri\core\content\utils\channel_transfer.py", line 186, in transfer_channel
start_file_transfer(filetransfer, channel_id, dest, no_upgrade, content_dir)
File "c:\python38\lib\site-packages\kolibri\core\content\utils\channel_transfer.py", line 71, in start_file_transfer
filetransfer.run(progress_callback)
File "c:\python38\lib\site-packages\kolibri\utils\file_transfer.py", line 936, in run
self.complete_close_and_finalize()
File "c:\python38\lib\site-packages\kolibri\utils\file_transfer.py", line 519, in complete_close_and_finalize
self.finalize()
File "c:\python38\lib\site-packages\kolibri\utils\file_transfer.py", line 589, in finalize
self._move_tmp_to_dest()
File "c:\python38\lib\site-packages\kolibri\utils\file_transfer.py", line 915, in _move_tmp_to_dest
replace(self.dest_tmp, self.dest)
File "c:\python38\lib\site-packages\kolibri\utils\file_transfer.py", line 111, in replace
os.remove(new_file_path)
PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\Users\\User.DESKTOP-157I6FC\\.kolibri\\content\\databases\\b6cbc97189f25058b0f883a4e3acd425.sqlite3'
WARNING 2025-06-19 11:47:21,156 kolibri.core.content.utils.channel_import Version 16 of channel 1c86976ac8dd5a2086e6819ee6cd4c3f already exists in database; cancelling import of version 16
INFO 2025-06-19 11:47:21,160 kolibri.core.discovery.utils.network.client Attempting connections to variations of the URL: http://10.1.1.13:8080/
INFO 2025-06-19 11:47:21,170 kolibri.core.discovery.utils.network.client Attempting connection to: http://10.1.1.13:8080/
INFO 2025-06-19 11:47:21,200 kolibri.core.discovery.utils.network.client Success! We connected to: http://10.1.1.13:8080/api/public/info/?v=3
INFO 2025-06-19 11:47:21,230 kolibri.core.discovery.utils.network.client Attempting connections to variations of the URL: http://10.1.1.13:8080/
INFO 2025-06-19 11:47:21,241 kolibri.core.discovery.utils.network.client Attempting connection to: http://10.1.1.13:8080/
INFO 2025-06-19 11:47:21,255 kolibri.core.discovery.utils.network.client Success! We connected to: http://10.1.1.13:8080/api/public/info/?v=3
ERROR 2025-06-19 11:47:21,315 kolibri.core.tasks.job Job ae323c178b15432796800de2707342e5 raised an exception: Traceback (most recent call last):
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\base.py", line 1910, in _execute_context
self.dialect.do_execute(
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\default.py", line 736, in do_execute
cursor.execute(statement, parameters)
sqlite3.OperationalError: unable to open database file
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "c:\python38\lib\site-packages\kolibri\core\tasks\job.py", line 341, in execute
result = func(*args, **kwargs)
File "c:\python38\lib\site-packages\kolibri\core\tasks\registry.py", line 237, in __call__
return self.func(*args, **kwargs)
File "c:\python38\lib\site-packages\kolibri\core\content\tasks.py", line 550, in remoteimport
manager.run()
File "c:\python38\lib\site-packages\kolibri\core\content\utils\resource_import.py", line 208, in run
self.prepare_for_import()
File "c:\python38\lib\site-packages\kolibri\core\content\utils\resource_import.py", line 219, in prepare_for_import
) = self.get_import_data()
File "c:\python38\lib\site-packages\kolibri\core\content\utils\resource_import.py", line 488, in get_import_data
return get_import_export_data(
File "c:\python38\lib\site-packages\kolibri\core\content\utils\import_export_content.py", line 115, in get_import_export_data
nodes_queries_list = get_import_export_nodes(
File "c:\python38\lib\site-packages\kolibri\core\content\utils\import_export_content.py", line 174, in get_import_export_nodes
nodes_to_include = filter_by_file_availability(
File "c:\python38\lib\site-packages\kolibri\core\content\utils\import_export_content.py", line 88, in filter_by_file_availability
file_based_node_id_list = get_channel_stats_from_peer(
File "c:\python38\lib\site-packages\kolibri\core\content\utils\importability_annotation.py", line 388, in get_channel_stats_from_peer
channel_stats = get_channel_annotation_stats(channel_id, checksums)
File "c:\python38\lib\site-packages\kolibri\core\content\utils\importability_annotation.py", line 107, in get_channel_annotation_stats
connection.execute(
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\base.py", line 1385, in execute
return meth(self, multiparams, params, _EMPTY_EXECUTION_OPTS)
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\sql\elements.py", line 334, in _execute_on_connection
return connection._execute_clauseelement(
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\base.py", line 1577, in _execute_clauseelement
ret = self._execute_context(
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\base.py", line 1953, in _execute_context
self._handle_dbapi_exception(
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\base.py", line 2134, in _handle_dbapi_exception
util.raise_(
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\util\compat.py", line 211, in raise_
raise exception
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\base.py", line 1910, in _execute_context
self.dialect.do_execute(
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\default.py", line 736, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) unable to open database file
[SQL: UPDATE content_contentnode SET available=? WHERE content_contentnode.channel_id = ? AND content_contentnode.kind = ?]
[parameters: (0, '1c86976ac8dd5a2086e6819ee6cd4c3f', 'topic')]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
INFO 2025-06-19 11:47:22,122 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:22,175 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:22,238 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:47:22,253 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:22,300 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:22,362 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:47:25,379 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:25,434 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:25,493 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:47:25,507 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:25,571 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:25,631 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:47:26,260 cherrypy.access 127.0.0.1 - - "GET /device/api/device_channel/" 200 0 "http://127.0.0.1:8080/en/device/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0"
INFO 2025-06-19 11:47:28,661 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:28,714 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:47:28,812 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:47:28,827 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:48:27,482 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:48:27,545 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:48:27,558 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:48:27,606 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:48:27,673 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:48:30,697 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:48:30,750 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:48:30,813 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:48:30,827 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:48:30,875 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:48:30,939 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:48:31,412 kolibri.core.discovery.utils.network.client Attempting connections to variations of the URL: https://studio.learningequality.org
INFO 2025-06-19 11:48:31,423 kolibri.core.discovery.utils.network.client Attempting connection to: https://studio.learningequality.org/
INFO 2025-06-19 11:48:31,922 kolibri.core.discovery.utils.network.client Success! We connected to: https://studio.learningequality.org/api/public/info/?v=3
INFO 2025-06-19 11:48:32,453 cherrypy.access 127.0.0.1 - - "GET /api/content/remotechannel/kolibri_studio_status/" 200 0 "http://127.0.0.1:8080/en/device/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0"
INFO 2025-06-19 11:48:33,196 cherrypy.access 127.0.0.1 - - "GET /api/device/deviceinfo/" 200 0 "http://127.0.0.1:8080/en/device/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0"
INFO 2025-06-19 11:48:33,954 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:48:34,008 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:48:34,103 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:48:34,116 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:48:34,163 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:48:34,183 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:48:37,198 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:48:37,255 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:48:37,316 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:48:37,332 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:48:37,377 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:48:37,440 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:48:40,455 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:48:40,509 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:48:40,571 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:48:40,584 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:48:40,632 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:48:40,696 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:48:41,012 cherrypy.access 127.0.0.1 - - "GET /api/device/deviceinfo/" 200 0 "http://127.0.0.1:8080/en/device/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0"
INFO 2025-06-19 11:48:42,729 kolibri.core.discovery.utils.network.client Attempting connections to variations of the URL: https://studio.learningequality.org
INFO 2025-06-19 11:48:42,738 kolibri.core.discovery.utils.network.client Attempting connection to: https://studio.learningequality.org/
INFO 2025-06-19 11:48:43,264 kolibri.core.discovery.utils.network.client Success! We connected to: https://studio.learningequality.org/api/public/info/?v=3
INFO 2025-06-19 11:48:43,269 kolibri.core.discovery.utils.network.client Attempting connections to variations of the URL: https://studio.learningequality.org
INFO 2025-06-19 11:48:43,278 kolibri.core.discovery.utils.network.client Attempting connection to: https://studio.learningequality.org/
INFO 2025-06-19 11:48:43,715 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:48:43,769 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:48:43,830 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:48:43,843 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:48:43,893 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:48:43,904 kolibri.core.discovery.utils.network.client Success! We connected to: https://studio.learningequality.org/api/public/info/?v=3
INFO 2025-06-19 11:48:43,963 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
ERROR 2025-06-19 11:48:44,307 kolibri.core.tasks.job Job 8281d44b27c144b8ae1f5157868cea3c raised an exception: Traceback (most recent call last):
File "c:\python38\lib\site-packages\kolibri\core\tasks\job.py", line 341, in execute
result = func(*args, **kwargs)
File "c:\python38\lib\site-packages\kolibri\core\tasks\registry.py", line 237, in __call__
return self.func(*args, **kwargs)
File "c:\python38\lib\site-packages\kolibri\core\content\tasks.py", line 532, in remoteimport
transfer_channel(channel_id, DOWNLOAD_METHOD, baseurl=baseurl)
File "c:\python38\lib\site-packages\kolibri\core\content\utils\channel_transfer.py", line 186, in transfer_channel
start_file_transfer(filetransfer, channel_id, dest, no_upgrade, content_dir)
File "c:\python38\lib\site-packages\kolibri\core\content\utils\channel_transfer.py", line 71, in start_file_transfer
filetransfer.run(progress_callback)
File "c:\python38\lib\site-packages\kolibri\utils\file_transfer.py", line 936, in run
self.complete_close_and_finalize()
File "c:\python38\lib\site-packages\kolibri\utils\file_transfer.py", line 519, in complete_close_and_finalize
self.finalize()
File "c:\python38\lib\site-packages\kolibri\utils\file_transfer.py", line 589, in finalize
self._move_tmp_to_dest()
File "c:\python38\lib\site-packages\kolibri\utils\file_transfer.py", line 915, in _move_tmp_to_dest
replace(self.dest_tmp, self.dest)
File "c:\python38\lib\site-packages\kolibri\utils\file_transfer.py", line 111, in replace
os.remove(new_file_path)
PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\Users\\User.DESKTOP-157I6FC\\.kolibri\\content\\databases\\b6cbc97189f25058b0f883a4e3acd425.sqlite3'
WARNING 2025-06-19 11:48:45,588 kolibri.core.content.utils.channel_import Version 16 of channel 1c86976ac8dd5a2086e6819ee6cd4c3f already exists in database; cancelling import of version 16
INFO 2025-06-19 11:48:45,594 kolibri.core.discovery.utils.network.client Attempting connections to variations of the URL: https://studio.learningequality.org/
INFO 2025-06-19 11:48:45,604 kolibri.core.discovery.utils.network.client Attempting connection to: https://studio.learningequality.org/
INFO 2025-06-19 11:48:46,138 kolibri.core.discovery.utils.network.client Success! We connected to: https://studio.learningequality.org/api/public/info/?v=3
INFO 2025-06-19 11:48:46,783 kolibri.core.content.utils.annotation Setting availability of non-topic ContentNode objects based on LocalFile availability in 1 batches of 10000
INFO 2025-06-19 11:48:46,800 kolibri.core.content.utils.annotation Annotating ContentNode objects with children for 7 levels
ERROR 2025-06-19 11:48:46,805 kolibri.core.tasks.job Job 6c3a65895f7f485aaa75bd6088d48992 raised an exception: Traceback (most recent call last):
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\base.py", line 1910, in _execute_context
self.dialect.do_execute(
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\default.py", line 736, in do_execute
cursor.execute(statement, parameters)
sqlite3.OperationalError: unable to open database file
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "c:\python38\lib\site-packages\kolibri\core\tasks\job.py", line 341, in execute
result = func(*args, **kwargs)
File "c:\python38\lib\site-packages\kolibri\core\tasks\registry.py", line 237, in __call__
return self.func(*args, **kwargs)
File "c:\python38\lib\site-packages\kolibri\core\content\tasks.py", line 550, in remoteimport
manager.run()
File "c:\python38\lib\site-packages\kolibri\core\content\utils\resource_import.py", line 210, in run
results = self.run_import()
File "c:\python38\lib\site-packages\kolibri\core\content\utils\resource_import.py", line 307, in run_import
annotation.set_content_visibility(
File "c:\python38\lib\site-packages\kolibri\core\content\utils\annotation.py", line 742, in set_content_visibility
update_content_metadata(
File "c:\python38\lib\site-packages\kolibri\core\content\utils\annotation.py", line 725, in update_content_metadata
recurse_annotation_up_tree(channel_id)
File "c:\python38\lib\site-packages\kolibri\core\content\utils\annotation.py", line 570, in recurse_annotation_up_tree
connection.execute(
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\base.py", line 1385, in execute
return meth(self, multiparams, params, _EMPTY_EXECUTION_OPTS)
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\sql\elements.py", line 334, in _execute_on_connection
return connection._execute_clauseelement(
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\base.py", line 1577, in _execute_clauseelement
ret = self._execute_context(
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\base.py", line 1953, in _execute_context
self._handle_dbapi_exception(
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\base.py", line 2134, in _handle_dbapi_exception
util.raise_(
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\util\compat.py", line 211, in raise_
raise exception
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\base.py", line 1910, in _execute_context
self.dialect.do_execute(
File "C:\Python38\Lib\site-packages\kolibri\dist\sqlalchemy\engine\default.py", line 736, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) unable to open database file
[SQL: UPDATE content_contentnode SET available=?, on_device_resources=? WHERE content_contentnode.channel_id = ? AND content_contentnode.kind = ?]
[parameters: (0, 0, '1c86976ac8dd5a2086e6819ee6cd4c3f', 'topic')]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
INFO 2025-06-19 11:48:46,995 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:48:47,041 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:48:47,106 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:48:47,119 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:48:47,165 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:48:47,227 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:48:50,251 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:48:50,304 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:48:50,403 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"