Channel Disappearing on Update of other Channel

Summary

We have 2 channels on most of our Kolibri installations (we call them A and B), when updating channel on Kolibri, sometimes, one of the Channels just disappears - no error, no warning or anything, in task manager, everything seems to be OKAY.

Previously we thought it was a fluke, but now we are seeing it again and again. Now investigating it, I will be updating this post with more info and hopefully someone can help with finding the cause.

Our process is as follows

  • We update Channels on Kolibri Studio
  • We then use ONLINE method to update our Local Kolibri Machine (call it SERVER)
  • We then use this machine to make USBs for updating remote machines and also to update other other machines that we are preparing
  • So Kolibri Studio/ONLINE Mode to update channels is used only once.

Technical details of local Kolibri SERVER - the one used to update other Kolibri PCs

Version:           0.17.5
OS:                Windows-10-10.0.19041-SP0
Python:            3.6.8
Installer:         Windows - v1.5.0
Server:            Cheroot/10.0.1
Database:          C:\Users\FreePik\.kolibri\db.sqlite3
Free disk space:   39 GB
Server time:       Wed Jun 18 2025 10:54:49 GMT+0500 (Pakistan Standard Time)
Server timezone:   Asia/Karachi
Device ID:         197892cdcb1e781f78af80e7b95c6e8e

Latest Disappearance (yesterday: 17 June 2025)
We were trying to update our local Kolibri Server using Kolibri Studio/ONLINE mode, we updated Channel B and Channel A disappeared.

Now if I am trying to import Channel A using Token, it is not letting me do it.

After restarting, I was able to import the MISSING Channel via Token import (import entire channel)
The process which was not allowing IMPORT earlier

Hi @ZaidPirwani,

That is certainly odd behaviour. To help us dig into this more, could you use the private message functionality of this forum to send me the tokens or channel ids of channels A and B, and share the Kolibri log files of the SERVER device? This section of our documentation should give more details: Troubleshooting - Kolibri User Guide

Kind Regards,
Richard

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"

Meanwhile, while I was trying importing/updaing channels, the content in the system stopped showign up, the log showed error related to Django not available, this started working by restartign the Kolibri software

ERROR 2025-06-19 11:36:20,766 django.request Service Unavailable: /api/logger/trackprogress/

QUIT from tray icon and then open via the Desktop shortcut

Relevant Log portion


