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 576226 - Close followed by Quit -> Crash
Close followed by Quit -> Crash
Status: RESOLVED OBSOLETE
Product: ekiga
Classification: Applications
Component: general
3.2.x
Other All
: Normal critical
: ---
Assigned To: Snark
Ekiga maintainers
: 570008 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2009-03-21 19:49 UTC by Jesper Pedersen
Modified: 2009-07-27 08:40 UTC
See Also:
GNOME target: ---
GNOME version: 2.23/2.24



Description Jesper Pedersen 2009-03-21 19:49:16 UTC
Steps to reproduce:
1. File->Close
2. Maximize window again
3. File->Quit
4. Crash


Stack trace:
[Thread 0x7fffea953950 (LWP 13451) exited]
*** glibc detected *** /usr/local/bin/ekiga: corrupted double-linked list: 0x00000000008ae220 ***
======= Backtrace: =========
/lib64/libc.so.6[0x7fffeeb0f118]
/lib64/libc.so.6[0x7fffeeb10a7e]
/lib64/libc.so.6(cfree+0x76)[0x7fffeeb10c76]
/usr/lib64/libsigc-2.0.so.0(_ZNSt10_List_baseIN4sigc9slot_baseESaIS1_EE8_M_clearEv+0x27)[0x7ffff3f5beb7]
/usr/lib64/libsigc-2.0.so.0(_ZN4sigc11signal_baseD2Ev+0x31)[0x7ffff3f5be51]
/usr/local/bin/ekiga(_ZN5Local10PresentityD0Ev+0xa4)[0x5ba664]
/usr/local/bin/ekiga(_ZN9gmref_ptrIN5Local10PresentityEED1Ev+0x29)[0x56c7b9]
/usr/local/bin/ekiga(_ZNSt8_Rb_treeI9gmref_ptrIN5Local10PresentityEESt4pairIKS3_St4listIN4sigc10connectionESaIS8_EEESt10_Select1stISB_ESt4lessIS3_ESaISB_EE8_M_eraseEPSt13_Rb_tree_nodeISB_E+0x65)[0x56cde5]
/usr/local/bin/ekiga(_ZNSt8_Rb_treeI9gmref_ptrIN5Local10PresentityEESt4pairIKS3_St4listIN4sigc10connectionESaIS8_EEESt10_Select1stISB_ESt4lessIS3_ESaISB_EE8_M_eraseEPSt13_Rb_tree_nodeISB_E+0x30)[0x56cdb0]
/usr/local/bin/ekiga(_ZN5Ekiga9RefListerIN5Local10PresentityEED2Ev+0x6e)[0x56ceae]
/usr/local/bin/ekiga(_ZN5Ekiga8HeapImplIN5Local10PresentityEED2Ev+0x43)[0x56d0f3]
/usr/local/bin/ekiga(_ZN5Local4HeapD0Ev+0x51)[0x567351]
/usr/local/bin/ekiga(_ZN9gmref_ptrIN5Local4HeapEED1Ev+0x29)[0x50bee9]
/usr/local/bin/ekiga(_ZNSt8_Rb_treeI9gmref_ptrIN5Local4HeapEESt4pairIKS3_St4listIN4sigc10connectionESaIS8_EEESt10_Select1stISB_ESt4lessIS3_ESaISB_EE8_M_eraseEPSt13_Rb_tree_nodeISB_E+0x65)[0x50c625]
/usr/local/bin/ekiga(_ZN5Ekiga9RefListerIN5Local4HeapEED2Ev+0x6e)[0x50c6ee]
/usr/local/bin/ekiga(_ZN5Ekiga11ClusterImplIN5Local4HeapEED2Ev+0x43)[0x50c933]
/usr/local/bin/ekiga(_ZN5Local7ClusterD0Ev+0x89)[0x509ec9]
/usr/local/bin/ekiga(_ZN9gmref_ptrIN5Local7ClusterEED1Ev+0x29)[0x509349]
/usr/local/bin/ekiga(_ZN5Local16ContactDecoratorD0Ev+0x2e)[0x5093ae]
/usr/local/bin/ekiga(_ZN5Ekiga11ContactCoreD0Ev+0x84)[0x4de3a4]
/usr/local/bin/ekiga(_ZN9gmref_ptrIN5Ekiga7ServiceEED1Ev+0x29)[0x49c499]
/usr/local/bin/ekiga(_ZN5Ekiga11ServiceCoreD1Ev+0x29)[0x4f71e9]
/usr/local/bin/ekiga(_Z11engine_stopv+0x15)[0x4ce3a5]
/usr/local/bin/ekiga(_ZN12GnomeMeeting10StopEngineEv+0x2a)[0x4c0dba]
/usr/local/bin/ekiga(main+0x3e6)[0x4af656]
/lib64/libc.so.6(__libc_start_main+0xe6)[0x7fffeeab9586]
/usr/local/bin/ekiga[0x499879]
======= Memory map: ========
00400000-0061c000 r-xp 00000000 08:03 244856                             /usr/local/packages/ekiga-3.2-20090321/bin/ekiga
0081c000-0082c000 r--p 0021c000 08:03 244856                             /usr/local/packages/ekiga-3.2-20090321/bin/ekiga
0082c000-00832000 rw-p 0022c000 08:03 244856                             /usr/local/packages/ekiga-3.2-20090321/bin/ekiga
00832000-0159f000 rw-p 00832000 00:00 0                                  [heap]
7fffe0000000-7fffe026f000 rw-p 7fffe0000000 00:00 0
7fffe026f000-7fffe4000000 ---p 7fffe026f000 00:00 0
7fffe48d4000-7fffe48d5000 ---p 7fffe48d4000 00:00 0
7fffe48d5000-7fffe50d5000 rw-p 7fffe48d5000 00:00 0
7fffe50d5000-7fffe50d6000 ---p 7fffe50d5000 00:00 0
7fffe50d6000-7fffe58d6000 rw-p 7fffe50d6000 00:00 0
7fffe58d6000-7fffe58d7000 ---p 7fffe58d6000 00:00 0
7fffe58d7000-7fffe60d7000 rw-p 7fffe58d7000 00:00 0
7fffe60d7000-7fffe60d8000 ---p 7fffe60d7000 00:00 0
7fffe60d8000-7fffe68d8000 rw-p 7fffe60d8000 00:00 0
7fffe68d8000-7fffe68ef000 r-xp 00000000 08:01 418930                     /usr/lib64/libbeagle.so.1.0.2
7fffe68ef000-7fffe6aef000 ---p 00017000 08:01 418930                     /usr/lib64/libbeagle.so.1.0.2
7fffe6aef000-7fffe6af0000 r--p 00017000 08:01 418930                     /usr/lib64/libbeagle.so.1.0.2
7fffe6af0000-7fffe6af1000 rw-p 00018000 08:01 418930                     /usr/lib64/libbeagle.so.1.0.2
7fffe6af1000-7fffe6af3000 r-xp 00000000 08:01 943949                     /lib64/libutil-2.9.so
7fffe6af3000-7fffe6cf2000 ---p 00002000 08:01 943949                     /lib64/libutil-2.9.so
7fffe6cf2000-7fffe6cf3000 r--p 00001000 08:01 943949                     /lib64/libutil-2.9.so
7fffe6cf3000-7fffe6cf4000 rw-p 00002000 08:01 943949                     /lib64/libutil-2.9.so
7fffe6cf4000-7fffe6d04000 r-xp 00000000 08:01 419217                     /us
Program received signal SIGABRT, Aborted.
0x00007fffeeacd645 in raise () from /lib64/libc.so.6

