[Ekiga-devel-list] Deadlocks using current opal Phobos and current svn/ekiga/branches/gnome-2-14



To be fair, we do have a few modifications to the source. I seriously doubt anyone wants them, but I am making them available under GPL. I cannot rule out that I haven't caused the problem. I have created a patch and posted it to http://www.hedlin.com/ekiga-pf.patch. Below is a description of the changes:
We added call recording to the ekiga pcss endpoint (pretty simple, we 
add an OpalFileMediaStream as a sink to each patch connected to the PCSS 
endpoint).  We did not modify the gui to access this functionality.  
Stack traces indicate this change is not affecting our deadlocks.
The second change is to add "PCP" support.  This is an internally 
defined protocol similar to Woomera (We didn't know about woomera) to 
allow us to control the phone using an XPCom component in Firefox.  I 
cannot rule this out as a cause but I don't think it is.  All the 
dialing was done from Firefox using this code.
The deadlock always occurs as the call is being terminated.  The 
PCP::OnDisconnect function is almost identical to the disconnect button 
callback in the gui code.  Yesterday I made changes to make sure it 
wasn't being called twice. 

I have made a stack trace while the phone was deadlocked and posted it 
to http://www.hedlin.com/ekiga-bt-full.5104.  Thread 1 became blocked 
after we were aware of the problem and I clicked the disconnect button. 

Unfortunately I wasn't running a trace on this last deadlock (when I 
finally rolled out libopal and pwlib with full debug symbols).  I have a 
-d6 trace (with some  substitutions of phone numbers, user name, and 
server names) from yesterday where the stack trace looked very similar 
posted to http://www.hedlin.com/ekiga-deadlock.log.gz
I am still trying to figure out which objects are locking and will post 
more when I have it, but I am hoping someone more familiar with ekiga 
and opal can find this faster than me.
Thank you,
Charlie Hedlin



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]