INFO 2025-06-19 11:36:20,009 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:36:20,023 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:20,069 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:20,132 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:36:20,766 cherrypy.access 127.0.0.1 - - "POST /api/logger/trackprogress/" 503 0 "http://127.0.0.1:8080/en/learn/" "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"
ERROR 2025-06-19 11:36:20,766 django.request Service Unavailable: /api/logger/trackprogress/
INFO 2025-06-19 11:36:22,619 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 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:36:22,705 cherrypy.access 127.0.0.1 - - "PUT /api/auth/session/current/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:22,748 cherrypy.access 127.0.0.1 - - "GET /learn/api/state" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:22,788 cherrypy.access 127.0.0.1 - - "GET /api/content/channel/" 304 0 "http://127.0.0.1:8080/en/learn/" "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:36:22,801 cherrypy.access 127.0.0.1 - - "GET /api/notifications/pingbacknotification/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:22,820 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnode/d0b807e875e153baac54d9b1c4082fee/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:22,852 cherrypy.access 127.0.0.1 - - "GET /api/bookmarks/bookmarks/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:22,854 cherrypy.access 127.0.0.1 - - "POST /api/logger/trackprogress/" 503 0 "http://127.0.0.1:8080/en/learn/" "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"
ERROR 2025-06-19 11:36:22,854 django.request Service Unavailable: /api/logger/trackprogress/
INFO 2025-06-19 11:36:23,148 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:23,200 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:23,299 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:36:23,313 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:23,355 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:23,419 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:36:26,439 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:26,491 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:26,553 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:36:26,566 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:26,617 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:26,678 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:36:29,154 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnode/" 304 0 "http://127.0.0.1:8080/en/learn/" "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:36:29,175 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnode_tree/2a092d425aa255a69d88806449b5f8c4/" 304 0 "http://127.0.0.1:8080/en/learn/" "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:36:29,182 cherrypy.access 127.0.0.1 - - "GET /api/content/channel/" 304 0 "http://127.0.0.1:8080/en/learn/" "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:36:29,213 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnodeprogress/2a092d425aa255a69d88806449b5f8c4/tree/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:29,250 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnode/" 304 0 "http://127.0.0.1:8080/en/learn/" "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:36:29,255 cherrypy.access 127.0.0.1 - - "GET /api/content/channel-thumbnail/1c86976ac8dd5a2086e6819ee6cd4c3f/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:29,696 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:29,747 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:29,810 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:36:29,823 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:29,871 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:29,933 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:36:31,615 cherrypy.access 127.0.0.1 - - "GET /api/content/channel/" 304 0 "http://127.0.0.1:8080/en/learn/" "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:36:31,698 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnodeprogress/947ca6a9be3e52d0a1f9f2f2d6b04ab8/tree/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:31,713 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnode_tree/947ca6a9be3e52d0a1f9f2f2d6b04ab8/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:31,872 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnode/" 200 0 "http://127.0.0.1:8080/en/learn/" "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"
ERROR 2025-06-19 11:36:31,896 django.request Internal Server Error: /api/content/contentnode_granular/b6cbc97189f25058b0f883a4e3acd425/
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\dist\django\core\handlers\exception.py", line 47, in inner
    response = get_response(request)
  File "C:\Python38\Lib\site-packages\kolibri\dist\django\core\handlers\base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "C:\Python38\Lib\site-packages\kolibri\dist\django\views\decorators\csrf.py", line 54, in wrapped_view
    return view_func(*args, **kwargs)
  File "C:\Python38\Lib\site-packages\kolibri\dist\rest_framework\viewsets.py", line 125, in view
    return self.dispatch(request, *args, **kwargs)
  File "C:\Python38\Lib\site-packages\kolibri\dist\rest_framework\views.py", line 509, in dispatch
    response = self.handle_exception(exc)
  File "C:\Python38\Lib\site-packages\kolibri\dist\rest_framework\views.py", line 469, in handle_exception
    self.raise_uncaught_exception(exc)
  File "C:\Python38\Lib\site-packages\kolibri\dist\rest_framework\views.py", line 480, in raise_uncaught_exception
    raise exc
  File "C:\Python38\Lib\site-packages\kolibri\dist\rest_framework\views.py", line 506, in dispatch
    response = handler(request, *args, **kwargs)
  File "C:\Python38\Lib\site-packages\kolibri\dist\django\utils\decorators.py", line 43, in _wrapper
    return bound_method(*args, **kwargs)
  File "C:\Python38\Lib\site-packages\kolibri\dist\django\views\decorators\http.py", line 99, in inner
    response = func(request, *args, **kwargs)
  File "c:\python38\lib\site-packages\kolibri\core\content\api.py", line 1532, in retrieve
    self.channel_stats = get_channel_stats_from_studio(channel_id)
  File "c:\python38\lib\site-packages\kolibri\core\content\utils\importability_annotation.py", line 399, in get_channel_stats_from_studio
    channel_stats = get_channel_annotation_stats(channel_id)
  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, 'b6cbc97189f25058b0f883a4e3acd425', 'topic')]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
