crashlog is:
https://www.dropbox.com/s/vnphkyq6bl72gl...9.log?dl=0
Interesting is that it doesn't happen always, -O3 more often then -O0.
Always the same channels are loaded into EPG DB
If I select "dont use DB for EPG" in settings, everything is fine.
Once the database is corruptes it normally segfaults on every start.
I'll push the Epg10.db and Epg10.db-journal also into my dropbox folder
https://www.dropbox.com/sh/wc2dgpuzcd3n6...F_GYa?dl=0.
I'll now make one crash with debugger attached and can provide the backrace after that.
Versions:
-The last kodi commit was d1a2c33b6c477badb8b9664e8897523a78da91b4
-Sources are:
https://github.com/mapfau/xbmc, there are some changes rearding MFC for exynos devices, but no changes in LiveTV
-PVR Addon version is HTS_VERSION=2.1.7
Code:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xa2fff3f0 (LWP 19137)]
0xb4ed2fba in std::string::assign(std::string const&) () from /usr/lib/arm-linux-gnueabihf/libstdc++.so.6
(gdb) bt
#0 0xb4ed2fba in std::string::assign(std::string const&) () from /usr/lib/arm-linux-gnueabihf/libstdc++.so.6
#1 0x00b76ece in dbiplus::SqliteDataset::make_query (this=0xa26127f0, _sql=Python Exception <class 'ValueError'> Cannot find type dbiplus::StringList::_Node:
std::list) at sqlitedataset.cpp:495
#2 0x00b7709a in dbiplus::SqliteDataset::make_insert (this=0xa26127f0) at sqlitedataset.cpp:521
#3 0x00b6a97e in dbiplus::Dataset::post (this=0xa26127f0) at dataset.cpp:299
#4 0x00b62bcc in CDatabase::CommitInsertQueries (this=0x1dbfbd0 <EPG::CEpgContainer::Get()::epgInstance+560>) at Database.cpp:287
#5 0x00bb7cc2 in EPG::CEpgDatabase::Persist (this=0x1dbfbd0 <EPG::CEpgContainer::Get()::epgInstance+560>, epgs=Python Exception <class 'ValueError'> Cannot find type const std::map<unsigned int, EPG::CEpg*, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, EPG::CEpg*> > >::_Rep_type:
std::map with 364 elements) at EpgDatabase.cpp:305
#6 0x00bb0ec4 in EPG::CEpgContainer::PersistTables (this=0x1dbf9a0 <EPG::CEpgContainer::Get()::epgInstance>) at EpgContainer.cpp:245
#7 0x00d43a04 in PVR::CPVRChannelGroupInternal::CreateChannelEpgs (this=0xa2610a60, bForce=false) at PVRChannelGroupInternal.cpp:345
#8 0x00d46666 in PVR::CPVRChannelGroups::CreateChannelEpgs (this=0xa3000890) at PVRChannelGroups.cpp:569
#9 0x00d4a626 in PVR::CPVRChannelGroupsContainer::CreateChannelEpgs (this=0xa3000570) at PVRChannelGroupsContainer.cpp:271
#10 0x00d62c92 in PVR::CPVRManager::CreateChannelEpgs (this=0x1dc29d8 <PVR::CPVRManager::Get()::pvrManagerInstance>) at PVRManager.cpp:1733
#11 0x00d5fd78 in PVR::CPVREpgsCreateJob::DoWork (this=0xa260cf60) at PVRManager.cpp:1007
#12 0x00d62840 in PVR::CPVRManager::ExecutePendingJobs (this=0x1dc29d8 <PVR::CPVRManager::Get()::pvrManagerInstance>) at PVRManager.cpp:1690
#13 0x00d5e052 in PVR::CPVRManager::Process (this=0x1dc29d8 <PVR::CPVRManager::Get()::pvrManagerInstance>) at PVRManager.cpp:545
#14 0x0184c66c in CThread::Action (this=0x1dc29e0 <PVR::CPVRManager::Get()::pvrManagerInstance+8>) at Thread.cpp:221
#15 0x0184c3e0 in CThread::staticThread (data=0x1dc29e0 <PVR::CPVRManager::Get()::pvrManagerInstance+8>) at Thread.cpp:131
#16 0xb6b7c490 in start_thread (arg=0x0) at pthread_create.c:335
#17 0xb4dc0c4c in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:89 from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Last but not least: I tried to get the crash with enabling / disabling LiveTV inside settings, without luck.
It seems that either on shutdown or startup something happens with the database.
[Edit] Regarding the sqlite3 documentation:
Code:
To avoid memory leaks, the application should invoke sqlite3_free() on error message strings returned through the 5th parameter of of sqlite3_exec() after the error message string is no longer needed
This is not done there with err variable in dbiplus::SqliteDataset::make_query() ...
[Edit2] Pls.let me check my git merge before you do anything
[Edit3] Merge is OK - so the issue is really an issue, I'll update to latest master today