pipelka / xbmc-addon-xvdr

DISCONTINUED - Standalone XVDR addon for XBMC
GNU General Public License v2.0
43 stars 16 forks source link

Segmentation fault on startup #140

Closed AndreyPavlenko closed 9 years ago

AndreyPavlenko commented 10 years ago

Hi Alexander,

I think this issue is not on the XVDR side, however, could you please look at this - http://trac.kodi.tv/ticket/15556 ?

pipelka commented 9 years ago

I know this kind of argumentation ;-)

It doesnt look like a xvdr issue but it would help to know where it exactly segfaults (source code in GetByChannelID). Maybe you are able to rebuild kodi with debug information.

Regards Alex

pipelka commented 9 years ago

I just checked with the current git HEAD of kodi. Works fine for me.

AndreyPavlenko commented 9 years ago

I'll try to rebuild with debug, but I think it crashes on this line:

CSingleLock lock(m_critSection);

I've two very similar installations - one installation works fine, but another one crashes every time on startup when Kodi starts loading channels. The only difference between these two installations - VDR is installed on the second one (that one which crashes). The first one is a remote client that connects to the backend (installed on the second one) over network and it works fine. I assume there is a concurrency issue and it's not reproducible on the first installation due to network latency. I'll try to install vdr locally on this system.

AndreyPavlenko commented 9 years ago

I've found the root cause. Here is it: sqlite3 ~/.kodi/userdata/Database/TV26.db 'delete from channels; delete from channelgroups'

This line is from my startup script - it clears the PVR data base. After clearing up these two tables Kodi crashes on startup.

I've resolved this issue with clearing up one more table - map_channelgroups_channels (seems this table has been introduced recently):

sqlite3 ~/.kodi/userdata/Database/TV26.db 'delete from channels; delete from channelgroups; delete from map_channelgroups_channels'

pipelka commented 9 years ago

Glad to see that it's not xvdr's fault (and also that you found it) :-)