INFO 2025-06-19 11:36:31,898 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnode_granular/b6cbc97189f25058b0f883a4e3acd425/" 500 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:36:32,872 cherrypy.access 127.0.0.1 - - "POST /api/logger/trackprogress/" 503 0 "http://127.0.0.1:8080/en/learn/" "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"
ERROR 2025-06-19 11:36:32,872 django.request Service Unavailable: /api/logger/trackprogress/
INFO 2025-06-19 11:36:32,963 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:33,015 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:33,078 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:36:33,093 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:33,139 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:33,203 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:36:33,220 cherrypy.access 127.0.0.1 - - "GET /api/content/channel/" 304 0 "http://127.0.0.1:8080/en/learn/" "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:36:33,284 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnodeprogress/0702289b0bee51c6b322af9ee963913c/tree/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:33,296 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnode_tree/0702289b0bee51c6b322af9ee963913c/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:33,358 cherrypy.access 127.0.0.1 - - "GET /api/content/channel-thumbnail/1c86976ac8dd5a2086e6819ee6cd4c3f/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:33,378 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnode/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:34,211 cherrypy.access 127.0.0.1 - - "GET /api/content/channel/" 304 0 "http://127.0.0.1:8080/en/learn/" "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:36:34,236 cherrypy.access 127.0.0.1 - - "POST /api/logger/trackprogress/" 503 0 "http://127.0.0.1:8080/en/learn/" "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"
ERROR 2025-06-19 11:36:34,236 django.request Service Unavailable: /api/logger/trackprogress/
INFO 2025-06-19 11:36:34,241 cherrypy.access 127.0.0.1 - - "GET /api/bookmarks/bookmarks/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:36,218 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:36,269 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:36,330 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:36:36,345 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:36,392 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:36,455 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:36:39,474 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:39,524 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:39,620 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:36:39,632 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:39,677 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:39,742 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:36:41,420 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 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:36:41,510 cherrypy.access 127.0.0.1 - - "PUT /api/auth/session/current/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:41,564 cherrypy.access 127.0.0.1 - - "GET /learn/api/state" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:41,606 cherrypy.access 127.0.0.1 - - "GET /api/content/channel/" 304 0 "http://127.0.0.1:8080/en/learn/" "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:36:41,629 cherrypy.access 127.0.0.1 - - "GET /api/notifications/pingbacknotification/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:41,634 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnode/e590234bb6cd5f108695d80c6d47b834/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:41,675 cherrypy.access 127.0.0.1 - - "GET /api/bookmarks/bookmarks/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:41,676 cherrypy.access 127.0.0.1 - - "POST /api/logger/trackprogress/" 503 0 "http://127.0.0.1:8080/en/learn/" "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"
ERROR 2025-06-19 11:36:41,677 django.request Service Unavailable: /api/logger/trackprogress/
INFO 2025-06-19 11:36:42,722 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 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:36:42,759 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:42,788 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:42,802 cherrypy.access 127.0.0.1 - - "PUT /api/auth/session/current/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:42,848 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:36:42,872 cherrypy.access 127.0.0.1 - - "GET /learn/api/state" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:42,874 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:42,911 cherrypy.access 127.0.0.1 - - "GET /api/content/channel/" 304 0 "http://127.0.0.1:8080/en/learn/" "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:36:42,919 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnode/e590234bb6cd5f108695d80c6d47b834/" 304 0 "http://127.0.0.1:8080/en/learn/" "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:36:42,926 cherrypy.access 127.0.0.1 - - "GET /api/notifications/pingbacknotification/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:42,933 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:42,980 cherrypy.access 127.0.0.1 - - "POST /api/logger/trackprogress/" 503 0 "http://127.0.0.1:8080/en/learn/" "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"
ERROR 2025-06-19 11:36:42,980 django.request Service Unavailable: /api/logger/trackprogress/
INFO 2025-06-19 11:36:42,983 cherrypy.access 127.0.0.1 - - "GET /api/bookmarks/bookmarks/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:42,986 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:36:43,995 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnode/" 304 0 "http://127.0.0.1:8080/en/learn/" "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:36:44,002 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnode_tree/0702289b0bee51c6b322af9ee963913c/" 304 0 "http://127.0.0.1:8080/en/learn/" "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:36:44,010 cherrypy.access 127.0.0.1 - - "GET /api/content/channel/" 304 0 "http://127.0.0.1:8080/en/learn/" "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:36:44,060 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnode/" 304 0 "http://127.0.0.1:8080/en/learn/" "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:36:44,061 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnodeprogress/0702289b0bee51c6b322af9ee963913c/tree/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:44,063 cherrypy.access 127.0.0.1 - - "GET /api/content/channel-thumbnail/1c86976ac8dd5a2086e6819ee6cd4c3f/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:45,572 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnode_tree/1c86976ac8dd5a2086e6819ee6cd4c3f/" 304 0 "http://127.0.0.1:8080/en/learn/" "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:36:45,575 cherrypy.access 127.0.0.1 - - "GET /api/content/channel/" 304 0 "http://127.0.0.1:8080/en/learn/" "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:36:45,657 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnode/" 304 0 "http://127.0.0.1:8080/en/learn/" "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:36:45,676 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnodeprogress/1c86976ac8dd5a2086e6819ee6cd4c3f/tree/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:46,004 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:46,056 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:46,119 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:36:46,132 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:46,179 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:46,248 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:36:46,281 cherrypy.access 127.0.0.1 - - "GET /api/content/channel/" 304 0 "http://127.0.0.1:8080/en/learn/" "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:36:46,385 cherrypy.access 127.0.0.1 - - "GET /learn/api/homehydrate" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:46,411 cherrypy.access 127.0.0.1 - - "GET /api/content/channel-thumbnail/b6cbc97189f25058b0f883a4e3acd425/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:47,502 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnode/" 304 0 "http://127.0.0.1:8080/en/learn/" "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:36:47,511 cherrypy.access 127.0.0.1 - - "GET /api/content/channel/" 304 0 "http://127.0.0.1:8080/en/learn/" "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:36:47,620 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnodeprogress/b6cbc97189f25058b0f883a4e3acd425/tree/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:47,649 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnode_tree/b6cbc97189f25058b0f883a4e3acd425/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:47,743 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnode/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:49,022 cherrypy.access 127.0.0.1 - - "GET /api/content/channel/" 304 0 "http://127.0.0.1:8080/en/learn/" "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:36:49,105 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnodeprogress/b92633be65b15cdfaf30c96e501863fa/tree/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:49,119 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnode_tree/b92633be65b15cdfaf30c96e501863fa/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:49,206 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnode/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:49,279 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:49,335 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:49,395 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:36:49,410 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:49,457 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:49,519 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:36:50,306 cherrypy.access 127.0.0.1 - - "GET /api/content/channel/" 304 0 "http://127.0.0.1:8080/en/learn/" "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:36:50,372 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnodeprogress/0e740e97a8105ce783e871b9f3182178/tree/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:50,381 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnode_tree/0e740e97a8105ce783e871b9f3182178/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:50,476 cherrypy.access 127.0.0.1 - - "GET /api/content/contentnode/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:51,376 cherrypy.access 127.0.0.1 - - "GET /api/content/channel/" 304 0 "http://127.0.0.1:8080/en/learn/" "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:36:51,439 cherrypy.access 127.0.0.1 - - "POST /api/logger/trackprogress/" 503 0 "http://127.0.0.1:8080/en/learn/" "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"
ERROR 2025-06-19 11:36:51,439 django.request Service Unavailable: /api/logger/trackprogress/
INFO 2025-06-19 11:36:51,500 cherrypy.access 127.0.0.1 - - "GET /api/bookmarks/bookmarks/" 200 0 "http://127.0.0.1:8080/en/learn/" "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:36:52,544 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:52,598 cherrypy.access 127.0.0.1 - - "GET /en/" 302 0 "" "Kolibri session"
INFO 2025-06-19 11:36:52,661 cherrypy.access 127.0.0.1 - - "GET /en/learn/" 200 0 "" "Kolibri session"
INFO 2025-06-19 11:36:52,673 cherrypy.access 127.0.0.1 - - "GET /" 302 0 "" "Kolibri session"

Looking at the logs the main error does seem to be an error in trying to open the database file for writing. The only thing I can think of that might be causing this is resource contention for the database file. Is there any possibility that more than one Kolibri process is running at once?

It seems that disk space is not the issue, as your system info reports plenty available. The curious thing is that it is the non-imported channel that is being affected by this. My only thought is that somehow the write ahead log for the database is being affected by the import in a way that is effectively rolling back previous transactions.

If you look at in the .kolibri folder do you notice any files with the suffix WAL or SHM? What size are they?

there is one of each, WAL and SHM File, .WAL is 9KB and .SHM is 32KB

Also, I see 2 Kolibri in Task Manager, is this cause for concern ?

It’s possible that this might just be the Python process and the tray icon notification - so I wouldn’t want to say it’s an issue right away.

The WAL and SHM files seem reasonably sized so the concern I had about the database write ahead log never getting written to the main database seems not to be the case.

When the errors happen is the update of one channel still happening when you update the other? I am just trying to hone in on what the inciting incident is here!

I tried updating both together and also separately.

I think this may be due to Windows/User, I tried running new version of Kolibri Setup and it gave User permission error, we have same image on several machines, I will check further on Monday.

THANKS.