Kolibri halts on resource presentation

Hi
Kolibri server crashes while presenting a pdf on the user side.
You can test it kolibri.ucol.mx contents are open.

Pdf embeded file is shown correctly, but after scrolling down some pages, the system halts, the server catches the error and shows an error page.

It provides this code for support:

{
“request”: {
“path”: “/api/logger/contentsessionlog/25b656207f8e2e43688fc6d362ae929d/”,
“method”: “PATCH”,
“entity”: “{“channel_id”:“edbd973ecce946838e09204fdcbad4d5”,“content_id”:“9c52e212ee3d48a49d53cbb971050db8”,“kind”:“document”,“start_timestamp”:“2020-04-23T22:50:08.605Z”,“end_timestamp”:“2020-04-23T22:50:14.038Z”,“time_spent”:4.699,“progress”:0.0006549511854951185,“extra_fields”:{},“user”:null,“id”:“25b656207f8e2e43688fc6d362ae929d”}”,
“params”: {},
“headers”: {
“Content-Type”: “application/json”,
“Accept”: “application/json, application/json;q=0.8, text/plain;q=0.5, /;q=0.2”,
“X-CSRFToken”: “jbDSvUVPrivoFCrUTpwpCgsWS4ktxoZdcjv1ZC70fQwznzw2gYwHjBjMXUnYKyn0”
},
“canceled”: true
},
“error”: “precanceled”
}

Hey there,

Thank you for sharing the information about your error. Unfortunately, the cause of the issue is not immediately clear from that log alone.

Would you please share your log files with us? The link below is our documentation on how to find your Kolibri log files. With this, we may be able to get more insight into the cause of the problem.

https://kolibri.readthedocs.io/en/latest/manage/get_support.html#locate-kolibri-log-files

Also, can you please let us know what operating system you are running Kolibri on? Are you running any kind of firewall software on the same computer that you are running Kolibri on?

Best regards,
Jacob

Hi Jacob,
thanks for your prompt response.
we are running our Kolibri server in a i7-7700 3.6GHz workstation, 16GB RAM
Windows 10 pro, 64 bits
Windows firewall is running by default.

I turned the firewall off, got a faster response on client, could see almost 10 pages, but the server crashed the presentation as before.

This is the system monitor:

Startup command:

C:\Users\USUARIO>kolibri start --port 80
e[37mINFO Running Kolibri with the following settings: kolibri.deployment.default.settings.basee[0m
e[37mINFO Running Kolibri as background processe[0m
e[31mERROR Could not detect an IP address that Kolibri binds to, but try opening up the following addresses:
e[0m
http://localhost:80
http://127.0.0.1:80

e[37mINFO Going to background mode, logging to C:\Users\USUARIO.kolibri\logs\kolibri.txte[0m

Thanks a lot, I hope we can put this to work, the University is closed but teachers and alumni (14,000) are working at home.

Regards,
Alejandro Sánchez

And the logs you requested:
debug.txt is empty

Cannot paste log files here, files are shared on drive:

kolibri.txt --> https://drive.google.com/file/d/1AR8CLbL0_SF-TqGxYZwFuJ4StcVYzIPI/view?usp=sharing
kolibri.txt.2020-04-23.txt --> https://drive.google.com/file/d/1UZUbOhJARNwH2GmHQdy9yEiz8QAj76C-/view?usp=sharing

Hey Alejandro,

Thank you for the additional details.

This is a very strange issue. Several of our team has looked at your site and replicated the issue but the cause is not immediately clear.

Are you using nginx or apache by any chance?

The issue is that your browser is trying to send a request to the Kolibri server - but it is canceled and reset before it can even get there. We think that maybe there might be something configured that is disallowing PATCH type requests to get to the server. Something like nginx or apache are potential culprits.

Best regards,
Jacob Pierce

Hi Jacob,
it is for sure a strange behavior. Back on Wednesday it was working just fine, I could read entire pdf files without any problem.
We added extra memory up to 32GB

Today the problem is back again, failing to keep the pdf presentation stable.

The issue is that your browser is trying to send a request to the Kolibri server - but it is canceled and reset before it can even get there.

Well, my browser actually gets a response, I can see the pdf viewer, the pdf content, but as I scroll down the server catches an error.
We don’t have any other service running now. We had a VirtualBox server running, but the whole thing was shot down.

I ran a test, showing the taskmanager (remote desktop) while scrolling down, see CPU and HD reached 100% for a while, crashed:

Did something else, locally, using a browser on the server console, draws no error at all. HD activity rises as well in pikes.
Then I browsed from a computer in the same local network as the server, no error again.
Then back on my computer at home, the server crashes…

I cannot find any troubling service running.
Regards,
Alejandro

these are the running services :
SERVICE: AdobeARMservice
SERVICE_NAME: Adobe Acrobat Update Service
TYPE: 10 WIN32_OWN_PROCESS

SERVICE: Appinfo
SERVICE_NAME: Información de la aplicación
TYPE: 30 WIN32

SERVICE: AudioEndpointBuilder
SERVICE_NAME: Compilador de extremo de audio de Windows
TYPE: 30 WIN32

SERVICE: Audiosrv
SERVICE_NAME: Audio de Windows
TYPE: 10 WIN32_OWN_PROCESS

SERVICE: BFE
SERVICE_NAME: Motor de filtrado de base
TYPE: 20 WIN32_SHARE_PROCESS

SERVICE: BITS
SERVICE_NAME: Servicio de transferencia inteligente en segundo plano (BITS)
TYPE: 30 WIN32

SERVICE: BrokerInfrastructure
SERVICE_NAME: Servicio de infraestructura de tareas en segundo plano
TYPE: 20 WIN32_SHARE_PROCESS

SERVICE: BthAvctpSvc
SERVICE_NAME: Servicio AVCTP
TYPE: 30 WIN32

SERVICE: camsvc
SERVICE_NAME: Servicio Administrador de funcionalidad de acceso
TYPE: 30 WIN32

SERVICE: CDPSvc
SERVICE_NAME: Servicio de plataforma de dispositivos conectados
TYPE: 30 WIN32

SERVICE: CertPropSvc
SERVICE_NAME: Propagación de certificados
TYPE: 30 WIN32

SERVICE: ClipSVC
SERVICE_NAME: Servicio de licencia de cliente (ClipSVC)
TYPE: 30 WIN32

SERVICE: CoreMessagingRegistrar
SERVICE_NAME: CoreMessaging
TYPE: 20 WIN32_SHARE_PROCESS

SERVICE: cphs
SERVICE_NAME: Intel(R) Content Protection HECI Service
TYPE: 10 WIN32_OWN_PROCESS

SERVICE: cplspcon
SERVICE_NAME: Intel(R) Content Protection HDCP Service
TYPE: 10 WIN32_OWN_PROCESS

SERVICE: CryptSvc
SERVICE_NAME: Servicios de cifrado
TYPE: 30 WIN32

SERVICE: CxAudioSvc
SERVICE_NAME: CxAudioSvc
TYPE: 10 WIN32_OWN_PROCESS

SERVICE: CxUtilSvc
SERVICE_NAME: CxUtilSvc
TYPE: 10 WIN32_OWN_PROCESS

SERVICE: DcomLaunch
SERVICE_NAME: Iniciador de procesos de servidor DCOM
TYPE: 20 WIN32_SHARE_PROCESS

SERVICE: DeviceAssociationService
SERVICE_NAME: Servicio de asociación de dispositivos
TYPE: 30 WIN32

SERVICE: DevQueryBroker
SERVICE_NAME: Agente de detección en segundo plano de DevQuery
TYPE: 30 WIN32

SERVICE: Dhcp
SERVICE_NAME: Cliente DHCP
TYPE: 30 WIN32

SERVICE: DiagTrack
SERVICE_NAME: Experiencias del usuario y telemetría asociadas
TYPE: 10 WIN32_OWN_PROCESS

SERVICE: DispBrokerDesktopSvc
SERVICE_NAME: Mostrar el servicio de directivas
TYPE: 30 WIN32

SERVICE: Dnscache
SERVICE_NAME: Cliente DNS
TYPE: 30 WIN32

SERVICE: DoSvc
SERVICE_NAME: Optimización de distribución
TYPE: 30 WIN32

SERVICE: DPS
SERVICE_NAME: Servicio de directivas de diagnóstico
TYPE: 30 WIN32

SERVICE: DsSvc
SERVICE_NAME: Servicio de uso compartido de datos
TYPE: 30 WIN32

SERVICE: DusmSvc
SERVICE_NAME: Uso de datos
TYPE: 10 WIN32_OWN_PROCESS

SERVICE: EventLog
SERVICE_NAME: Registro de eventos de Windows
TYPE: 30 WIN32

SERVICE: EventSystem
SERVICE_NAME: Sistema de eventos COM+
TYPE: 30 WIN32

SERVICE: fdPHost
SERVICE_NAME: Host de proveedor de detección de función
TYPE: 30 WIN32

SERVICE: FDResPub
SERVICE_NAME: Publicación de recurso de detección de función
TYPE: 30 WIN32

SERVICE: FontCache
SERVICE_NAME: Servicio de caché de fuentes de Windows
TYPE: 30 WIN32

SERVICE: hidserv
SERVICE_NAME: Servicio de dispositivo de interfaz humana
TYPE: 30 WIN32

SERVICE: igfxCUIService2.0.0.0
SERVICE_NAME: Intel(R) HD Graphics Control Panel Service
TYPE: 10 WIN32_OWN_PROCESS

SERVICE: IKEEXT
SERVICE_NAME: Módulos de creación de claves de IPsec para IKE y AuthIP
TYPE: 30 WIN32

SERVICE: InstallService
SERVICE_NAME: Servicio de instalación de Microsoft Store
TYPE: 10 WIN32_OWN_PROCESS

SERVICE: iphlpsvc
SERVICE_NAME: Aplicación auxiliar IP
TYPE: 30 WIN32

SERVICE: KeyIso
SERVICE_NAME: Aislamiento de claves CNG
TYPE: 20 WIN32_SHARE_PROCESS

SERVICE: LanmanServer
SERVICE_NAME: Servidor
TYPE: 30 WIN32

SERVICE: LanmanWorkstation
SERVICE_NAME: Estación de trabajo
TYPE: 30 WIN32

SERVICE: lfsvc
SERVICE_NAME: Servicio de geolocalización
TYPE: 30 WIN32

SERVICE: LicenseManager
SERVICE_NAME: Servicio de administrador de licencias de Windows
TYPE: 30 WIN32

SERVICE: lmhosts
SERVICE_NAME: Aplicación auxiliar de NetBIOS sobre TCP/IP
TYPE: 30 WIN32

SERVICE: LSM
SERVICE_NAME: Administrador de sesión local
TYPE: 30 WIN32

SERVICE: mpssvc
SERVICE_NAME: Firewall de Windows Defender
TYPE: 20 WIN32_SHARE_PROCESS

SERVICE: NcbService
SERVICE_NAME: Agente de conexión de red
TYPE: 30 WIN32

SERVICE: NcdAutoSetup
SERVICE_NAME: Configuración automática de dispositivos conectados a la red
TYPE: 30 WIN32

SERVICE: netprofm
SERVICE_NAME: Servicio de lista de redes
TYPE: 30 WIN32

SERVICE: NlaSvc
SERVICE_NAME: Reconoc. ubicación de red
TYPE: 30 WIN32

SERVICE: nsi
SERVICE_NAME: Servicio Interfaz de almacenamiento en red
TYPE: 30 WIN32

SERVICE: PcaSvc
SERVICE_NAME: Servicio Asistente para la compatibilidad de programas
TYPE: 30 WIN32

SERVICE: PlugPlay
SERVICE_NAME: Plug and Play
TYPE: 30 WIN32

SERVICE: Power
SERVICE_NAME: Energía
TYPE: 20 WIN32_SHARE_PROCESS

SERVICE: ProfSvc
SERVICE_NAME: Servicio de perfil de usuario
TYPE: 30 WIN32

SERVICE: RasMan
SERVICE_NAME: Administrador de conexiones de acceso remoto
TYPE: 20 WIN32_SHARE_PROCESS

SERVICE: RpcEptMapper
SERVICE_NAME: Asignador de extremos de RPC
TYPE: 20 WIN32_SHARE_PROCESS

SERVICE: RpcSs
SERVICE_NAME: Llamada a procedimiento remoto (RPC)
TYPE: 20 WIN32_SHARE_PROCESS

SERVICE: SamSs
SERVICE_NAME: Administrador de cuentas de seguridad
TYPE: 20 WIN32_SHARE_PROCESS

SERVICE: ScDeviceEnum
SERVICE_NAME: Servicio de enumeración de dispositivos de tarjeta inteligente
TYPE: 30 WIN32

SERVICE: Schedule
SERVICE_NAME: Programador de tareas
TYPE: 30 WIN32

SERVICE: SecurityHealthService
SERVICE_NAME: Servicio Seguridad de Windows
TYPE: 10 WIN32_OWN_PROCESS

SERVICE: SEMgrSvc
SERVICE_NAME: Administrador de pagos y NFC/SE
TYPE: 10 WIN32_OWN_PROCESS

SERVICE: SENS
SERVICE_NAME: Servicio de notificación de eventos de sistema
TYPE: 30 WIN32

SERVICE: SessionEnv
SERVICE_NAME: Configuración de Escritorio remoto
TYPE: 30 WIN32

SERVICE: SgrmBroker
SERVICE_NAME: Agente de supervisión en tiempo de ejecución de Protección del sistema
TYPE: 10 WIN32_OWN_PROCESS

SERVICE: ShellHWDetection
SERVICE_NAME: Detección de hardware shell
TYPE: 30 WIN32

SERVICE: Spooler
SERVICE_NAME: Cola de impresión
TYPE: 110 WIN32_OWN_PROCESS (interactive)

SERVICE: SSDPSRV
SERVICE_NAME: Detección SSDP
TYPE: 30 WIN32

SERVICE: SstpSvc
SERVICE_NAME: Servicio de protocolo de túnel de sockets seguros
TYPE: 30 WIN32

SERVICE: StateRepository
SERVICE_NAME: Servicio de repositorio de estado
TYPE: 30 WIN32

SERVICE: stisvc
SERVICE_NAME: Adquisición de imágenes de Windows (WIA)
TYPE: 10 WIN32_OWN_PROCESS

SERVICE: StorSvc
SERVICE_NAME: Servicio de almacenamiento
TYPE: 30 WIN32

SERVICE: SysMain
SERVICE_NAME: SysMain
TYPE: 30 WIN32

SERVICE: SystemEventsBroker
SERVICE_NAME: Agente de eventos del sistema
TYPE: 20 WIN32_SHARE_PROCESS

SERVICE: TabletInputService
SERVICE_NAME: Servicio de Panel de escritura a mano y teclado táctil
TYPE: 30 WIN32

SERVICE: TapiSrv
SERVICE_NAME: Telefonía
TYPE: 30 WIN32

SERVICE: TermService
SERVICE_NAME: Servicios de Escritorio remoto
TYPE: 30 WIN32

SERVICE: Themes
SERVICE_NAME: Temas
TYPE: 30 WIN32

SERVICE: TimeBrokerSvc
SERVICE_NAME: Agente de eventos de tiempo
TYPE: 30 WIN32

SERVICE: TokenBroker
SERVICE_NAME: Administrador de cuentas web
TYPE: 30 WIN32

SERVICE: TrkWks
SERVICE_NAME: Cliente de seguimiento de vínculos distribuidos
TYPE: 30 WIN32

SERVICE: UmRdpService
SERVICE_NAME: Redirector de puerto en modo usuario de Servicios de Escritorio remoto
TYPE: 30 WIN32

SERVICE: UserManager
SERVICE_NAME: Administrador de usuarios
TYPE: 30 WIN32

SERVICE: UsoSvc
SERVICE_NAME: Servicio Orquestador de actualizaciones
TYPE: 30 WIN32

SERVICE: VaultSvc
SERVICE_NAME: Administrador de credenciales
TYPE: 20 WIN32_SHARE_PROCESS

SERVICE: WbioSrvc
SERVICE_NAME: Servicio biométrico de Windows
TYPE: 30 WIN32

SERVICE: Wcmsvc
SERVICE_NAME: Administrador de conexiones de Windows
TYPE: 10 WIN32_OWN_PROCESS

SERVICE: WdiServiceHost
SERVICE_NAME: Host del servicio de diagnóstico
TYPE: 30 WIN32

SERVICE: WdNisSvc
SERVICE_NAME: Servicio de inspección de red de Antivirus de Windows Defender
TYPE: 10 WIN32_OWN_PROCESS

SERVICE: WinDefend
SERVICE_NAME: Servicio de Antivirus de Windows Defender
TYPE: 10 WIN32_OWN_PROCESS

SERVICE: WinHttpAutoProxySvc
SERVICE_NAME: Servicio de detección automática de proxy web WinHTTP
TYPE: 30 WIN32
(NOT_STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
SERVICE: Winmgmt
SERVICE_NAME: Instrumental de administración de Windows
TYPE: 30 WIN32
(STOPPABLE, PAUSABLE, ACCEPTS_SHUTDOWN)
SERVICE: WpnService
SERVICE_NAME: Servicio del sistema de notificaciones de inserción de Windows
TYPE: 30 WIN32

SERVICE: wscsvc
SERVICE_NAME: Centro de seguridad
TYPE: 30 WIN32

SERVICE: WSearch
SERVICE_NAME: Windows Search
TYPE: 10 WIN32_OWN_PROCESS

SERVICE: wuauserv
SERVICE_NAME: Windows Update
TYPE: 30 WIN32

SERVICE: cbdhsvc_562a3
SERVICE_NAME: Servicio de usuario del portapapeles_562a3
TYPE: f0 ERROR

SERVICE: CDPUserSvc_562a3
SERVICE_NAME: Servicio de usuario de plataforma de dispositivos conectados_562a3
TYPE: f0 ERROR

SERVICE: OneSyncSvc_562a3
SERVICE_NAME: Sincronizar host_562a3
TYPE: e0 USER_SHARE_PROCESS INSTANCE

SERVICE: PimIndexMaintenanceSvc_562a3
SERVICE_NAME: Datos de contactos_562a3
TYPE: e0 USER_SHARE_PROCESS INSTANCE

SERVICE: UnistoreSvc_562a3
SERVICE_NAME: Almacenamiento de datos de usuarios_562a3
TYPE: e0 USER_SHARE_PROCESS INSTANCE

SERVICE: UserDataSvc_562a3
SERVICE_NAME: Acceso a datos de usuarios_562a3
TYPE: e0 USER_SHARE_PROCESS INSTANCE

SERVICE: WpnUserService_562a3
SERVICE_NAME: Servicio de usuario de notificaciones de inserción de Windows_562a3
TYPE: f0 ERROR

Hi Jacob,
definitely when the server is accessed out of the wired network in campus, latency becomes an issue.
We only see the failing behavior outside of the local network.

Do you know of a latency parameter? Can you ask your development mates if the python server is expecting ACK from the client side? Maybe python is too eager to get a prompt response, maybe motivated on the aim of physical distribution of the servers.

Regards,
Alejandro

Hi @asanchez,

From the described behavior, it seems that it’s not a problem in Kolibri itself. From the client-side (browser), it appears that the request (HTTP PATCH) has failed because it’s somehow canceled in the process – it’s unclear why.

Is this a correct description of the problem? The network traffic is interrupted when Kolibri is accessed from an external network and the interruption has only been seen with HTTP PATCH requests.

Do you have any way of configuring/troubleshooting the network, firewall, gateways etc? Can you connect to the server from outside to troubleshoot? Do you have a network administrator that you can talk to about this?

These are suggestions, I think especially the first one could be worth looking into:

  1. A firewall is interfering with the HTTP PATCH requests
  2. There is an internal IP address conflict (your Kolibri server uses an IP that’s not unique on the network
  3. The server’s Windows Defender Firewall (unlikely because it works from the local network)

Hi Benjamin,

we are running the Kolibri server behind the institution’s firewall, which was detecting the browsing of any content under the route /es-419/learn/#/topics/c/ as a threat. The page is calling back the server ¿is that really needed?

We had to exclude the server from the firewall protection in order to have access.

The network administrator detected that the browser was addressing the kolibri server, it has a DNS name assigned, through the IP, he thinks this could be the origin of the firewall alarm.

Maybe you could add a second behavior of the browsing page to communicate with the server by the DNS name on the URL instead of using the IP, for institutions that could use Kolibri as content provider.

We will be using both a central Kolibri server and individual Kolibri servers for libraries without internet connection or misbehaving connections.

Thanks for your assistance, the problem was solved.
Alejandro

Hi @asanchez

Glad to hear that the problem was solved!

Thanks for explaining the issue, too. There are many callbacks going on in the UI. Here’s a glimpse from the online demo server:

image

I think your issue description sounds very plausible: If Kolibri is calling back an IP address directly, rather than the externally known DNS name, a Firewall might get confused or alerted.

Two questions:

  • Did you solve this by disabling the server’s Firewall or another network firewall?
  • Would you be able to specify the problematic network request and send a link to a page that causes it?

If we can narrow down which network request that got blocked and why, then we would be able to file a good issue description and get a fix released.

Thanks,
Ben