Thread 1 (Thread 0x7ffff7fb4790 (LWP 13446))

  • #0 raise
    from /lib64/libc.so.6
  • #1 abort
    from /lib64/libc.so.6
  • #2 ??
    from /lib64/libc.so.6
  • #3 ??
    from /lib64/libc.so.6
  • #4 ??
    from /lib64/libc.so.6
  • #5 free
    from /lib64/libc.so.6
  • #6 std::_List_base<sigc::slot_base, std::allocator<sigc::slot_base> >::_M_clear()
    from /usr/lib64/libsigc-2.0.so.0
  • #7 sigc::signal_base::~signal_base()
    from /usr/lib64/libsigc-2.0.so.0
  • #8 ~Presentity
    at /usr/include/sigc++-2.0/sigc++/signal.h line 2737
  • #9 ~gmref_ptr
    at ../../../../lib/engine/framework/gmref.h line 108
  • #10 std::_Rb_tree<gmref_ptr<Local::Presentity>, std::pair<gmref_ptr<Local::Presentity> const, std::list<sigc::connection, std::allocator<sigc::connection> > >, std::_Select1st<std::pair<gmref_ptr<Local::Presentity> const, std::list<sigc::connection, std::allocator<sigc::connection> > > >, std::less<gmref_ptr<Local::Presentity> >, std::allocator<std::pair<gmref_ptr<Local::Presentity> const, std::list<sigc::connection, std::allocator<sigc::connection> > > > >::_M_erase
    at /usr/include/c++/4.3/bits/stl_pair.h line 73
  • #11 std::_Rb_tree<gmref_ptr<Local::Presentity>, std::pair<gmref_ptr<Local::Presentity> const, std::list<sigc::connection, std::allocator<sigc::connection> > >, std::_Select1st<std::pair<gmref_ptr<Local::Presentity> const, std::list<sigc::connection, std::allocator<sigc::connection> > > >, std::less<gmref_ptr<Local::Presentity> >, std::allocator<std::pair<gmref_ptr<Local::Presentity> const, std::list<sigc::connection, std::allocator<sigc::connection> > > > >::_M_erase
    at /usr/include/c++/4.3/bits/stl_tree.h line 941
  • #12 ~RefLister
    at /usr/include/c++/4.3/bits/stl_tree.h line 585
  • #13 ~HeapImpl
    at ../../../../lib/engine/presence/heap-impl.h line 119
  • #14 ~Heap
    at ../../../../lib/engine/components/local-roster/local-heap.cpp line 104
  • #15 ~gmref_ptr
    at ../../../../lib/engine/framework/gmref.h line 108
  • #16 std::_Rb_tree<gmref_ptr<Local::Heap>, std::pair<gmref_ptr<Local::Heap> const, std::list<sigc::connection, std::allocator<sigc::connection> > >, std::_Select1st<std::pair<gmref_ptr<Local::Heap> const, std::list<sigc::connection, std::allocator<sigc::connection> > > >, std::less<gmref_ptr<Local::Heap> >, std::allocator<std::pair<gmref_ptr<Local::Heap> const, std::list<sigc::connection, std::allocator<sigc::connection> > > > >::_M_erase
    at /usr/include/c++/4.3/bits/stl_pair.h line 73
  • #17 ~RefLister
    at /usr/include/c++/4.3/bits/stl_tree.h line 585
  • #18 ~ClusterImpl
    at ../../../../lib/engine/presence/cluster-impl.h line 128
  • #19 ~Cluster
    at ../../../../lib/engine/components/local-roster/local-cluster.cpp line 57
  • #20 ~gmref_ptr
    at ../../../../lib/engine/framework/gmref.h line 108
  • #21 ~ContactDecorator
    at ../../../../lib/engine/components/local-roster/local-roster-bridge.cpp line 61
  • #22 ~ContactCore
    at ../../../lib/engine/framework/gmref.h line 108
  • #23 ~gmref_ptr
    at ../lib/engine/framework/gmref.h line 108
  • #24 ~ServiceCore
    at /usr/include/c++/4.3/ext/new_allocator.h line 118
  • #25 engine_stop
    at engine.cpp line 319
  • #26 GnomeMeeting::StopEngine
    at ekiga.cpp line 247
  • #27 main
    at gui/main.cpp line 4572


