#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

Reply via email to