After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 558524 - Lockup after some hours of being idle
Lockup after some hours of being idle
Status: RESOLVED FIXED
Product: ekiga
Classification: Applications
Component: general
3.0.x
Other All
: Normal critical
: ---
Assigned To: Ekiga maintainers
Ekiga maintainers
Depends on:
Blocks:
 
 
Reported: 2008-10-30 12:52 UTC by Jan Kratochvil
Modified: 2009-07-27 12:12 UTC
See Also:
GNOME target: ---
GNOME version: 2.23/2.24



Description Jan Kratochvil 2008-10-30 12:52:04 UTC
Steps to reproduce:
1. It calls and works fine but if it is left idle for some time it locks up.


Stack trace:
Program received signal SIGINT, Interrupt.
0x000000364640dad4 in ?? () from /lib64/libpthread.so.0
(gdb) bt
  • #0 ??
    from /lib64/libpthread.so.0
  • #1 ??
    from /lib64/libpthread.so.0
  • #2 pthread_mutex_lock
    from /lib64/libpthread.so.0
  • #3 PTimedMutex::Wait
    at ptlib/unix/tlibthrd.cxx line 1271
  • #4 PReadWriteMutex::InternalStartRead
    at ptlib/common/osutils.cxx line 2205
  • #5 PSafeObject::LockReadOnly
    at ptlib/common/safecoll.cxx line 97
  • #6 PSafePtrBase::EnterSafetyMode
    at ptlib/common/safecoll.cxx line 622
  • #7 PSafePtr<SIPHandler>::operator++
    at /usr/include/ptlib/safecoll.h line 722
  • #8 SIPHandlersList::FindSIPHandlerByUrl
    at /usr/src/debug/opal-3.4.2/src/sip/handlers.cxx line 1122
  • #9 SIPEndPoint::Publish
    at /usr/src/debug/opal-3.4.2/src/sip/sipep.cxx line 1057
  • #10 Opal::Sip::EndPoint::publish
    at endpoints/sip-endpoint.cpp line 393
  • #11 Ekiga::PresenceCore::publish
    at ../../../../lib/engine/presence/skel/presence-core.cpp line 252
  • #12 sigc::bound_mem_functor4<void, Ekiga::PresenceCore, Ekiga::Account const&, Ekiga::AccountCore::RegistrationState, std::string, Ekiga::PersonalDetails*>::operator()
    at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h line 2055
  • #16 sigc::internal::signal_emit3<void, Ekiga::Account const&, Ekiga::AccountCore::RegistrationState, std::string, sigc::nil>::emit
    at /usr/include/sigc++-2.0/sigc++/signal.h line 1497
  • #18 Ekiga::AccountCore::on_registration_event
    at ../../../../lib/engine/account/skel/account-core.cpp line 128
  • #19 sigc::bound_mem_functor3<void, Ekiga::AccountCore, Ekiga::Account const*, Ekiga::AccountCore::RegistrationState, std::string>::operator()
    at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h line 1985
  • #22 sigc::internal::signal_emit3<void, Ekiga::Account const*, Ekiga::AccountCore::RegistrationState, std::string, sigc::nil>::emit
    at /usr/include/sigc++-2.0/sigc++/signal.h line 1497
  • #24 Ekiga::BankImpl<Opal::Account>::on_registration_event
    at ../lib/engine/account/skel/bank-impl.h line 316
  • #25 sigc::bound_mem_functor3<void, Ekiga::BankImpl<Opal::Account>, Ekiga::AccountCore::RegistrationState, std::string, Ekiga::Account*>::operator()
    at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h line 1985
  • #29 sigc::internal::signal_emit2<void, Ekiga::AccountCore::RegistrationState, std::string, sigc::nil>::emit
    at /usr/include/sigc++-2.0/sigc++/signal.h line 1248
  • #31 sigc::slot0<void>::operator()
    at /usr/include/sigc++-2.0/sigc++/functors/slot.h line 440
  • #32 run_later_or_back_in_main_helper
    at ../../../lib/engine/framework/runtime-glib.cpp line 58
  • #33 dispatch
    at ../../../lib/engine/framework/runtime-glib.cpp line 100
  • #34 g_main_dispatch
    at gmain.c line 2144
  • #35 IA__g_main_context_dispatch
    at gmain.c line 2697
  • #36 g_main_context_iterate
    at gmain.c line 2778
  • #37 IA__g_main_loop_run
    at gmain.c line 2986
  • #38 IA__gtk_main
    at gtkmain.c line 1200
  • #39 main
    at gui/main.cpp line 4821