Other information:
PTLIB 2-6 / OPAL 3.6 / EKIGA 3.2 -- stable branches 20090321
Comment 1 Snark 2009-03-21 20:13:02 UTC
Hmmm... are you sure step one and step two are really needed for your crash?

I can't reproduce it, so you'll have to give me as much information as possible :
1) do you get it often?
2) does having video preview on/off change anything?
3) are you registered to a presence server when that happens?
4) if so, does the crash still occur if you unregister first?

Thanks
Comment 2 Jesper Pedersen 2009-03-22 12:09:31 UTC
1) Every time I do it

(gdb) bt

Thread 1 (Thread 0x7ffff7fb4790 (LWP 12514))

  • #0 ??
    from /lib64/libc.so.6
  • #1 ??
    from /lib64/libc.so.6
  • #2 free
    from /lib64/libc.so.6
  • #3 std::list<sigc::slot_base, std::allocator<sigc::slot_base> >::erase(std::_List_iterator<sigc::slot_base>)
    from /usr/lib64/libsigc-2.0.so.0
  • #4 sigc::internal::signal_impl::sweep()
    from /usr/lib64/libsigc-2.0.so.0
  • #5 sigc::internal::signal_impl::notify(void*)
    from /usr/lib64/libsigc-2.0.so.0
  • #6 ~RefLister
    at ../../../../lib/engine/framework/reflister.h line 98
  • #7 ~HeapImpl
    at ../../../../lib/engine/presence/heap-impl.h line 119
  • #8 ~Heap
    at ../../../../lib/engine/components/local-roster/local-heap.cpp line 104
  • #9 ~gmref_ptr
    at ../../../../lib/engine/framework/gmref.h line 108
  • #10 std::_Rb_tree<gmref_ptr<Local::Heap>, std::pair<gmref_ptr<Local::Heap> const, std::list<sigc::connection, std::allocator<sigc::connection> > >, std::_Select1st<std::pair<gmref_ptr<Local::Heap> const, std::list<sigc::connection, std::allocator<sigc::connection> > > >, std::less<gmref_ptr<Local::Heap> >, std::allocator<std::pair<gmref_ptr<Local::Heap> const, std::list<sigc::connection, std::allocator<sigc::connection> > > > >::_M_erase
    at /usr/include/c++/4.3/bits/stl_pair.h line 73
  • #11 ~RefLister
    at /usr/include/c++/4.3/bits/stl_tree.h line 585
  • #12 ~ClusterImpl
    at ../../../../lib/engine/presence/cluster-impl.h line 128
  • #13 ~Cluster
    at ../../../../lib/engine/components/local-roster/local-cluster.cpp line 57
  • #14 ~gmref_ptr
    at ../../../../lib/engine/framework/gmref.h line 108
  • #15 ~ContactDecorator
    at ../../../../lib/engine/components/local-roster/local-roster-bridge.cpp line 61
  • #16 ~ContactCore
    at ../../../lib/engine/framework/gmref.h line 108
  • #17 ~gmref_ptr
    at ../lib/engine/framework/gmref.h line 108
  • #18 ~ServiceCore
    at /usr/include/c++/4.3/ext/new_allocator.h line 118
  • #19 engine_stop
    at engine.cpp line 319
  • #20 GnomeMeeting::StopEngine
    at ekiga.cpp line 247
  • #21 main
    at gui/main.cpp line 4572

