segfault using GSlice



Hi All

I was hoping to get some tips on the following.

I'm working on python bindings and plugins for the opensync library, and
am getting a segfault in g_slice_alloc.

#0  magazine_chain_pop_head (mem_size=12)
at /build/buildd/glib2.0-2.22.3/glib/gslice.c:470
#1  thread_memory_magazine1_alloc (mem_size=12)
at /build/buildd/glib2.0-2.22.3/glib/gslice.c:777
#2  IA__g_slice_alloc (mem_size=12)
at /build/buildd/glib2.0-2.22.3/glib/gslice.c:815
#3  0x00482fee in osync_list_copy (list=0x8d5afb0)
at /build/buildd/libopensync-0.40~20100330/opensync/common/opensync_list.c:313

Full backtrace at the end, but I don't think it adds much, except that
the app is multi-threaded.

glib version is 2.22.3, so the fatal line is

  ChunkLink *chunk = (*magazine_chunks)->data;

I've pretty much figured out that the code using the gslice stuff runs
through once ok, but falls over the second time around. If I had to
guess, I would say that something is reinitialising the slice allocator
unsafely in another thread, but I'm guessing wildly.

Can anyone provide some insight on what I should look for ?

Thanks
Mark

#0  magazine_chain_pop_head (mem_size=12)
at /build/buildd/glib2.0-2.22.3/glib/gslice.c:470
#1  thread_memory_magazine1_alloc (mem_size=12)
at /build/buildd/glib2.0-2.22.3/glib/gslice.c:777
#2  IA__g_slice_alloc (mem_size=12)
at /build/buildd/glib2.0-2.22.3/glib/gslice.c:815
#3  0x00482fee in osync_list_copy (list=0x8d5afb0)
at /build/buildd/libopensync-0.40~20100330/opensync/common/opensync_list.c:313
#4  0x004be714 in osync_plugin_info_get_objtype_sinks (info=0x8e03c28)
at /build/buildd/libopensync-0.40~20100330/opensync/plugin/opensync_plugin_info.c:176
#5  0x00c70673 in PluginInfo_num_objtype_sinks (self=0x0,
args=0xb777e56c)

at /build/buildd/libopensync-0.40~20100330/obj-i486-linux-gnu/wrapper/opensyncPYTHON_wrap.c:4188
#6  _wrap_PluginInfo_num_objtype_sinks (self=0x0, args=0xb777e56c)
at /build/buildd/libopensync-0.40~20100330/obj-i486-linux-gnu/wrapper/opensyncPYTHON_wrap.c:11480
#7  0x02e35b52 in PyCFunction_Call () from /usr/lib/libpython2.6.so.1.0
#8  0x02e94051 in PyEval_EvalFrameEx ()
from /usr/lib/libpython2.6.so.1.0
#9  0x02e95b39 in PyEval_EvalCodeEx () from /usr/lib/libpython2.6.so.1.0
#10 0x02e941f2 in PyEval_EvalFrameEx ()
from /usr/lib/libpython2.6.so.1.0
#11 0x02e95b39 in PyEval_EvalCodeEx () from /usr/lib/libpython2.6.so.1.0
#12 0x02e1fff7 in ?? () from /usr/lib/libpython2.6.so.1.0
#13 0x02df289c in PyObject_Call () from /usr/lib/libpython2.6.so.1.0
#14 0x02e037b4 in ?? () from /usr/lib/libpython2.6.so.1.0
#15 0x02df289c in PyObject_Call () from /usr/lib/libpython2.6.so.1.0
#16 0x02e8eb54 in PyEval_CallObjectWithKeywords ()
from /usr/lib/libpython2.6.so.1.0
#17 0x02e046f8 in ?? () from /usr/lib/libpython2.6.so.1.0
#18 0x02df203e in PyObject_Size () from /usr/lib/libpython2.6.so.1.0
#19 0x02e8c2a2 in ?? () from /usr/lib/libpython2.6.so.1.0
#20 0x02e9464b in PyEval_EvalFrameEx ()
from /usr/lib/libpython2.6.so.1.0
#21 0x02e95b39 in PyEval_EvalCodeEx () from /usr/lib/libpython2.6.so.1.0
#22 0x02e1fff7 in ?? () from /usr/lib/libpython2.6.so.1.0
#23 0x02df289c in PyObject_Call () from /usr/lib/libpython2.6.so.1.0
#24 0x02e037b4 in ?? () from /usr/lib/libpython2.6.so.1.0
#25 0x02df289c in PyObject_Call () from /usr/lib/libpython2.6.so.1.0
#26 0x02df51f5 in PyObject_CallFunction ()
from /usr/lib/libpython2.6.so.1.0
#27 0x02e0461b in ?? () from /usr/lib/libpython2.6.so.1.0
#28 0x02df1c38 in PySequence_GetItem ()
from /usr/lib/libpython2.6.so.1.0
#29 0x02e234d8 in ?? () from /usr/lib/libpython2.6.so.1.0
#30 0x02e903c2 in PyEval_EvalFrameEx ()
from /usr/lib/libpython2.6.so.1.0
#31 0x02e95b39 in PyEval_EvalCodeEx () from /usr/lib/libpython2.6.so.1.0
#32 0x02e1fff7 in ?? () from /usr/lib/libpython2.6.so.1.0
#33 0x02df289c in PyObject_Call () from /usr/lib/libpython2.6.so.1.0
#34 0x02df73d2 in PyObject_CallMethod ()
from /usr/lib/libpython2.6.so.1.0
#35 0x0087f5c4 in ?? ()
from /usr/lib/libopensync1/plugins/python-module.so
#36 0x004b6c9b in osync_plugin_discover (plugin=0x8d6a3c8,
data=0x8dd0490, info=0x8e03c28, error=0xb5f5014c)
#37 0x0047cec5 in _osync_client_handle_discover (message=0x0,
user_data=0x0)
at /build/buildd/libopensync-0.40~20100330/opensync/client/opensync_client.c:969
#38 _osync_client_message_handler (message=0x0, user_data=0x0)
at /build/buildd/libopensync-0.40~20100330/opensync/client/opensync_client.c:1547
#39 0x004ac8df in _incoming_dispatch (source=0x8d1f630, callback=0,
user_data=0x8d51250)
at /build/buildd/libopensync-0.40~20100330/opensync/ipc/opensync_queue.c:391
#40 0x00148e88 in g_main_dispatch (context=0x8d51818)
at /build/buildd/glib2.0-2.22.3/glib/gmain.c:1960
#41 IA__g_main_context_dispatch (context=0x8d51818)
at /build/buildd/glib2.0-2.22.3/glib/gmain.c:2513
#42 0x0014c730 in g_main_context_iterate (context=0x8d51818,
block=<value optimised out>, dispatch=1, self=0x8d2dbe0)
at /build/buildd/glib2.0-2.22.3/glib/gmain.c:2591
#43 0x0014cb9f in IA__g_main_loop_run (loop=0x8d2c338)
at /build/buildd/glib2.0-2.22.3/glib/gmain.c:2799
#44 0x0017337f in g_thread_create_proxy (data=0x8d2dbe0)
at /build/buildd/glib2.0-2.22.3/glib/gthread.c:635
#45 0x0043b80e in start_thread ()
from /lib/tls/i686/cmov/libpthread.so.0
#46 0x002938de in clone () from /lib/tls/i686/cmov/libc.so.6

Attachment: signature.asc
Description: This is a digitally signed message part



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]