Other information:
Fedora 10alpha / current Rawhide
ekiga-3.0.1-2.fc10.x86_64
I do not guarantee the other versions exactly match the backtrace but it is mostly similiar (with some updates) to the versions listed in Bug 558495.
Comment 1 Matthias Schneider 2008-10-30 19:48:04 UTC
Can you provide a complete backtrace with 

thread apply all bt

?
Comment 2 Jan Kratochvil 2008-10-31 11:20:53 UTC
As I run the default -O2 rpm build the variables dump is not much useful.  Sure I could rebuild all the libraries with `-O0 -g' etc. but I just tried if the bug is not more obvious.

(gdb) bt full
  • #0 ??
    from /lib64/libpthread.so.0
  • #1 ??
    from /lib64/libpthread.so.0
  • #2 pthread_mutex_lock
    from /lib64/libpthread.so.0
  • #3 PTimedMutex::Wait
    at ptlib/unix/tlibthrd.cxx line 1271
  • #4 PReadWriteMutex::InternalStartRead
    at ptlib/common/osutils.cxx line 2205
  • #5 PSafeObject::LockReadOnly
    at ptlib/common/safecoll.cxx line 97
  • #6 PSafePtrBase::EnterSafetyMode
    at ptlib/common/safecoll.cxx line 622
  • #7 SIPHandlersList::FindSIPHandlerByUrl
    at /usr/include/ptlib/safecoll.h line 722
  • #8 SIPEndPoint::Publish
    at /usr/src/debug/opal-3.4.2/src/sip/sipep.cxx line 1057
  • #9 Opal::Sip::EndPoint::publish
    at endpoints/sip-endpoint.cpp line 393
  • #10 Ekiga::PresenceCore::publish
    at ../../../../lib/engine/presence/skel/presence-core.cpp line 252
  • #11 sigc::internal::slot_call3<sigc::bind_functor<-1, sigc::bound_mem_functor4<void, Ekiga::PresenceCore, Ekiga::Account const&, Ekiga::AccountCore::RegistrationState, std::string, Ekiga::PersonalDetails*>, Ekiga::PersonalDetails*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, void, Ekiga::Account const&, Ekiga::AccountCore::RegistrationState, std::string>::call_it
    at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h line 2055
  • #12 Ekiga::AccountCore::on_registration_event
    at /usr/include/sigc++-2.0/sigc++/signal.h line 1497
  • #13 sigc::internal::slot_call3<sigc::bound_mem_functor3<void, Ekiga::AccountCore, Ekiga::Account const*, Ekiga::AccountCore::RegistrationState, std::string>, void, Ekiga::Account const*, Ekiga::AccountCore::RegistrationState, std::string>::call_it
    at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h line 1985
  • #14 Ekiga::BankImpl<Opal::Account>::on_registration_event
    at /usr/include/sigc++-2.0/sigc++/signal.h line 1497
  • #15 sigc::internal::slot_call2<sigc::bind_functor<-1, sigc::bound_mem_functor3<void, Ekiga::BankImpl<Opal::Account>, Ekiga::AccountCore::RegistrationState, std::string, Ekiga::Account*>, Opal::Account*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, void, Ekiga::AccountCore::RegistrationState, std::string>::call_it
    at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h line 1985
  • #16 sigc::signal2<void, Ekiga::AccountCore::RegistrationState, std::string, sigc::nil>::emit(Ekiga::AccountCore::RegistrationState const&, std::string const&) const
  • #17 run_later_or_back_in_main_helper
    at /usr/include/sigc++-2.0/sigc++/functors/slot.h line 440
  • #18 dispatch
    at ../../../lib/engine/framework/runtime-glib.cpp line 100
  • #19 IA__g_main_context_dispatch
    at gmain.c line 2144
  • #20 g_main_context_iterate
    at gmain.c line 2778
  • #21 IA__g_main_loop_run
    at gmain.c line 2986
  • #22 IA__gtk_main
    at gtkmain.c line 1200
  • #23 main
    at gui/main.cpp line 4821
  • #0 ??
    from /lib64/libpthread.so.0
  • #1 ??
    from /lib64/libpthread.so.0
  • #2 pthread_mutex_lock
    from /lib64/libpthread.so.0
  • #3 PTimedMutex::Wait
    at ptlib/unix/tlibthrd.cxx line 1271
  • #4 PReadWriteMutex::InternalStartRead
    at ptlib/common/osutils.cxx line 2205
  • #5 PSafeObject::LockReadOnly
    at ptlib/common/safecoll.cxx line 97
  • #6 PSafePtrBase::EnterSafetyMode
    at ptlib/common/safecoll.cxx line 622
  • #7 SIPHandlersList::FindSIPHandlerByUrl
    at /usr/include/ptlib/safecoll.h line 722
  • #8 SIPEndPoint::Publish
    at /usr/src/debug/opal-3.4.2/src/sip/sipep.cxx line 1057
  • #9 Opal::Sip::EndPoint::publish
    at endpoints/sip-endpoint.cpp line 393
  • #10 Ekiga::PresenceCore::publish
    at ../../../../lib/engine/presence/skel/presence-core.cpp line 252
  • #11 sigc::internal::slot_call3<sigc::bind_functor<-1, sigc::bound_mem_functor4<void, Ekiga::PresenceCore, Ekiga::Account const&, Ekiga::AccountCore::RegistrationState, std::string, Ekiga::PersonalDetails*>, Ekiga::PersonalDetails*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, void, Ekiga::Account const&, Ekiga::AccountCore::RegistrationState, std::string>::call_it
    at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h line 2055
  • #12 Ekiga::AccountCore::on_registration_event
    at /usr/include/sigc++-2.0/sigc++/signal.h line 1497
  • #13 sigc::internal::slot_call3<sigc::bound_mem_functor3<void, Ekiga::AccountCore, Ekiga::Account const*, Ekiga::AccountCore::RegistrationState, std::string>, void, Ekiga::Account const*, Ekiga::AccountCore::RegistrationState, std::string>::call_it
    at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h line 1985
  • #14 Ekiga::BankImpl<Opal::Account>::on_registration_event
    at /usr/include/sigc++-2.0/sigc++/signal.h line 1497
  • #15 sigc::internal::slot_call2<sigc::bind_functor<-1, sigc::bound_mem_functor3<void, Ekiga::BankImpl<Opal::Account>, Ekiga::AccountCore::RegistrationState, std::string, Ekiga::Account*>, Opal::Account*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, void, Ekiga::AccountCore::RegistrationState, std::string>::call_it
    at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h line 1985
  • #16 sigc::signal2<void, Ekiga::AccountCore::RegistrationState, std::string, sigc::nil>::emit(Ekiga::AccountCore::RegistrationState const&, std::string const&) const
  • #17 run_later_or_back_in_main_helper
    at /usr/include/sigc++-2.0/sigc++/functors/slot.h line 440
  • #18 dispatch
    at ../../../lib/engine/framework/runtime-glib.cpp line 100
  • #19 IA__g_main_context_dispatch
    at gmain.c line 2144
  • #20 g_main_context_iterate
    at gmain.c line 2778
  • #21 IA__g_main_loop_run
    at gmain.c line 2986
  • #22 IA__gtk_main
    at gtkmain.c line 1200
  • #23 main
    at gui/main.cpp line 4821

Comment 3 Matthias Schneider 2008-11-03 20:25:31 UTC
The new backtrace is still unuseful, since it only shows one thread. Like I said a 
thread apply all bt is needed
even if it does not show all debug symbols
Comment 4 Jan Kratochvil 2008-11-04 08:37:42 UTC
Sorry, I did read it wrong (it did not show me it has threads before due to some other local problems).

(gdb) info threads 
  11 Thread 0x7f6030f96950 (LWP 14112)  0x000000364640b2c9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  10 Thread 0x7f6030f55950 (LWP 14113)  0x000000364640b2c9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  9 Thread 0x7f6030f14950 (LWP 14114)  0x000000364640b2c9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  8 Thread 0x7f6030ed3950 (LWP 14115)  0x000000364640d2c1 in sem_wait () from /lib64/libpthread.so.0
  7 Thread 0x7f6030e92950 (LWP 14116)  0x000000364640b54d in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  6 Thread 0x7f6030e51950 (LWP 14117)  0x000000364640d2c1 in sem_wait () from /lib64/libpthread.so.0
  5 Thread 0x7f6030d46950 (LWP 14121)  0x00000036458dca86 in *__GI___poll (fds=0x2a2a700, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
  4 Thread 0x7f6030345950 (LWP 14128)  0x00000036458dca86 in *__GI___poll (fds=0x2a2ae20, nfds=9, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
  3 Thread 0x7f6030e10950 (LWP 14144)  0x000000364640b2c9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
  2 Thread 0x7f6030dc8950 (LWP 14145)  0x00000036458dec62 in select () from /lib64/libc.so.6
* 1 Thread 0x7f6035c3f800 (LWP 14110)  0x000000364640dad4 in __lll_lock_wait () from /lib64/libpthread.so.0
(gdb) thread apply all bt

Thread 1 (Thread 0x7f6035c3f800 (LWP 14110))

  • #0 __lll_lock_wait
    from /lib64/libpthread.so.0
  • #1 _L_lock_312
    from /lib64/libpthread.so.0
  • #2 __pthread_mutex_lock
    at pthread_mutex_lock.c line 69
  • #3 PTimedMutex::Wait
    at ptlib/unix/tlibthrd.cxx line 1271
  • #4 PReadWriteMutex::InternalStartRead
    at ptlib/common/osutils.cxx line 2205
  • #5 PSafeObject::LockReadOnly
    at ptlib/common/safecoll.cxx line 97
  • #6 PSafePtrBase::EnterSafetyMode
    at ptlib/common/safecoll.cxx line 622
  • #7 SIPHandlersList::FindSIPHandlerByUrl
    at /usr/include/ptlib/safecoll.h line 722
  • #8 SIPEndPoint::Publish
    at /usr/src/debug/opal-3.4.2/src/sip/sipep.cxx line 1057
  • #9 Opal::Sip::EndPoint::publish
    at endpoints/sip-endpoint.cpp line 393
  • #10 Ekiga::PresenceCore::publish
    at ../../../../lib/engine/presence/skel/presence-core.cpp line 252
  • #11 sigc::internal::slot_call3<sigc::bind_functor<-1, sigc::bound_mem_functor4<void, Ekiga::PresenceCore, Ekiga::Account const&, Ekiga::AccountCore::RegistrationState, std::string, Ekiga::PersonalDetails*>, Ekiga::PersonalDetails*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, void, Ekiga::Account const&, Ekiga::AccountCore::RegistrationState, std::string>::call_it
    at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h line 2055
  • #12 Ekiga::AccountCore::on_registration_event
    at /usr/include/sigc++-2.0/sigc++/signal.h line 1497
  • #13 sigc::internal::slot_call3<sigc::bound_mem_functor3<void, Ekiga::AccountCore, Ekiga::Account const*, Ekiga::AccountCore::RegistrationState, std::string>, void, Ekiga::Account const*, Ekiga::AccountCore::RegistrationState, std::string>::call_it
    at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h line 1985
  • #14 Ekiga::BankImpl<Opal::Account>::on_registration_event
    at /usr/include/sigc++-2.0/sigc++/signal.h line 1497
  • #15 sigc::internal::slot_call2<sigc::bind_functor<-1, sigc::bound_mem_functor3<void, Ekiga::BankImpl<Opal::Account>, Ekiga::AccountCore::RegistrationState, std::string, Ekiga::Account*>, Opal::Account*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, void, Ekiga::AccountCore::RegistrationState, std::string>::call_it
    at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h line 1985
  • #16 sigc::signal2<void, Ekiga::AccountCore::RegistrationState, std::string, sigc::nil>::emit(Ekiga::AccountCore::RegistrationState const&, std::string const&) const
  • #17 run_later_or_back_in_main_helper
    at /usr/include/sigc++-2.0/sigc++/functors/slot.h line 440
  • #18 dispatch
    at ../../../lib/engine/framework/runtime-glib.cpp line 100
  • #19 IA__g_main_context_dispatch
    at gmain.c line 2144
  • #20 g_main_context_iterate
    at gmain.c line 2778
  • #21 IA__g_main_loop_run
    at gmain.c line 2986
  • #22 IA__gtk_main
    at gtkmain.c line 1200
  • #23 main
    at gui/main.cpp line 4821

Comment 5 Eugen Dedu 2009-06-03 15:34:30 UTC
I suppose this is the same as the Write crash (recently fixed), since it is in the same code (publish) and only after some hours of being idle.

Jan, please check with current svn/git or try the new 3.2.5 ekiga (which will appear very soon).
Comment 6 Eugen Dedu 2009-07-27 10:49:07 UTC
Jan, any news?
Comment 7 Jan Kratochvil 2009-07-27 10:57:51 UTC
Running now ekiga-3.2.5-2.fc11 opal-3.6.4-2.fc11 ptlib-2.6.4-2.fc11 (x86_64)
and after a day of idle it cannot call even <sip:500@ekiga.net>.  It no longer crashes but the call hangs up immediately without getting connected.
Simple restart of Ekiga makes <sip:500@ekiga.net> working.
Running now with `-d 4' and going to post some results when it gets idle enough.
Comment 8 Eugen Dedu 2009-07-27 11:05:13 UTC
This is bug #579938, so we can close this bug about the lockup, is that right?
Comment 9 Jan Kratochvil 2009-07-27 11:33:24 UTC
Bug #579938 is talking about broken reception of calls while calls originating works there.
Anyway it can be considered a different bug I am going to post/follow-up so closing this one, thanks.
Comment 10 Eugen Dedu 2009-07-27 12:12:30 UTC
Note there's also bug #584676.