Comments (19)
Detailed log:
*** Error in `/usr/lib/kodi/kodi.bin': free(): invalid pointer: 0x00007f8bffffffec ***
======= Backtrace: =========
/usr/lib/libc.so.6(+0x732ae)[0x7f8c258232ae]
/usr/lib/libc.so.6(+0x7872e)[0x7f8c2582872e]
/usr/lib/libc.so.6(+0x78eeb)[0x7f8c25828eeb]
/usr/lib/kodi/kodi.bin(_ZN9XBMCAddon7xbmcgui11ControlEditD0Ev+0xea)[0x1ababea]
/usr/lib/kodi/kodi.bin(_ZN9XBMCAddon7xbmcgui6Window7disposeEv+0x1c9)[0x1ad37c9]
/usr/lib/kodi/kodi.bin(_ZN14PythonBindings15cleanForDeallocEPN9XBMCAddon7xbmcgui6WindowE+0x19)[0xe50809]
/usr/lib/kodi/kodi.bin[0xe725c6]
/usr/lib/libpython2.7.so.1.0(+0x9be63)[0x7f8c2a5f9e63]
/usr/lib/libpython2.7.so.1.0(PyDict_DelItem+0xd7)[0x7f8c2a5dfba7]
/usr/lib/libpython2.7.so.1.0(+0x5873d)[0x7f8c2a5b673d]
/usr/lib/libpython2.7.so.1.0(PyObject_SetAttr+0x8f)[0x7f8c2a5e495f]
/usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x3481)[0x7f8c2a63d651]
/usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x4f1a)[0x7f8c2a63f0ea]
/usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x4f1a)[0x7f8c2a63f0ea]
/usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x4f1a)[0x7f8c2a63f0ea]
/usr/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x830)[0x7f8c2a640af0]
/usr/lib/libpython2.7.so.1.0(PyEval_EvalCode+0x19)[0x7f8c2a640be9]
/usr/lib/libpython2.7.so.1.0(+0xfc10f)[0x7f8c2a65a10f]
/usr/lib/libpython2.7.so.1.0(PyRun_FileExFlags+0x72)[0x7f8c2a65b332]
/usr/lib/kodi/kodi.bin(_ZN14CPythonInvoker7executeERKSsRKSt6vectorISsSaISsEE+0xa6a)[0xe4ea3a]
/usr/lib/kodi/kodi.bin(_ZN14CPythonInvoker7ExecuteERKSsRKSt6vectorISsSaISsEE+0xa7)[0xe4c567]
/usr/lib/kodi/kodi.bin(_ZN7CThread6ActionEv+0x1f)[0x1b5540f]
/usr/lib/kodi/kodi.bin(_ZN7CThread12staticThreadEPv+0xb9)[0x1b556c9]
/usr/lib/libpthread.so.0(+0x7314)[0x7f8c2b545314]
/usr/lib/libc.so.6(clone+0x6d)[0x7f8c2589824d]
from xbmc-addons-chinese.
你的Chinese keyboard插件没有升级到最新版本吧。
from xbmc-addons-chinese.
是2.0.2的。回頭我在其他系統上在測試看看。
from xbmc-addons-chinese.
需提供详细的kodi.log文件才好分析。
from xbmc-addons-chinese.
沒有了,只能抓到這麼多,應該就是關閉鍵盤窗導致的主程序free錯誤。
不知是算主程序的錯誤,還是插件的錯誤。
from xbmc-addons-chinese.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x0000000001a2df3f in ?? ()
Thread 1 (Thread 0x7f355b0b2700 (LWP 21264)):
#0 0x0000000001a2df3f in ?? ()
#1 0x0000000001a36c5a in XBMCAddon::xbmcgui::ControlEdit::~ControlEdit() ()
#2 0x0000000001a4e2d9 in XBMCAddon::xbmcgui::Window::dispose() ()
#3 0x0000000000e02e99 in PythonBindings::cleanForDealloc(XBMCAddon::xbmcgui::Window*) ()
#4 0x0000000000e24c56 in ?? ()
#5 0x00007f35968b6e63 in subtype_dealloc () from /usr/lib/libpython2.7.so.1.0
#6 0x00007f359689cba7 in PyDict_DelItem () from /usr/lib/libpython2.7.so.1.0
#7 0x00007f359687373d in instance_setattr () from /usr/lib/libpython2.7.so.1.0
#8 0x00007f35968a195f in PyObject_SetAttr () from /usr/lib/libpython2.7.so.1.0
#9 0x00007f35968fa651 in PyEval_EvalFrameEx () from /usr/lib/libpython2.7.so.1.0
#10 0x00007f35968fc0ea in PyEval_EvalFrameEx () from /usr/lib/libpython2.7.so.1.0
#11 0x00007f35968fc0ea in PyEval_EvalFrameEx () from /usr/lib/libpython2.7.so.1.0
#12 0x00007f35968fc0ea in PyEval_EvalFrameEx () from /usr/lib/libpython2.7.so.1.0
#13 0x00007f35968fdaf0 in PyEval_EvalCodeEx () from /usr/lib/libpython2.7.so.1.0
#14 0x00007f35968fdbe9 in PyEval_EvalCode () from /usr/lib/libpython2.7.so.1.0
#15 0x00007f359691710f in run_mod () from /usr/lib/libpython2.7.so.1.0
#16 0x00007f3596918332 in PyRun_FileExFlags () from /usr/lib/libpython2.7.so.1.0
#17 0x0000000000e0114a in CPythonInvoker::execute(std::string const&, std::vector<std::string, std::allocator<std::string> > const&) ()
#18 0x0000000000dfece7 in CPythonInvoker::Execute(std::string const&, std::vector<std::string, std::allocator<std::string> > const&) ()
#19 0x0000000001accfbf in CThread::Action() ()
#20 0x0000000001acd279 in CThread::staticThread(void*) ()
#21 0x00007f3597805314 in start_thread () from /usr/lib/libpthread.so.0
#22 0x00007f3591b5524d in clone () from /usr/lib/libc.so.6
############# END STACK TRACE ###############
from xbmc-addons-chinese.
log中的那两行不存在问题。插件没看出有什么问题,不知道为什么kodi会崩溃。
from xbmc-addons-chinese.
21:07:17 T:140136997304320 DEBUG: ------ Window Init (DialogBusy.xml) ------
21:07:17 T:140136997304320 DEBUG: Window DialogBusy.xml was already loaded
21:07:17 T:140136997304320 DEBUG: Alloc resources: 0.00m
21:07:17 T:140136997304320 DEBUG: ------ Window Init (/usr/share/kodi/addons/skin.confluence/720p/DialogKeyboard.xml) ------
21:07:17 T:140136997304320 INFO: Loading skin file: /usr/share/kodi/addons/skin.confluence/720p/DialogKeyboard.xml, load type: LOAD_ON_GUI_INIT
21:07:17 T:140136997304320 DEBUG: Load /usr/share/kodi/addons/skin.confluence/720p/DialogKeyboard.xml: 7.60ms
21:07:17 T:140136997304320 DEBUG: Alloc resources: 14.33ms (7.86 ms skin load)
21:07:17 T:140136997304320 DEBUG: CGUIMediaWindow::GetDirectory ()
21:07:17 T:140136997304320 DEBUG: ParentPath = []
21:07:17 T:140135952336640 ERROR: EXCEPTION: Non-Existent Control 310
21:07:17 T:140136997304320 DEBUG: ------ Window Deinit (Pointer.xml) ------
21:07:17 T:140135952336640 ERROR: EXCEPTION: Non-Existent Control 48
from xbmc-addons-chinese.
@taxigps 那两行是打开window时打出的。
看来注定了回不去了,close时必定崩溃。
from xbmc-addons-chinese.
跟了一下,发现问题出在
def onInit(self):
try:
pCtl = self.getControl(self.CTL_LABEL_EDIT)
self.getControl(self.CTL_LABEL_EDIT).setLabel(self.strEdit)
except:
self.CTL_LABEL_EDIT = 312
self.getControl(self.CTL_LABEL_EDIT).setText(self.strEdit)
#self.getControl(self.CTL_LABEL_EDIT).setEnabled(False)
try:
pCtl = self.getControl(self.CTL_NUM_START)
except:
self.Kodi14 = True
self.CTL_NUM_START = 100
self.CTL_NUM_END = 109
self.getControl(CTL_BUTTON_LAYOUT).setLabel("")
self.initControl()
self.getControl(CTL_LABEL_HEADING).setLabel(self.strHeading)
self.getControl(CTL_BUTTON_CHINESE).setLabel('中文')
self.UpdateButtons()
中的 self.CTL_LABEL_EDIT = 312,由于更改了CTL_LABEL_EDIT导致析构时出错。
from xbmc-addons-chinese.
是否可以通过__version__
来判断xbmc的版本?
from xbmc-addons-chinese.
试了一下,不是这个问题。即使不考虑向前兼容,直接在把CTL_LABEL_EDIT初始设置为312也不解决问题。
from xbmc-addons-chinese.
直接用WindowXMLDialog就没有问题,奇怪啊。
def doModal (self):
self.win = xbmcgui.WindowXMLDialog("DialogKeyboard.xml", os.getcwd())
self.win.doModal()
self.bIsConfirmed = True #self.win.isConfirmed()
self.strEdit = "test" #self.win.getText()
del self.win
from xbmc-addons-chinese.
看来是kodi本身的问题了。
onInit直接return就不挂,调用了一句getControl就会挂。
def onInit(self):
self.getControl(self.CTL_LABEL_EDIT).setText(self.strEdit)
return
#self.getControl(self.CTL_LABEL_EDIT).setEnabled(False)
self.getControl(CTL_BUTTON_LAYOUT).setLabel("")
self.initControl()
self.getControl(CTL_LABEL_HEADING).setLabel(self.strHeading)
self.getControl(CTL_BUTTON_CHINESE).setLabel('Chinese')
self.UpdateButtons()
from xbmc-addons-chinese.
@taxigps 原因的确不在值的更上面,我已经确定问题出在control id 312上,只要在程序中执行了 self.getControl(312),在关闭窗口时一定会崩溃。类似于 http://forum.kodi.tv/showthread.php?tid=166581 里提到的问题。label type control没有问题而edit type control有问题,我想这是Kodi的bug。
目前我是这么临时解决的
- 将CTL_LABEL_EDIT改为CTL_LABEL_HEADING的值311
self.CTL_LABEL_EDIT = 311
- 将onInit中关于这部分代码注释掉
# try:
# pCtl = self.getControl(self.CTL_LABEL_EDIT)
# self.getControl(self.CTL_LABEL_EDIT).setLabel(self.strEdit)
# except:
# self.CTL_LABEL_EDIT = 312
# self.getControl(self.CTL_LABEL_EDIT).setText(self.strEdit)
# #self.getControl(self.CTL_LABEL_EDIT).setEnabled(False)
- 将initControl中的px, py, pw, ph值获取改为DialogKeyboard.xml中的固定值
# pEdit = self.getControl(self.CTL_LABEL_EDIT)
# px = pEdit.getX()
# py = pEdit.getY()
# pw = pEdit.getWidth()
# ph = pEdit.getHeight()
px, py, pw, ph = 55, 60, 750, 50
- 将UpdateLabel改为
def UpdateLabel(self):
self.getControl(self.CTL_LABEL_EDIT).setLabel(self.strEdit)
这样可以在标题栏上而不是编辑框上看到输入的文字,勉强算是可以用了吧。
from xbmc-addons-chinese.
果然,getControl(311)就不挂。那就是edit control的问题了。
@janplus
from xbmc-addons-chinese.
这个插件在windows系统下没有问题,在linux系统测试也会崩溃,正是在edit控件解构时崩溃。
from xbmc-addons-chinese.
看来就是linux和mac上,kodi才出现的问题。那要改kodi的代码了,等大神解决。
from xbmc-addons-chinese.
fixed at ba78e52
from xbmc-addons-chinese.
Related Issues (20)
- zimuku 主域名变更,插件无法使用 HOT 2
- Can't download Zimuku subtitles HOT 1
- for matrix 的库完全不可用呀 HOT 1
- Subhd在kodi19的库里不提供了吗 HOT 1
- 请问18.x版本的字幕插件怎么找? HOT 1
- 代码下载下来后该怎么变成kodi可以安装的插件呢 HOT 1
- 伪射手插件不支持kodi19 HOT 4
- zimuku插件似乎失效了 HOT 5
- 字幕库插件下载问题? HOT 1
- 字幕库又用不了 HOT 4
- 想咨询下,如果 CSF 能够提供内网的 Http API 接口,需要怎么对接?
- 哆啦视频1080P电影片源问题 HOT 1
- 国内访问Gitee问题 HOT 2
- 哆啦搜索希望再加入几个源 HOT 4
- 请问下下载的字幕存在哪里,同个视频字幕需要反复下载 HOT 1
- 插件库中目前只有一个哆哆插件,其他啥也没有。 HOT 2
- 插件库显示无法连接 HOT 4
- kodi 插件
- Kido
- kodi20能用么 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from xbmc-addons-chinese.