Resuelto [RESUELTO] Segfault en Kodi 19.4/Kodi 20

juanma1980

Usuario Novato
3 May 2022
8
1
3
41
Enlace al reporte de error
No tengo enlace
¿Verificaste que el error es de Alfa?
Verifiqué que el error es específico de Alfa, no de la web
Sistema operativo
Slackware 15 aarm64
Versión de Alfa
3.6.8
Versión de Kodi
Kodi 19 (o equivalente)
Descripción breve del problema
Segfault al intentar navegar por cualquier sección
Pasos para reproducir el problema
1) Ejecuto kodi
2) Abro alfa
3) Intento entrar a cualquier punto del menú (da igual el que sea, búsqueda, canales, reporte de error, configuración...)
4) Segfault y se reinicia kodi
Muy buenas.
De un tiempo a estar parte cada vez que intento usar el addon de Alfa kodi se reinicia con un segfault. He intentado generar un log con el reporte de error propio de alfa pero es que al intentar activarlo también me da segfault...
Comento mi instalación que posiblemente es algo peculiar aunque siempre he podido usar alfa sin problemas (también adjunto el log)

S.O.: Slackware 15 64 bits (es un sistema aarm64 puro)
Kodi: 19.4 corriendo sobre GBM (vamos, sin las X). He probado muchas versiones, tanto estables como compiladas de git directamente. Incluida la 20 aunque esté en desarrollo.
Python: 3.9.12 aunque también he probado con python 3.8.x (no recuerdo la versión menor)
Alfa: Última versión, directamente descargada de git

He intentado trazar el error pero no he dado con ningun clavo al que aferrarme, por decirlo de alguna forma. Todos los posibles errores que he visto al final me han llevado al mismo punto: segfault al intentar acceder a cualquier sección del plugin.

Sinceramente ya no me quedan ideas y no se por donde tirar, por eso recurro a este foro a ver si me podéis echar una mano. Entiendo que posiblemente sea algo muy obvio pero es que no consigo verlo.

Saludos.
 

Adjuntos

Kingbox

Miembro del equipo
24 Oct 2017
1.494
430
83
Madrid
No se ve mucho en el log, pero da la impresión como si Alfa no estuviera totalmente instalado o hubiera un problema de permisos en las carpetas.
 

juanma1980

Usuario Novato
3 May 2022
8
1
3
41
Es la respuesta que me temía xD. Aparentemente yo no veo nada tampoco. Evidentemente algo está mal no, lo siguiente. Voy a tratar de depurar más a fondo, si obtengo avances los comentaré aunque tengo claro que es algo muy concreto de mi instalación.
Gracias
 

juanma1980

Usuario Novato
3 May 2022
8
1
3
41
Bueno, hasta donde he estado mirando hoy que he tenido un mínimo de tiempo libre parece relacionado con python. El segfault en concreto sucede en LanguageInvoker (no tengo muy claro lo que es, no conozco las tripas de kodi) y por lo que he visto parece que podría venir por cambios internos en python. Ahora mismo estoy mirando de construir python3.10 a ver. Si no lo intentaré con el 3.6. A ver si al final se ve algo de luz...
 

Cylon

Miembro del equipo
31 Ago 2018
25
2
3
Tal vez tengas algún otro Python o librería interfiriendo en el PATH global o del usuario. Cuidado con los VirtualEnvs, PyEnv, Conda, etc.

Una manera de aislar el problema sería lanzar Kodi desde un script donde hayas simplificado al máximo el PATH, poco a poco ir modificando el PATh hasta ajustar el comportamiento.
 

juanma1980

Usuario Novato
3 May 2022
8
1
3
41
Gracias por los comentarios. Efectivamente hay más casos (siempre es un consuelo saber que no se está solo xD ) pero no hay manera de dar con lo que realmente lo provoca.
Ahora mismo estoy con python 3.10.4 y kodi 20 (también he probado el mismo python con kodi 19) y el error se sigue dando.
Probando más cosas he visto que curiosamente me pasa también con el plugin de Moe's TV y con kelebek pero en estos casos ni siquiera aparece nada por los logs. Mirando código veo que hay algo común con los 3 y es que leen código a partir de una cadena en base64 pero, sinceramente, no se de que forma eso podría provocar el segfault. Pienso que debe ser una cuestión de python pero he bajado hasta la 3.8 y seguía teniendo ese problema, tal vez podría probar con una 3.6 a ver si por ahi...
En fin, lo dicho. Gracias y seguiré mirando a ver que encuentro.

p.d. no uso virtualenv ni conda ni nada similar.
 

juanma1980

Usuario Novato
3 May 2022
8
1
3
41
Bueno, bueno, bueno... Después de unas horas trazando el error he visto que el problema venía del propio python y concretamente del modulo de sqlite3.
El bug que me estaba afectando era este:

Después de comentar las lineas 80-84 del fichero /usr/lib64/python3.10/sqlite3/dbapi2.py (funcion convert_timestamp, las relativas al registro de adaptadores y conversores) alfa me funciona a la perfección.

Gracias por todo y a seguir con el buen trabajo. Yo ya paso de mirar más código hasta el 2046 más o menos que menuda panzada a depurar me he pegado... xD

p.d. he ido desactivando cosas hasta llegar al import sqlite3 del tmdb.py, al ver que eso me hacia el segfault se me ha quedado el cuello del revés pero ya ha sido sencillo dar con el bug y la solución.
 
  • Me gusta
Reacciones: Kingbox

Cylon

Miembro del equipo
31 Ago 2018
25
2
3
Bueno, bueno, bueno... Después de unas horas trazando el error he visto que el problema venía del propio python y concretamente del modulo de sqlite3.
El bug que me estaba afectando era este:

Después de comentar las lineas 80-84 del fichero /usr/lib64/python3.10/sqlite3/dbapi2.py (funcion convert_timestamp, las relativas al registro de adaptadores y conversores) alfa me funciona a la perfección.

Gracias por todo y a seguir con el buen trabajo. Yo ya paso de mirar más código hasta el 2046 más o menos que menuda panzada a depurar me he pegado... xD

p.d. he ido desactivando cosas hasta llegar al import sqlite3 del tmdb.py, al ver que eso me hacia el segfault se me ha quedado el cuello del revés pero ya ha sido sencillo dar con el bug y la solución.

Un pedazo de trabajo, sí señor. Tal vez si tienes tiempo podrías echarnos una mano :), una ayuda siempre es bienvenida.