#175: libpurple API called from different threads
-----------------------+----------------------------------------------------
Reporter: cavedon | Owner: vadim
Type: defect | Status: reopened
Priority: critical | Milestone: QuteCom 2.2-RC4
Component: misc | Version: 2.2
Resolution: | Keywords:
Field_os: all |
-----------------------+----------------------------------------------------
Comment(by cavedon):
Mhm, now it crashing right at startup with:
{{{
** (<unknown>:5513): CRITICAL **: purple_eventloop_get_ui_ops: assertion
`eventloop_ui_ops != NULL' failed
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffd5ffb910 (LWP 5554)]
0x00007ffff4dcae43 in purple_timeout_add (interval=0x0, function=0xbce5b2
<PurpleIMConnect::connectCbk(void*)>, data=0x7fffd8009330) at
/usr/src/debian/work/build-area/pidgin-2.6.6/./libpurple/eventloop.c:36
36 /usr/src/debian/work/build-
area/pidgin-2.6.6/./libpurple/eventloop.c: No such file or directory.
in /usr/src/debian/work/build-
area/pidgin-2.6.6/./libpurple/eventloop.c
Current language: auto
The current source language is "auto; currently c".
gdb$ bt
#0 0x00007ffff4dcae43 in purple_timeout_add (interval=0x0,
function=0xbce5b2 <PurpleIMConnect::connectCbk(void*)>,
data=0x7fffd8009330) at /usr/src/debian/work/build-
area/pidgin-2.6.6/./libpurple/eventloop.c:36
#1 0x0000000000bce818 in PurpleIMConnect::connect (this=0x7fffd8005760)
at
/home/cavedon/qutecom/qutecom-2.2/libs/imwrapper/src/purple/PurpleIMConnect.cpp:243
#2 0x0000000000dd22ee in Connect::timeoutEventHandler
(this=0x7fffd8001d40, sender=...) at
/home/cavedon/qutecom/qutecom-2.2/wengophone/src/model/connect/Connect.cpp:114
#3 0x0000000000dd6f92 in boost::_mfi::mf1<void, Connect,
Timer&>::operator() (this=0x7fffd80088f0, p=0x7fffd8001d40, a1=...) at
/usr/include/boost/bind/mem_fn_template.hpp:162
[...]
#30 0x0000000000e520bf in PrivateThread::run (this=0x7fffd8003a10) at
/home/cavedon/qutecom/qutecom-2.2/libs/owutil/thread/src/Timer.cpp:108
#31 0x00007ffff4d43ae1 in Thread::runThread (this=0x7fffd8003a10) at
/home/cavedon/qutecom/qutecom-2.2/libs/owutil/thread/src/Thread.cpp:70
[...]
gdb$ info threads
* 19 Thread 0x7fffd5ffb910 (LWP 5554) 0x00007ffff4dcae43 in
purple_timeout_add (interval=0x0, function=0xbce5b2
<PurpleIMConnect::connectCbk(void*)>, data=0x7fffd8009330) at
/usr/src/debian/work/build-area/pidgin-2.6.6/./libpurple/eventloop.c:36
18 Thread 0x7fffd67fc910 (LWP 5553) 0x00007ffff7bd2977 in close () from
/lib/libpthread.so.0
17 Thread 0x7fffd6ffd910 (LWP 5552) 0x00007fffef164f82 in select ()
from /lib/libc.so.6
16 Thread 0x7fffd77fe910 (LWP 5551) 0x00007fffef164f82 in select ()
from /lib/libc.so.6
15 Thread 0x7fffd7fff910 (LWP 5550) 0x00007fffef13cc61 in nanosleep ()
from /lib/libc.so.6
14 Thread 0x7fffdd6da910 (LWP 5549) 0x00007ffff7bd290b in read () from
/lib/libpthread.so.0
4 Thread 0x7fffe068c910 (LWP 5539) 0x00007fffef164f82 in select () from
/lib/libc.so.6
3 Thread 0x7fffe680f910 (LWP 5538) 0x00007fffef164f82 in select () from
/lib/libc.so.6
2 Thread 0x7fffe7010910 (LWP 5537) pthread_cond_wait@@GLIBC_2.3.2 () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
1 Thread 0x7ffff7e14770 (LWP 5534) 0x00007fffef160743 in *__GI___poll
(fds=<value optimized out>, nfds=<value optimized out>,
timeout=0xffffffff) at ../sysdeps/unix/sysv/linux/poll.c:87
}}}
This without my patch and with external libpurple 2.6.6.
--
Ticket URL: <http://trac.qutecom.org/ticket/175#comment:8>
QuteCom <http://trac.qutecom.org>
_______________________________________________
QuteCom-dev mailing list
[email protected]
http://lists.qutecom.org/mailman/listinfo/qutecom-dev