(2018-09-06, 23:59)mglae Wrote: Shutting down the system or stopping kodi usually ends in a memory management error and creates a crash dump.
The error is not visible in default configuration because systemd kills the process before crash dump generation has finished. I have increased the stop timeout by creating
/storage/.config/system.d/kodi.service.d/timeout.conf
:
Code:
[Service]
TimeoutStopSec=30
Bisecting the builds results in #0210 (yes, Feb 10) being the first one having the error.
Can someone else confirm the issue?
Funnily enough I'd been looking at this same crash-on-exit last Sunday.
I started with an RPi2 build which is crashing conistently in
CProgramThumbLoader
(
http://ix.io/1ma9), while Generic is crashing in either
GUIFontManager
(
http://ix.io/1ma5) or
CNfsConnection
(
http://ix.io/1ma6).
Using a recent Generic build, ie. #0906, with the debug overlay enabled I'm able to reproduce the
GUIFontManager
crash on exit. However with the debug overlay disabled, the crash now occurs in
CNfsConnection
(
http://ix.io/1ma6) as I have nfs:// sources.
Without debug logging enabled and without nfs:// sources, there are no crashes on exit with a Generic build.
I've tested hundreds of Generic builds and I've found that the
CNfsConnection
crashes were common until #0612, when the crashing stopped, only to start again with #0826, which is also when the
GUIFontManager
crash started to occur (if the debug overlay is enabled):
#0201:
CNfsConnection
crash
#0210:
CNfsConnection
crash
#0301:
CNfsConnection
crash
#0401:
CNfsConnection
crash
#0501:
CNfsConnection
crash
#0601:
CNfsConnection
crash
#0611:
CNfsConnection
crash
#0612 - #0825: No crash
#0826 - #0906:
GUIFontManager
/
CNfsConnection
crash
#0612 saw the introduction of "Reusepython" (
PR13814), while #0826 introduced "PythonInvoker: fix thread termination check" (
PR14356).
If I revert
PR14356 from #0906 then the crashing - both
GUIFontManager
and
CNfsConnection
- no longer occurs.
I suppose it might be possible for the
GUIFontManager
crash to occur in the #0210 build but I didn't see this myself - it might depend on other factors such as installed addons, considering it is potentially a Python-related issue.
So it looks like the Python language interpreter is responsible in some way for the current crashes on exit - at least on Generic anyway, as the RPi2 crashes continue even after reverting PR14356 so they're due to something else, maybe a use-after-free/race condition.
I did try creating a Generic debug-enabled build to obtain a more detailed crash log, but building with debug changes the behaviour of kodi.bin so that it now crashes in a different place (
http://ix.io/1m9Q) regardless of debug overlay status. I am also yet to reproduce any crash with Ubuntu but this may be because of the debug-build nature of the Ubuntu build, and/or combination of add-ons affecting the way in which the Python language interpreter and Kodi is shutting down.