Re: [Ekiga-devel-list] AccountCore
- From: "Peter Robinson" <pbrobinson gmail com>
- To: "Ekiga development mailing list" <ekiga-devel-list gnome org>
- Subject: Re: [Ekiga-devel-list] AccountCore
- Date: Tue, 1 Jul 2008 00:34:15 +0100
Hi Damien,
> I have just committed a huge diff to SVN (approx 6000 lines).
>
> It is unfinished work and has some limitations. However, I wanted to
> commit it because I will be away for 10 days : 3 days in Mont-de-Marsan
> (Rencontres Mondiales du Logiciel Libre) and one week in Istanbul for
> GUADEC (guadec.org). If you want to listen to my talk, feel free to
> join.
>
> The new code is the last huge missing part in the engine : an
> AccountCore.
>
> The AccountCore manages accounts using Banks of Accounts. A Bank is a
> templatized class managing a given type of Account. Currently, OPAL
> accounts are supported. They can be registered using an
> AccountSubscriber.
>
> This code will allow fixing limitations of the old code :
> - when removing an account you stayed registered
> - when editing an account, you had to tick/untick the toggle box to
> update your settings
> - ...
>
> However, there are still things to do :
> - H.323 Registering is broken
> - Unregistering does not work
> - The Assistant and PC-to-Phone dialogs are not rewritten yet using the
> new framework
> - Deleting an account is not implemented
>
> They are simple things to fix if you have time.
>
> The rest should work.
I just did my usual recompile of ptlib/opal/ekiga (prev from from
21/6) but without adding/removing any accounts it crashes after a few
minutes. A traceback with a reasonable amount of debug packages
attached.
I also got around to uploading a new set of packages based on this for
others to test (YMMV) and setup a repo. Details at
http://fedora.roving-it.com/ekiga/
There's a sample repo file that will need to be updated for the info
for the mirror and probably have one each for i386 and x86_64 but the
syntax of that file is pretty self explanatory. I lumped the debug
packages in with the relevant binary repos as I don't really see the
need to separate them.
Peter
Distribution: Fedora release 9 (Sulphur)
Gnome Release: 2.22.2 2008-05-28 (Red Hat, Inc)
BugBuddy Version: 2.22.0
System: Linux 2.6.25.6-55.fc9.x86_64 #1 SMP Tue Jun 10 16:05:21 EDT 2008 x86_64
X Vendor: The X.Org Foundation
X Vendor Release: 10499902
Selinux: Permissive
Accessibility: Disabled
GTK+ Theme: Nodoka
Icon Theme: Fedora
Memory status: size: 553906176 vsize: 553906176 resident: 35024896 share: 23670784 rss: 35024896 rss_rlim: 18446744073709551615
CPU usage: start_time: 1214864354 rtime: 62 utime: 50 stime: 12 cutime:0 cstime: 0 timeout: 0 it_real_value: 0 frequency: 100
Backtrace was generated from '/usr/bin/ekiga'
[Thread debugging using libthread_db enabled]
[New Thread 0x7f3073b277b0 (LWP 11695)]
[New Thread 0x419c3950 (LWP 11718)]
[New Thread 0x41982950 (LWP 11717)]
[New Thread 0x40395950 (LWP 11708)]
[New Thread 0x42937950 (LWP 11705)]
[New Thread 0x41720950 (LWP 11701)]
[New Thread 0x41f36950 (LWP 11700)]
[New Thread 0x41d24950 (LWP 11699)]
[New Thread 0x41150950 (LWP 11698)]
[New Thread 0x41923950 (LWP 11697)]
0x000000313e4da926 in __poll (fds=<value optimized out>,
nfds=<value optimized out>, timeout=<value optimized out>)
at ../sysdeps/unix/sysv/linux/poll.c:87
87 int result = INLINE_SYSCALL (poll, 3, CHECK_N (fds, nfds), nfds, timeout);
Current language: auto; currently c
#0 0x000000313e4da926 in __poll (fds=<value optimized out>,
nfds=<value optimized out>, timeout=<value optimized out>)
at ../sysdeps/unix/sysv/linux/poll.c:87
#1 0x0000003c3ec3ab18 in g_main_context_iterate (
context=<value optimized out>, block=<value optimized out>,
dispatch=<value optimized out>, self=<value optimized out>)
at gmain.c:2951
#2 0x0000003c3ec3b1ad in IA__g_main_loop_run (loop=<value optimized out>)
at gmain.c:2850
#3 0x0000003c41583af8 in IA__gtk_main () at gtkmain.c:1163
#4 0x000000000048f56f in main (argc=<value optimized out>,
argv=<value optimized out>, envp=<value optimized out>)
at gui/main.cpp:4434
Thread 10 (Thread 0x41923950 (LWP 11697)):
#0 0x000000313f00af19 in pthread_cond_wait@@GLIBC_2.3.2 ()
from /lib64/libpthread.so.0
No locals.
#1 0x00007f3073c9eb91 in PSyncPoint::Wait (this=0x1857f10)
at tlibthrd.cxx:1419
No locals.
#2 0x0000000000561843 in Ekiga::AudioEventScheduler::Main (this=0x1857e38)
at ../../../../lib/engine/audiooutput/skel/audiooutput-scheduler.cpp:81
m = {sync = @0x1857fb8}
pending_event_list = {<std::_Vector_base<Ekiga::AudioEvent, std::allocator<Ekiga::AudioEvent> >> = {
_M_impl = {<std::allocator<Ekiga::AudioEvent>> = {<__gnu_cxx::new_allocator<Ekiga::AudioEvent>> = {<No data fields>}, <No data fields>}, _M_start = 0x0,
_M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}
idle_time = 4294966784
event = {name = {static npos = 18446744073709551615,
_M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x314def9018 ""}},
is_file_name = 67, interval = 32560, repetitions = 1100099392,
time = 4741546}
buffer = 0x0
buffer_len = 0
channels = 1044883350
sample_rate = 32767
bps = 2079793344
ps = Ekiga::primary
#3 0x00007f3073ca3169 in PThread::PX_ThreadStart (arg=0x1857e38)
at tlibthrd.cxx:802
thread = (PThread *) 0x1857f5c
#4 0x000000313f00729a in start_thread (arg=<value optimized out>)
at pthread_create.c:297
__res = <value optimized out>
pd = <value optimized out>
unwind_buf =
Thread 9 (Thread 0x41150950 (LWP 11698)):
#0 0x000000313f00af19 in pthread_cond_wait@@GLIBC_2.3.2 ()
from /lib64/libpthread.so.0
No locals.
#1 0x00007f3073c9eb91 in PSyncPoint::Wait (this=0x1859838)
at tlibthrd.cxx:1419
No locals.
#2 0x000000000054cd6d in GMVideoOutputManager::Main (this=0x1859600)
at ../../../../lib/engine/videooutput/common/videooutput-manager-common.cpp:88
do_sync = false
initialised_thread = false
sync_required = {local = false, remote = false}
#3 0x00007f3073ca3169 in PThread::PX_ThreadStart (arg=0x1859600)
at tlibthrd.cxx:802
thread = (PThread *) 0x1859884
#4 0x000000313f00729a in start_thread (arg=<value optimized out>)
at pthread_create.c:297
__res = <value optimized out>
pd = <value optimized out>
unwind_buf = Current language: auto; currently asm
Thread 8 (Thread 0x41d24950 (LWP 11699)):
#0 0x000000313f00cf31 in sem_wait () from /lib64/libpthread.so.0
No locals.
#1 0x00007f3073c9f58b in PSemaphore::Wait (this=<value optimized out>)
at tlibthrd.cxx:1042
threadOpRetry = 0
#2 0x00007f3073cb4551 in PReadWriteMutex::InternalStartRead (
this=0x7f30640144e8) at ../common/osutils.cxx:2128
No locals.
#3 0x00007f3073cbc6d1 in PSafeObject::LockReadOnly (this=0x7f30640144a0)
at ../common/safecoll.cxx:97
No locals.
#4 0x00007f3073cbcdf7 in PSafePtrBase::EnterSafetyMode (this=0x41d23f10,
ref=128) at ../common/safecoll.cxx:610
No locals.
#5 0x00007f3073cbd27a in PSafePtrBase (this=0x7f3064014568,
safeCollection=<value optimized out>, mode=PSafeReference, idx=-1)
at ../common/safecoll.cxx:379
No locals.
#6 0x00000000011409d6 in SIPEndPoint::GarbageCollection (this=0x18af2b0)
at /usr/include/ptlib/safecoll.h:607
transaction = {<PSafePtrBase> = {<PObject> = {
_vptr.PObject = 0x7f3073f3c180}, collection = 0x18af868,
currentObject = 0x7f30640144a0,
lockMode = PSafeReadOnly}, <No data fields>}
#7 0x0000000000c6b8cd in OpalManager::GarbageCollection (this=0x1873f30)
at /usr/src/debug/opal-3.3.0/src/opal/manager.cxx:1395
allCleared = true
#8 0x0000000000c6b94f in OpalManager::GarbageMain (this=0x1873f30)
at /usr/src/debug/opal-3.3.0/src/opal/manager.cxx:1415
No locals.
#9 0x00007f3073ca3169 in PThread::PX_ThreadStart (arg=0x1870eb0)
at tlibthrd.cxx:802
thread = (PThread *) 0x7f3064014568
#10 0x000000313f00729a in start_thread (arg=<value optimized out>)
at pthread_create.c:297
__res = <value optimized out>
pd = <value optimized out>
unwind_buf =
Thread 7 (Thread 0x41f36950 (LWP 11700)):
#0 0x000000313f00cf31 in sem_wait () from /lib64/libpthread.so.0
No locals.
#1 0x00007f3073c9f58b in PSemaphore::Wait (this=<value optimized out>)
at tlibthrd.cxx:1042
threadOpRetry = 0
#2 0x00007f3073cbc4af in PSafeObject::LockReadWrite (this=0x7f30640144a0)
at ../common/safecoll.cxx:122
No locals.
#3 0x00007f3073cbc52f in PSafeLockReadWrite (this=0x41f35e00, object= 0x80)
at ../common/safecoll.cxx:194
No locals.
#4 0x000000000115fdbc in SIPTransaction::OnTimeout (this=0x7f30640144a0)
at /usr/src/debug/opal-3.3.0/src/sip/sippdu.cxx:2327
lock = {safeObject = @0x7f30640144a0, locked = false}
#5 0x00007f3073cb86bc in PTimer::Process (this=0x7f3064014a48,
delta=<value optimized out>, minTimeLeft= 0x41f35ed0)
at ../common/osutils.cxx:755
No locals.
#6 0x00007f3073cb89f2 in PTimerList::Process (this=0x7f0850)
at ../common/osutils.cxx:879
r = <value optimized out>
sampleTime = {<PObject> = {_vptr.PObject = 0x7f3073f36a40},
milliseconds = 1000}
minTimeLeft = {<PObject> = {_vptr.PObject = 0x7f3073f36a40},
milliseconds = 624}
l = {sync = @0x7f0860}
now = {<PObject> = {_vptr.PObject = 0x7f3073f36a40},
milliseconds = 1214864469267}
#7 0x00007f3073ca119a in PHouseKeepingThread::Main (this=0x18aea70)
at tlibthrd.cxx:123
delay = {<PObject> = {_vptr.PObject = 0x7f3073f3e4c0},
milliseconds = 1000}
process = (class PProcess
&) @0xfffffffffffffe00: <error reading variable>
#8 0x00007f3073ca3169 in PThread::PX_ThreadStart (arg=0x18aea70)
at tlibthrd.cxx:802
thread = (PThread *) 0x7f3064014678
#9 0x000000313f00729a in start_thread (arg=<value optimized out>)
at pthread_create.c:297
__res = <value optimized out>
pd = <value optimized out>
unwind_buf =
Thread 6 (Thread 0x41720950 (LWP 11701)):
#0 0x000000313f00b19d in pthread_cond_timedwait@@GLIBC_2.3.2 ()
from /lib64/libpthread.so.0
No locals.
#1 0x00007f3073c9eaa0 in PSyncPoint::Wait (this=0x17767a8,
waitTime=<value optimized out>) at tlibthrd.cxx:1436
finishTime = {<PObject> = {_vptr.PObject = 0x7f3073f369e0},
theTime = 1214864535, microseconds = 415569}
absTime = {tv_sec = 1214864535, tv_nsec = 415569000}
err = 0
#2 0x00007f3073cae8e3 in PInterfaceMonitor::UpdateThreadMain (this=0x1776720)
at ../../ptclib/psockbun.cxx:235
No locals.
#3 0x00007f3073ca3169 in PThread::PX_ThreadStart (arg=0x18b0f30)
at tlibthrd.cxx:802
thread = (PThread *) 0x17767f4
#4 0x000000313f00729a in start_thread (arg=<value optimized out>)
at pthread_create.c:297
__res = <value optimized out>
pd = <value optimized out>
unwind_buf =
Thread 5 (Thread 0x42937950 (LWP 11705)):
#0 0x000000313e4da926 in __poll (fds=<value optimized out>,
nfds=<value optimized out>, timeout=<value optimized out>)
at ../sysdeps/unix/sysv/linux/poll.c:87
oldtype = <value optimized out>
result = <value optimized out>
#1 0x0000003c3ec3ab18 in g_main_context_iterate (
context=<value optimized out>, block=<value optimized out>,
dispatch=<value optimized out>, self=<value optimized out>)
at gmain.c:2951
max_priority = <value optimized out>
timeout = <value optimized out>
some_ready = <value optimized out>
nfds = <value optimized out>
allocated_nfds = <value optimized out>
fds = <value optimized out>
__PRETTY_FUNCTION__ = "g_main_context_iterate"
#2 0x0000003c3ec3b1ad in IA__g_main_loop_run (loop=<value optimized out>)
at gmain.c:2850
self = <value optimized out>
__PRETTY_FUNCTION__ = "IA__g_main_loop_run"
#3 0x0000003d0c61847d in ?? () from /usr/lib64/libebook-1.2.so.9
No symbol table info available.
#4 0x0000003c3ec60434 in g_thread_create_proxy (data=<value optimized out>)
at gthread.c:635
__PRETTY_FUNCTION__ = "g_thread_create_proxy"
#5 0x000000313f00729a in start_thread (arg=<value optimized out>)
at pthread_create.c:297
__res = <value optimized out>
pd = <value optimized out>
unwind_buf =
Thread 4 (Thread 0x40395950 (LWP 11708)):
#0 0x000000313e4da926 in __poll (fds=<value optimized out>,
nfds=<value optimized out>, timeout=<value optimized out>)
at ../sysdeps/unix/sysv/linux/poll.c:87
oldtype = <value optimized out>
result = <value optimized out>
#1 0x0000003c3ec3ab18 in g_main_context_iterate (
context=<value optimized out>, block=<value optimized out>,
dispatch=<value optimized out>, self=<value optimized out>)
at gmain.c:2951
max_priority = <value optimized out>
timeout = <value optimized out>
some_ready = <value optimized out>
nfds = <value optimized out>
allocated_nfds = <value optimized out>
fds = <value optimized out>
__PRETTY_FUNCTION__ = "g_main_context_iterate"
#2 0x0000003c3ec3b1ad in IA__g_main_loop_run (loop=<value optimized out>)
at gmain.c:2850
self = <value optimized out>
__PRETTY_FUNCTION__ = "IA__g_main_loop_run"
#3 0x0000003c42c47df0 in ?? () from /usr/lib64/libORBit-2.so.0
No symbol table info available.
#4 0x0000003c3ec60434 in g_thread_create_proxy (data=<value optimized out>)
at gthread.c:635
__PRETTY_FUNCTION__ = "g_thread_create_proxy"
#5 0x000000313f00729a in start_thread (arg=<value optimized out>)
at pthread_create.c:297
__res = <value optimized out>
pd = <value optimized out>
unwind_buf = Current language: auto; currently c
Thread 3 (Thread 0x41982950 (LWP 11717)):
#0 0x000000313f00e86f in __libc_waitpid (pid=<value optimized out>,
stat_loc=<value optimized out>, options=<value optimized out>)
at ../sysdeps/unix/sysv/linux/waitpid.c:41
oldtype = <value optimized out>
result = <value optimized out>
#1 0x0000003c3ec6e849 in IA__g_spawn_sync (
working_directory=<value optimized out>, argv=<value optimized out>,
envp=<value optimized out>, flags=<value optimized out>,
child_setup=<value optimized out>, user_data=<value optimized out>,
standard_output=) at gspawn.c:374
outpipe =
Thread 2 (Thread 0x419c3950 (LWP 11718)):
#0 0x000000313e4dcb32 in select () from /lib64/libc.so.6
No symbol table info available.
#1 0x00007f3073ca0271 in PThread::PXBlockOnIO (this=0x18b1670, handle=39,
type=2, timeout= 0x419c2d50) at tlibthrd.cxx:899
tval = {tval = {tv_sec = 2147483, tv_usec = 647000}, infinite = true}
read_fds = {max_fd = 1024, set = 0x18a1800}
write_fds = {max_fd = 1024, set = 0x18a1890}
exception_fds = {max_fd = 1024, set = 0x18a1920}
retval = 2
#2 0x00007f3073c96d24 in PChannel::PXSetIOBlock (this=0x1893e48,
type=PChannel::PXAcceptBlock, timeout= 0x419c2d50) at channel.cxx:119
group = PChannel::LastGeneralError
blockedThread = (class PThread *) 0x18b1670
stat = <value optimized out>
#3 0x00007f3073c9425c in PSocket::os_accept (this=0x18cc3a0,
listener= 0x1893e48, addr=0x419c2da0, size=0x419c2d9c) at socket.cxx:197
No locals.
#4 0x00007f3073ca7d78 in PTCPSocket::Accept (this=0x18cc3a0,
socket= 0x1893e48) at ../common/sockets.cxx:2241
address = {sin_family = 2, sin_port = 396, sin_addr = {s_addr = 0},
sin_zero = "Â Ã?\214\001\000\000\000"}
size = 16
#5 0x0000000000cbac31 in OpalListenerTCP::Accept (this=0x1893e00,
timeout=<value optimized out>)
at /usr/src/debug/opal-3.3.0/src/opal/transports.cxx:675
socket = (class PTCPSocket *) 0x29
#6 0x0000000000cba4ff in OpalListener::ListenForConnections (this=0x1893e00,
thread= 0x18b1670)
at /usr/src/debug/opal-3.3.0/src/opal/transports.cxx:433
transport = <value optimized out>
#7 0x00007f3073ca3169 in PThread::PX_ThreadStart (arg=0x18b1670)
at tlibthrd.cxx:802
thread = (PThread *) 0x29
#8 0x000000313f00729a in start_thread (arg=<value optimized out>)
at pthread_create.c:297
__res = <value optimized out>
pd = <value optimized out>
unwind_buf =
Thread 1 (Thread 0x7f3073b277b0 (LWP 11695)):
#0 0x000000313e4da926 in __poll (fds=<value optimized out>,
nfds=<value optimized out>, timeout=<value optimized out>)
at ../sysdeps/unix/sysv/linux/poll.c:87
oldtype = <value optimized out>
result = <value optimized out>
#1 0x0000003c3ec3ab18 in g_main_context_iterate (
context=<value optimized out>, block=<value optimized out>,
dispatch=<value optimized out>, self=<value optimized out>)
at gmain.c:2951
max_priority = <value optimized out>
timeout = <value optimized out>
some_ready = <value optimized out>
nfds = <value optimized out>
allocated_nfds = <value optimized out>
fds = <value optimized out>
__PRETTY_FUNCTION__ = "g_main_context_iterate"
#2 0x0000003c3ec3b1ad in IA__g_main_loop_run (loop=<value optimized out>)
at gmain.c:2850
self = <value optimized out>
__PRETTY_FUNCTION__ = "IA__g_main_loop_run"
#3 0x0000003c41583af8 in IA__gtk_main () at gtkmain.c:1163
tmp_list =
The program is running. Quit anyway (and detach it)? (y or n) [answered Y; input not from terminal]
----------- .xsession-errors ---------------------
(gnome-terminal:3299): Vte-WARNING **: No handler for control sequence `device-control-string' defined.
Bad NAT Type
FIXME
Could not find the frame base for "start_thread".
Could not find the frame base for "start_thread".
Could not find the frame base for "start_thread".
Could not find the frame base for "start_thread".
Could not find the frame base for "start_thread".
Could not find the frame base for "start_thread".
Could not find the frame base for "start_thread".
Could not find the frame base for "IA__g_spawn_sync".
Could not find the frame base for "IA__g_spawn_sync".
Could not find the frame base for "start_thread".
Could not find the frame base for "IA__gtk_main".
--------------------------------------------------
[
Date Prev][Date Next] [
Thread Prev][Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]