Using PTLib branch v2_10
I Ekiga I ran with an assertion when tracing:
Starting program: /opt/ekiga/bin/ekiga -d 8
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Gtk-Message: Failed to load module "canberra-gtk-module"
on Unix Linux (3.2.0-2-amd64-x86_64) with PTLib (v2.10beta6 (svn:27919)) at 2012/6/28 11:06:44.241PWLib Assertion fail: Invalid array index, file ptlib/common/collect.cxx, line 399, class PStack, Error=2
<A>bort, <C>ore dump, <I>gnore? c
Dumping core.
Program received signal SIGABRT, Aborted.
0x00007ffff1d95efb in raise (sig=<optimized out>)
at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:41
41 ../nptl/sysdeps/unix/sysv/linux/pt-raise.c: No such file or directory.
(gdb) bt
#0 0x00007ffff1d95efb in raise (sig=<optimized out>)
at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:41
#1 0x00007ffff3129388 in PAssertAction (c=99,
msg=0x747a18 "Assertion fail: Invalid array index, file ptlib/common/collect.cxx, line 399, class PStack, Error=2") at ptlib/unix/assert.cxx:76
#2 0x00007ffff3129512 in PAssertFunc (
msg=0x747a18 "Assertion fail: Invalid array index, file ptlib/common/collect.cxx, line 399, class PStack, Error=2") at ptlib/unix/assert.cxx:150
#3 0x00007ffff31661cf in PAssertFunc (
file=0x7ffff3185760 "ptlib/common/collect.cxx", line=399,
className=0x7ffff3180e2a "PStack", msg=0x7ffff3185f5d "Invalid array index")
at ptlib/common/object.cxx:147
#4 0x00007ffff316605c in PAssertFunc (
msg=0x747a18 "Assertion fail: Invalid array index, file ptlib/common/collect.cxx, line 399, class PStack, Error=2") at ptlib/unix/assert.cxx:150
#3 0x00007ffff31661cf in PAssertFunc (
file=0x7ffff3185760 "ptlib/common/collect.cxx", line=399,
className=0x7ffff3180e2a "PStack", msg=0x7ffff3185f5d "Invalid array index")
at ptlib/common/object.cxx:147
#4 0x00007ffff316605c in PAssertFunc (
file=0x7ffff3185760 "ptlib/common/collect.cxx", line=399,
className=0x7ffff3180e2a "PStack", msg=PInvalidArrayIndex)
at ptlib/common/object.cxx:124
#5 0x00007ffff315386b in PAbstractList::RemoveAt (this=0x7482f0, index=0)
at ptlib/common/collect.cxx:399
#6 0x00007ffff310272d in PStack<PStringStream>::Pop (this=0x7482f0)
at /home/vjaquez/checkout/gnome2/ptlib/include/ptlib/lists.h:624
#7 0x00007ffff3143386 in PTrace::End (paramStream=...)
at ptlib/common/osutils.cxx:547
#8 0x00007ffff3142aef in PTrace::Initialise (level=8, filename=0x0,
rolloverPattern=0x0, options=15) at ptlib/common/osutils.cxx:365
#9 0x00007ffff31425e0 in PTrace::Initialise (level=8, filename=0x0, options=15)
at ptlib/common/osutils.cxx:321
#10 0x0000000000420a9e in main (argc=1, argv=0x7fffffffd808) at gui/main.cpp:167
This patch checks the number if trace streams and if there are more than zero.
count the trace streams befor pop at logging
Patch applied to Luyten (PTLib 2.10, OPAL 3.10) and trunk, thank you very much!