Segfault on script invocation
#1
Hi all,

I've very recently started studying the XBMC framework for a personal project.

I'm trying to attach some python scripts to the default skin, PM3.HD, and see what happens.

In the file PM3.HD/720p/MyWeather.xml, at the point

<control type="button" id="4">
<description>Settings button</description>
<posx>0</posx>
<posy>135</posy>
<label>5</label>

I inserted the following row

<onclick>RunScript(/path/to/file.py, chat)</onclick>

where /path/to/file.py is an EMPTY file (touch /path/to/file.py).

Then, after having started an xbmc.bin instance and gone on the settings button in the weather page, if I start pressing the settings button (with the Enter key) repeatedly and quite quickly, at some point the application crashes after a variable number of clicks.

The problem seems related to a free'ing phase (cycling the elements of a dict structure), when it comes to clear/clean a xbmcgui.ControlGroup.

The backtrace follows, together with a p *type (please take both into account).

Hope someone may understand something more than what I got from this.

Thank you all,
Antonio


#0 0xb0a4651c in type_dealloc (type=0x8bd9e40) at Objects/typeobject.c:2108
#1 0xb0a2a180 in insertdict (mp=0xa07c194, key=0xb38adca8, hash=-157863416, value=0xb0adaec8) at Objects/dictobject.c:405
#2 0xb0a2a699 in PyDict_SetItem (op=0xa07c194, key=0xb38adca8, value=0xb0adaec8) at Objects/dictobject.c:589
#3 0xb0a2ec76 in _PyModule_Clear (m=0xb0bdc3b4) at Objects/moduleobject.c:136
#4 0xb0a8ea6d in PyImport_Cleanup () at Python/import.c:436
#5 0xb0a997f4 in Py_EndInterpreter (tstate=0xa0125f8) at Python/pythonrun.c:560
#6 0x086f486f in XBPyThread:Tonguerocess (this=0xb38acef8) at XBPyThread.cpp:257
#7 0x0886ded8 in CThread:ConfusedtaticThread (data=0xb38acef8) at Thread.cpp:206
#8 0x087fd7b6 in InternalThreadFunc (data=0xb0bc3f20) at XThreadUtils.cpp:126
#9 0xb7c34f7b in ?? () from /usr/lib/libSDL-1.2.so.0
#10 0xb0bc3f20 in ?? ()
#11 0x087fd730 in ?? ()
#12 0xb0bdd868 in ?? ()
#13 0xb7c8d840 in ?? () from /usr/lib/libSDL-1.2.so.0
#14 0x00000000 in ?? ()

(gdb) p *type
$1 = {ob_refcnt = 0, ob_type = 0xb0adecc0, ob_size = 0, tp_name = 0x8a42e2c "xbmcgui.ControlGroup", tp_basicsize = 52, tp_itemsize = 0, tp_dealloc = 0x8712650 <ControlGroup_Dealloc>,
tp_print = 0, tp_getattr = 0, tp_setattr = 0, tp_compare = 0x86f7640 <Control_Compare>, tp_repr = 0xb0a46ac9 <object_repr>, tp_as_number = 0x0, tp_as_sequence = 0x0,
tp_as_mapping = 0x0, tp_hash = 0, tp_call = 0, tp_str = 0xb0a46c5e <object_str>, tp_getattro = 0xb0a311fc <PyObject_GenericGetAttr>,
tp_setattro = 0xb0a315b9 <PyObject_GenericSetAttr>, tp_as_buffer = 0x0, tp_flags = 5611,
tp_doc = 0x8ba8460 "ControlGroup class.\n\nControlGroup(x, y, width, height\n\nx", ' ' <repeats 14 times>, ": integer - x coordinate of control.\ny", ' ' <repeats 14 times>, ": integer - y coordinate of control.\nwidth : integer - width of contr"..., tp_traverse = 0, tp_clear = 0, tp_richcompare = 0, tp_weaklistoffset = 0, tp_iter = 0, tp_iternext = 0,
tp_methods = 0x8bd9e20, tp_members = 0x0, tp_getset = 0x0, tp_base = 0x8bd8800, tp_dict = 0xb0bcf534, tp_descr_get = 0, tp_descr_set = 0, tp_dictoffset = 0,
tp_init = 0xb0a469eb <object_init>, tp_alloc = 0xb0a432b9 <PyType_GenericAlloc>, tp_new = 0x8712750 <ControlGroup_New>, tp_free = 0xb0a327eb <PyObject_Free>, tp_is_gc = 0,
tp_bases = 0xb0bcf514, tp_mro = 0xb0bcf474, tp_cache = 0x0, tp_subclasses = 0x0, tp_weaklist = 0xb0bcf744, tp_del = 0}
Reply


Messages In This Thread
Segfault on script invocation - by micantox - 2009-04-16, 17:13
[No subject] - by micantox - 2009-04-22, 10:13
[No subject] - by micantox - 2009-04-23, 12:27
[No subject] - by jmarshall - 2009-04-23, 12:48
[No subject] - by micantox - 2009-04-23, 14:44
[No subject] - by micantox - 2009-04-23, 17:52
[No subject] - by jmarshall - 2009-04-23, 23:36
[No subject] - by micantox - 2009-04-24, 10:19
Logout Mark Read Team Forum Stats Members Help
Segfault on script invocation0