HTH
Comment 3 Snark 2009-04-01 19:39:40 UTC
*** Bug 570008 has been marked as a duplicate of this bug. ***
Comment 4 Snark 2009-04-01 19:40:27 UTC
I have other similar reports and an idea what to look for... let me try to bring that bug down.
Comment 5 Raphaël 2009-04-02 21:51:45 UTC
I also have a segfault each time I quit ekiga (even not having been connected to any server)
But I rarely able to reproduce it with [ls]trace attached to the process or with gdb. But this time it was the case so here is a backstrace (3.2.0 stable).
I wish it comes from the same source (at least it seems until slot_rep::notify())

  • #0 sigc::internal::slot_rep::disconnect
    from /usr/lib/libsigc-2.0.so.0
  • #1 sigc::internal::slot_rep::notify
    from /usr/lib/libsigc-2.0.so.0
  • #2 sigc::internal::trackable_callback_list::~trackable_callback_list
    from /usr/lib/libsigc-2.0.so.0
  • #3 sigc::trackable::notify_callbacks
    from /usr/lib/libsigc-2.0.so.0
  • #4 Ekiga::ContactCore::~ContactCore
  • #5 gmref_ptr<Ekiga::Service>::~gmref_ptr
  • #6 Ekiga::ServiceCore::~ServiceCore
  • #7 engine_stop
  • #8 GnomeMeeting::StopEngine
  • #9 main

Comment 6 Snark 2009-04-03 09:15:26 UTC
Sigh... another one :-/
Comment 7 Snark 2009-04-03 11:58:46 UTC
Eh, I just fixed something in the local roster code and in the call history code, which *may* have triggered what you have.

How does it feel with that fix?
Comment 8 Eugen Dedu 2009-07-18 20:24:35 UTC
Jesper, can you test with 3.2.5?  I am sure that all these crashes have been fixed, I will close them soon.
Comment 9 Jesper Pedersen 2009-07-22 19:30:34 UTC
I'll go through them soon - I can't switch to the 3.2 branch due to http://bugzilla.gnome.org/show_bug.cgi?id=578816 - but it should be possible to verify many of my reports.
Comment 10 Jesper Pedersen 2009-07-26 14:35:25 UTC
Using Fedora 11 and stable branch 3.2 (20090726) the problem is fixed.