Hey Guys -
I'm having an issue where when performing an initial library update, the update basically freezes once it gets to a specific show. I left it overnight and it had only progressed about 3 shows which is not at all normal. Details below...
I was a huge Kodi user up to a few months ago when I switched to Plex after Kodi started having various issues. I decided to go back yesterday so thought I'd go ahead and build my DB. I did so on a Windows Server 2019 x64 VM using mySQL 5.7. When finding that I couldn't run Kodi within the VM, I installed it on my local workstation, configured the advancedsettings.xml to connect to the DB, added sources, and started the update.
The freeze occurs at the show "American Horror Story". It is in the 2nd path I added to "TV Shows" therefore about 30 shows were added successfully (and in about 10 minutes) prior to getting to it. To note, all my shows are properly organized, named, and metadata scraped using Sonaar + Media Center Master prior to this.
Below is what I've tried to resolve the issue, some environment specs, a snippet of Kodi's debug log for my last attempt, and my advancedsettings.xml.
Any suggestions are appreciated - Thanks!!
What I've Tried
- Having Kodi's default of "TMDB" set as the TV Show scraper
- Trying XEM, local only, & TheTVDB add-ons - all have the same result
- Downgrading mySQL. I originally started with v8 but uninstalled, deleted DB, and did a clean install with 5.7. Have Kodi's initial launch create the DBs
- mySQL server is dedicated to mySQL, is a basic setup, has no firewall, AV, etc. Permissions are as recommended
- At one point yesterday (well after going to 5.7), I deleted the DBs and had Kodi recreate them for heck of it
- Checked files in show and don't see anything that stands out as could cause an issue
Environment
My signature is outdated
- mySQL
- Windows 2019 x64 VM (ESXi) Fully patched
- x4 CPU / 4gb RAM / SSD Datastore
- mySQL 5.7 x64
- No local firewall / AV
- IP: 192.168.0.70
- Kodi Client
- Windows 10 x64 (Fully Patched)
- Plenty of resources
- Kodi 18.1
- No local firewall
- Media / files are local to client and on a 45tb disk pool (Having no issues with pool whatsoever)
- IP: 192.168.0.25
- Libraries added via SMB path so I could use common xmls on all systems connecting to DB
- Gigabit connection to mySQL VM above
- Can connect to DB using mySQL Workshop and see created DBs that verify connectivity
- In between tests, I ensure kodi.exe is no longer running and sometimes restart the DB's service on the VM
Debug Log Snippet
Below is a debug log from my last scan which used the default "TMDB" scraper in Kodi. It starts about 2 minutes into Kodi being open while successfully scanning the last few episodes of the prior show: "American Greed" at 10:55am. The shows before this one updated fast since they were initially added during a prior test. As you can see, it starts scanning "American Horror Story" afterwards. The end of the log is almost 3 hours later and it still says 27% for "American Horror Story."
Note: Sometimes when testing, it lists it as 100%, but same overall result except for leaving it ocvernight where it got to a show in the early "B"s.
Quote:2019-03-31 10:55:06.417 T:3620 DEBUG: VideoInfoScanner: Found episode match smb://192.168.0.25/media/TV Shows/American Greed/Season 12/American Greed - S12E20 - From Bouncer to Millionaire Fraudster.mkv (s12e20) [s([0-9]+)[ ._x-]*e([0-9]+(?
?:[a-i]|\.[1-9])(?![0-9]))?)([^\\/]*)$]
2019-03-31 10:55:06.417 T:3620 DEBUG: VideoInfoScanner: Found episode match smb://192.168.0.25/media/TV Shows/American Greed/Specials/American Greed - S00E02 - Mob Money.mkv (s0e2) [s([0-9]+)[ ._x-]*e([0-9]+(?
?:[a-i]|\.[1-9])(?![0-9]))?)([^\\/]*)$]
2019-03-31 10:55:06.417 T:3620 DEBUG: VideoInfoScanner: Found episode match smb://192.168.0.25/media/TV Shows/American Greed/Specials/American Greed - S00E03 - Madoff Behind Bars.mkv (s0e3) [s([0-9]+)[ ._x-]*e([0-9]+(?
?:[a-i]|\.[1-9])(?![0-9]))?)([^\\/]*)$]
2019-03-31 10:55:06.417 T:3620 DEBUG: VideoInfoScanner: Found episode match smb://192.168.0.25/media/TV Shows/American Greed/Specials/American Greed - S00E04 - 911 Fraud.mkv (s0e4) [s([0-9]+)[ ._x-]*e([0-9]+(?
?:[a-i]|\.[1-9])(?![0-9]))?)([^\\/]*)$]
2019-03-31 10:55:06.521 T:3620 DEBUG: ADDON::CScraper::GetEpisodeList: Searching 'http://www.thetvdb.com/api/1D62F2F90030C444/series/170491/all/en.zip' using The Movie Database scraper (file: 'C:\Program Files\Kodi\addons\metadata.tvshows.themoviedb.org', content: 'tvshows', version: '3.0.6')
2019-03-31 10:55:06.526 T:3620 DEBUG: CurlFile::Open(0x26588f38b50) http://www.thetvdb.com/api/1D62F2F90030C...all/en.zip
2019-03-31 10:55:06.538 T:3620 DEBUG: CScraperUrl::Get: Archive "http://www.thetvdb.com/api/1D62F2F90030C444/series/170491/all/en.zip" was unpacked in memory
2019-03-31 10:55:06.538 T:3620 DEBUG: CScraperUrl::Get: Using content of "http://www.thetvdb.com/api/1D62F2F90030C444/series/170491/all/en.zip" as binary or text with "UTF-8" charset
2019-03-31 10:55:06.538 T:3620 DEBUG: scraper: GetEpisodeList returned <episodeguide></episodeguide>
2019-03-31 10:55:06.538 T:3620 WARNING: No information found for item 'smb://192.168.0.25/media/TV Shows/American Greed/', it won't be added to the library.
2019-03-31 10:55:06.541 T:3620 DEBUG: CAddonSettings[metadata.tvshows.themoviedb.org]: loading setting definitions
2019-03-31 10:55:06.541 T:3620 DEBUG: CAddonSettings[metadata.tvshows.themoviedb.org]: trying to load setting definitions from old format...
2019-03-31 10:55:06.541 T:3620 DEBUG: CAddonSettings[metadata.tvshows.themoviedb.org]: loading setting values
2019-03-31 10:55:06.554 T:3620 DEBUG: scraper: NfoUrl returned <details></details>
2019-03-31 10:55:06.556 T:3620 DEBUG: VideoInfoScanner: Found matching full NFO file: smb://192.168.0.25/media/TV Shows/American Horror Story/tvshow.nfo
2019-03-31 10:55:06.621 T:3620 DEBUG: VideoInfoScanner: Adding new item to tvshows
mb://192.168.0.25/media/TV Shows/American Horror Story/
2019-03-31 10:55:18.972 T:5052 DEBUG: Keyboard: scancode: 0x1d, sym: 0x0132, unicode: 0x0000, modifier: 0x40
2019-03-31 10:55:18.972 T:5052 DEBUG: CInputManager::HandleKey: ctrl-leftctrl (0x1f0d0) pressed, action is
2019-03-31 10:55:27.322 T:13900 DEBUG: Thread JobWorker 13900 terminating (autodelete)
2019-03-31 10:55:27.323 T:33720 DEBUG: Thread JobWorker 33720 terminating (autodelete)
2019-03-31 10:55:27.323 T:8684 DEBUG: Thread JobWorker 8684 terminating (autodelete)
2019-03-31 10:55:28.455 T:5052 INFO: XCURL:
llLibCurlGlobal::CheckIdle - Closing session to http://api.themoviedb.org (easy=0x2658ebe20a0, multi=0x2658dd2cfe0)
2019-03-31 10:55:29.439 T:5052 DEBUG: ------ Window Init (Pointer.xml) ------
2019-03-31 10:55:34.555 T:5052 INFO: XCURL:
llLibCurlGlobal::CheckIdle - Closing session to https://api.thetvdb.com (easy=0x2658ff50090, multi=0x2658dd29b50)
2019-03-31 10:55:36.088 T:5052 DEBUG: ------ Window Deinit (Pointer.xml) ------
2019-03-31 10:55:36.588 T:5052 INFO: XCURL:
llLibCurlGlobal::CheckIdle - Closing session to http://www.thetvdb.com (easy=0x2658ebd4060, multi=0x2658dd29d20)
2019-03-31 10:56:07.283 T:22088 DEBUG: CAESinkDirectSound:
einitialize: Cleaning up
2019-03-31 11:15:57.346 T:31576 DEBUG: %s: Changed device property of %s is {%8.8x-%4.4x-%4.4x-%2.2x%2.2x-%2.2x%2.2x%2.2x%2.2x%2.2x%2.2x}#%d
2019-03-31 11:17:55.055 T:5052 DEBUG: Previous line repeats 6 times.
2019-03-31 11:17:55.055 T:5052 DEBUG: ------ Window Init (Pointer.xml) ------
2019-03-31 11:18:00.605 T:5052 DEBUG: ------ Window Deinit (Pointer.xml) ------
2019-03-31 11:18:55.885 T:5052 DEBUG: ------ Window Init (Pointer.xml) ------
2019-03-31 11:19:04.719 T:5052 DEBUG: ------ Window Deinit (Pointer.xml) ------
2019-03-31 11:24:40.792 T:1640 DEBUG: Thread JobWorker start, auto delete: true
2019-03-31 11:25:10.801 T:1640 DEBUG: Thread JobWorker 1640 terminating (autodelete)
2019-03-31 11:27:27.104 T:5052 DEBUG: ------ Window Init (Pointer.xml) ------
2019-03-31 11:27:32.233 T:33672 DEBUG: %s: Changed device property of %s is {%8.8x-%4.4x-%4.4x-%2.2x%2.2x-%2.2x%2.2x%2.2x%2.2x%2.2x%2.2x}#%d
2019-03-31 11:27:41.071 T:5052 DEBUG: ------ Window Deinit (Pointer.xml) ------
2019-03-31 11:27:47.173 T:5052 DEBUG: ------ Window Init (Pointer.xml) ------
2019-03-31 11:27:52.617 T:5052 DEBUG: ------ Window Deinit (Pointer.xml) ------
2019-03-31 11:54:40.794 T:27268 DEBUG: Thread JobWorker start, auto delete: true
2019-03-31 11:55:10.800 T:27268 DEBUG: Thread JobWorker 27268 terminating (autodelete)
2019-03-31 12:09:58.508 T:31576 DEBUG: %s: Changed device property of %s is {%8.8x-%4.4x-%4.4x-%2.2x%2.2x-%2.2x%2.2x%2.2x%2.2x%2.2x%2.2x}#%d
2019-03-31 12:12:24.186 T:17084 DEBUG: Previous line repeats 4 times.
2019-03-31 12:24:40.812 T:29660 DEBUG: Thread JobWorker start, auto delete: true
2019-03-31 12:25:10.819 T:29660 DEBUG: Thread JobWorker 29660 terminating (autodelete)
2019-03-31 12:54:40.832 T:33332 DEBUG: Thread JobWorker start, auto delete: true
2019-03-31 12:55:10.838 T:33332 DEBUG: Thread JobWorker 33332 terminating (autodelete)
2019-03-31 13:18:40.077 T:31576 DEBUG: %s: Changed device property of %s is {%8.8x-%4.4x-%4.4x-%2.2x%2.2x-%2.2x%2.2x%2.2x%2.2x%2.2x%2.2x}#%d
2019-03-31 13:24:40.849 T:36800 DEBUG: Previous line repeats 4 times.
2019-03-31 13:24:40.849 T:36800 DEBUG: Thread JobWorker start, auto delete: true
2019-03-31 13:25:10.855 T:36800 DEBUG: Thread JobWorker 36800 terminating (autodelete)
2019-03-31 13:30:18.727 T:5052 DEBUG: ------ Window Init (Pointer.xml) ------
advancedsettings.xml
Quote:Code:
<advancedsettings>
<videodatabase>
<type>mysql</type>
<host>192.168.0.70</host>
<name>KodiVideo</name>
<port>3306</port>
<user>kodi</user>
<pass>kodi</pass>
</videodatabase>
<musicdatabase>
<type>mysql</type>
<host>192.168.0.70</host>
<name>KodiAudio</name>
<port>3306</port>
<user>kodi</user>
<pass>kodi</pass>
</musicdatabase>-->
<videolibrary>
<importwatchedstate>true</importwatchedstate>
<importresumepoint>true</importresumepoint>
<recentlyaddeditems>75</recentlyaddeditems> <!-- How many items to list in "Recent" category -->
<hideemptyseries>true</hideemptyseries> <!-- set to "true" to hide empty series in the video library and prevent empty series from being removed during a library cleanup. -->
</videolibrary>
<video>
<timeseekforward>60</timeseekforward> <!-- Skip back time 60 s -->
<timeseekbackward>-15</timeseekbackward> <!-- Skip forward time 15 s -->
<subsdelayrange>150</subsdelayrange> <!-- Subtitle offset adjustment range -->
<playcountminimumpercent>85</playcountminimumpercent> <!--Minimum percentage that has to be played before it is marked as watched. Set to 101 to never auto-mark items as watched -->
<ignorepercentatend>15</ignorepercentatend> <!-- percentage of video to ignore at the end. If you stop watching the video here no resume point is created. Set to 101 to never save a resume point. The video is already marked as watched at 90%, see above. -->
<excludefromscan>
<regexp>-trailer</regexp>
<regexp>[!-._ \\/]rarbg[-._ \\/]</regexp>
<regexp>[!-._ \\/]sample[-._ \\/]</regexp>
<regexp>[!-._ \\/]preview[-._ \\/]</regexp>
<regexp>[!-._ \\/]extras[-._ \\/]</regexp>
<regexp>.*bonus.*</regexp>
<regexp>.*sample.*</regexp>
</excludefromscan>
<trailermatching> <!-- This regexp will match moviename_Trailer.avi -->
<regexp>(.*?)(-trailer)(\.[^.]+)$</regexp>
</trailermatching>
</video>
</advancedsettings>