2015-01-04, 19:23
Hi,
first off all: this is the 2nd try to place it in the right category and i hope, that i found the right place now (sry for that).
Here you can visit my 1st attempt, but as a result of the activities inside the KODI-Forum, most DEVs and MODs arenĀ“t aware of the topic:
http://forum.kodi.tv/showthread.php?tid=213179
The Problem
If you have a large music database and try to play a song, KODI will take many, many minutes (or even freezes the device) to start the song.
Important note: it is not about the time, which is needed to populate the song list. The problem is the delay or freeze between pressing "play" and the song starts.
Reproduce the problem
Scrape a large music folder with many MP3s (e.g. 40k+).
Navigate "Music -> Title".
After a while (depends on your machine, e.g. the Raspberry Pi needs about 1 minute, my Win7-Notebook creates the list within 40 seconds) you see the list with all the songs inside your database.
Klick the "Play"-Button on your remote.
The system will "freeze" (no more user interaction, no "...working" is displayed, even in debug mode there is no more refresh of fps, memory and cpu usage).
After 30 minutes i shutted down the system, but maybe i was not patient enough (see log following later).
Affected systems
I tried it with the following 3 systems/versions and all show up the same behaviour:
KODI 14.0 and XBMC 13.? (aka Helix and Gotham) on Win-7-Notebook (WLAN)
Entering "Music -> Songs" 40 seconds delay till list is displayed
Starting the first song: 40 seconds delay till the song is played, but maybe i was in the wrong category (by artist i guess).
Later attempts had to kill KODI after a while.
KODI and XBMC on RPi with OpenELEC (4.2.1 & 5.0) (LAN)
Entering "Music -> Songs" 60 seconds delay till list is displayed
Starting the first song: device seems to freeze. even 30 minutes later the song will not played by KODI/XBMC
SPMC on FireTV (a Gothambuild) (WLAN)
Entering "Music -> Songs" 60 seconds delay till list is displayed
Starting the first song: device seems to freeze. even 30 minutes later the song will not played by SPMC
There is a central MySQL-DB which is used by the installations, but behaviour is also reproducable with a local database (tested only on RPi, because i had a local database at the first try).
The crash i had at a 1st try, is not reproducable anymore, but i just waited 30 minutes before i take down the devices.
Log
The kodi.log i inspected was > 1 MB (i stopped KODI after 6 Minutes of waiting) and had nearly 15k of lines.
Here is what the kodi.log shows up in the section which logged the "play" command:
Additionial information
I tried it with "Music -> Artist" and choosed an artist with some songs (round about 100) and it looks like, that for each entry in the songlist this both message lines are created if you start to play a song. Which means, that if you have 40k+ songs in your library, this action will take place more then 40.000 times (which could consume some time).
I made a test with my movie library and there is just one of this messages, regardless how many entries are in the list.
Conclusion
Now i hope, that more DEVs are able to examine this problem.
If further information or tests are needed: i am ready to go!
Even if i have to create a new music database and scrape all the content again
Anyway: thx a lot for your great work on KODI and an extra "thank you" to Popcornmix and Milhouse, who already took a look inside my problem (dunno where the "reputation"-button is ).
first off all: this is the 2nd try to place it in the right category and i hope, that i found the right place now (sry for that).
Here you can visit my 1st attempt, but as a result of the activities inside the KODI-Forum, most DEVs and MODs arenĀ“t aware of the topic:
http://forum.kodi.tv/showthread.php?tid=213179
The Problem
If you have a large music database and try to play a song, KODI will take many, many minutes (or even freezes the device) to start the song.
Important note: it is not about the time, which is needed to populate the song list. The problem is the delay or freeze between pressing "play" and the song starts.
Reproduce the problem
Scrape a large music folder with many MP3s (e.g. 40k+).
Navigate "Music -> Title".
After a while (depends on your machine, e.g. the Raspberry Pi needs about 1 minute, my Win7-Notebook creates the list within 40 seconds) you see the list with all the songs inside your database.
Klick the "Play"-Button on your remote.
The system will "freeze" (no more user interaction, no "...working" is displayed, even in debug mode there is no more refresh of fps, memory and cpu usage).
After 30 minutes i shutted down the system, but maybe i was not patient enough (see log following later).
Affected systems
I tried it with the following 3 systems/versions and all show up the same behaviour:
KODI 14.0 and XBMC 13.? (aka Helix and Gotham) on Win-7-Notebook (WLAN)
Entering "Music -> Songs" 40 seconds delay till list is displayed
Starting the first song: 40 seconds delay till the song is played, but maybe i was in the wrong category (by artist i guess).
Later attempts had to kill KODI after a while.
KODI and XBMC on RPi with OpenELEC (4.2.1 & 5.0) (LAN)
Entering "Music -> Songs" 60 seconds delay till list is displayed
Starting the first song: device seems to freeze. even 30 minutes later the song will not played by KODI/XBMC
SPMC on FireTV (a Gothambuild) (WLAN)
Entering "Music -> Songs" 60 seconds delay till list is displayed
Starting the first song: device seems to freeze. even 30 minutes later the song will not played by SPMC
There is a central MySQL-DB which is used by the installations, but behaviour is also reproducable with a local database (tested only on RPi, because i had a local database at the first try).
The crash i had at a 1st try, is not reproducable anymore, but i just waited 30 minutes before i take down the devices.
Log
The kodi.log i inspected was > 1 MB (i stopped KODI after 6 Minutes of waiting) and had nearly 15k of lines.
Here is what the kodi.log shows up in the section which logged the "play" command:
Quote:...
13:03:03 T:1780 DEBUG: ------ Window Init () ------
13:03:12 T:3432 DEBUG: Thread RemoteControl 3432 terminating
13:04:02 T:1780 DEBUG: CAnnouncementManager - Announcement: OnScreensaverDeactivated from xbmc
13:04:02 T:1780 DEBUG: GOT ANNOUNCEMENT, type: 4, from xbmc, message OnScreensaverDeactivated
13:04:02 T:1780 DEBUG: ------ Window Init (Pointer.xml) ------
13:04:02 T:1980 NOTICE: Thread JobWorker start, auto delete: true
13:04:03 T:1780 DEBUG: ------ Window Deinit () ------
13:04:03 T:1780 DEBUG: CApplication:rocessMouse: trying mouse action leftclick
13:04:03 T:1780 DEBUG: SELECT albumview.*,albumartistview.* FROM albumview LEFT JOIN albumartistview ON albumview.idAlbum = albumartistview.idAlbum WHERE albumview.idAlbum = 5 ORDER BY albumartistview.iOrder
13:04:27 T:1780 DEBUG: CAnnouncementManager - Announcement: OnAdd from xbmc
13:04:28 T:1780 DEBUG: GOT ANNOUNCEMENT, type: 2, from xbmc, message OnAdd
13:04:28 T:1780 DEBUG: CAnnouncementManager - Announcement: OnAdd from xbmc
13:04:28 T:1780 DEBUG: GOT ANNOUNCEMENT, type: 2, from xbmc, message OnAdd
13:04:28 T:1780 DEBUG: CAnnouncementManager - Announcement: OnAdd from xbmc
13:04:28 T:1780 DEBUG: GOT ANNOUNCEMENT, type: 2, from xbmc, message OnAdd
13:04:28 T:1780 DEBUG: CAnnouncementManager - Announcement: OnAdd from xbmc
13:04:28 T:1780 DEBUG: GOT ANNOUNCEMENT, type: 2, from xbmc, message OnAdd
13:04:28 T:1780 DEBUG: CAnnouncementManager - Announcement: OnAdd from xbmc
13:04:28 T:1780 DEBUG: GOT ANNOUNCEMENT, type: 2, from xbmc, message OnAdd
13:04:28 T:1780 DEBUG: CAnnouncementManager - Announcement: OnAdd from xbmc
13:04:28 T:1780 DEBUG: GOT ANNOUNCEMENT, type: 2, from xbmc, message OnAdd
13:04:28 T:1780 DEBUG: CAnnouncementManager - Announcement: OnAdd from xbmc
13:04:28 T:1780 DEBUG: GOT ANNOUNCEMENT, type: 2, from xbmc, message OnAdd
13:04:28 T:1780 DEBUG: CAnnouncementManager - Announcement: OnAdd from xbmc
13:04:28 T:1780 DEBUG: GOT ANNOUNCEMENT, type: 2, from xbmc, message OnAdd
13:04:28 T:1780 DEBUG: CAnnouncementManager - Announcement: OnAdd from xbmc
13:04:28 T:1780 DEBUG: GOT ANNOUNCEMENT, type: 2, from xbmc, message OnAdd
13:04:28 T:1780 DEBUG: CAnnouncementManager - Announcement: OnAdd from xbmc
13:04:28 T:1780 DEBUG: GOT ANNOUNCEMENT, type: 2, from xbmc, message OnAdd
13:04:28 T:1780 DEBUG: CAnnouncementManager - Announcement: OnAdd from xbmc
13:04:28 T:1780 DEBUG: GOT ANNOUNCEMENT, type: 2, from xbmc, message OnAdd
13:04:28 T:1780 DEBUG: CAnnouncementManager - Announcement: OnAdd from xbmc
13:04:28 T:1780 DEBUG: GOT ANNOUNCEMENT, type: 2, from xbmc, message OnAdd
13:04:28 T:1780 DEBUG: CAnnouncementManager - Announcement: OnAdd from xbmc
13:04:28 T:1780 DEBUG: GOT ANNOUNCEMENT, type: 2, from xbmc, message OnAdd
13:04:28 T:1780 DEBUG: CAnnouncementManager - Announcement: OnAdd from xbmc
13:04:28 T:1780 DEBUG: GOT ANNOUNCEMENT, type: 2, from xbmc, message OnAdd
13:04:28 T:1780 DEBUG: CAnnouncementManager - Announcement: OnAdd from xbmc
13:04:28 T:1780 DEBUG: GOT ANNOUNCEMENT, type: 2, from xbmc, message OnAdd
....
13:10:09 T:1780 DEBUG: GOT ANNOUNCEMENT, type: 2, from xbmc, message OnAdd
13:10:09 T:1780 DEBUG: CAnnouncementManager - Announcement: OnAdd from xbmc
13:10:10 T:1780 DEBUG: GOT ANNOUNCEMENT, type: 2, from xbmc, message OnAdd
13:10:10 T:1780 DEBUG: CAnnouncementManager - Announcement: OnAdd from xbmc
...
Additionial information
I tried it with "Music -> Artist" and choosed an artist with some songs (round about 100) and it looks like, that for each entry in the songlist this both message lines are created if you start to play a song. Which means, that if you have 40k+ songs in your library, this action will take place more then 40.000 times (which could consume some time).
I made a test with my movie library and there is just one of this messages, regardless how many entries are in the list.
Conclusion
Now i hope, that more DEVs are able to examine this problem.
If further information or tests are needed: i am ready to go!
Even if i have to create a new music database and scrape all the content again
Anyway: thx a lot for your great work on KODI and an extra "thank you" to Popcornmix and Milhouse, who already took a look inside my problem (dunno where the "reputation"-button is ).