ahmadvand / imsdroid

Automatically exported from code.google.com/p/imsdroid
0 stars 0 forks source link

Sometimes application stops responding when Ending VT call #290

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Make a VT call and terminate using Menu->End Call option
2. When the above process is repeated multiple times e.g. 4 times the 
application stops responding and throws a ANR dialog
3. However, I did notice that this problem is not seen whenever I hit "Stop 
Video" exclusively and then "End Call"

What is the expected output? What do you see instead?
The call is not terminated and an ANR dialog box is thrown by Android

What version of the product are you using? On what operating system?
IMSDroid/v2.0.453(doubango r642)

Please provide any additional information below.
Looks like the UI thread goes into a waiting mode at the following statement in 
the function "loadTermView" in the ScreenAV.java file.
- mMainLayout.removeAllViews();
An excerpt from the logcat is shown below:
01-02 00:22:21.739 D/org.doubango.ngn.services.impl.NgnSipService( 2342): 
OnDialogEvent (Terminating dialog,2)
01-02 00:22:21.779 D/org.doubango.ngn.media.NgnProxyAudioConsumer( 2342): 
stopCallback
01-02 00:22:21.779 D/org.doubango.ngn.media.NgnProxyAudioProducer( 2342): 
stopCallback
01-02 00:22:21.779 D/org.doubango.ngn.media.NgnProxyVideoConsumer( 2342): 
stopCallback
01-02 00:22:21.789 D/org.doubango.ngn.media.NgnProxyVideoProducer( 2342): 
stopCallback
01-02 00:22:21.789 D/org.doubango.ngn.services.impl.NgnSipService( 2342): 
OnDialogEvent (Call Terminated,2)
01-02 00:22:21.789 D/org.doubango.ngn.media.NgnProxyVideoConsumer( 2342): 
VideoConsumer::Looper::exit
01-02 00:22:21.789 D/org.doubango.ngn.sip.NgnSipSession( 2342): mRefCount=1
01-02 00:22:21.869 D/org.doubango.imsdroid.Screens.ScreenAV( 2342): 
loadTermView()

An excerpt from the traces.txt obtained from /data/anr/traces.txt is also shown 
below:
(mutexes: tll=0 tsl=0 tscl=0 ghl=0 hwl=0 hwll=0)
"main" prio=5 tid=1 WAIT
  | group="main" sCount=1 dsCount=0 obj=0x4001f188 self=0xcf80
  | sysTid=4493 nice=0 sched=0/0 cgrp=default handle=-1345006496
  at java.lang.Object.wait(Native Method)
  - waiting on <0x4001f220> (a java.lang.VMThread)
  at java.lang.Thread.parkFor(Thread.java:1424)
  at java.lang.LangAccessImpl.parkFor(LangAccessImpl.java:48)
  at sun.misc.Unsafe.park(Unsafe.java:337)
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:808)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:841)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1171)
  at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:185)
  at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:261)
  at android.view.SurfaceView.updateWindow(SurfaceView.java:498)
  at android.view.SurfaceView.onWindowVisibilityChanged(SurfaceView.java:215)
  at android.view.View.dispatchDetachedFromWindow(View.java:6169)
  at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1162)
  at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1162)
  at android.view.ViewGroup.removeAllViewsInLayout(ViewGroup.java:2302)
  at android.view.ViewGroup.removeAllViews(ViewGroup.java:2260)
  at org.doubango.imsdroid.Screens.ScreenAV.loadTermView(ScreenAV.java:1021)
  at org.doubango.imsdroid.Screens.ScreenAV.handleSipEvent(ScreenAV.java:815)
  at org.doubango.imsdroid.Screens.ScreenAV.access$000(ScreenAV.java:90)
  at org.doubango.imsdroid.Screens.ScreenAV$1.onReceive(ScreenAV.java:214)
  at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:709)
  at android.os.Handler.handleCallback(Handler.java:587)
  at android.os.Handler.dispatchMessage(Handler.java:92)
  at android.os.Looper.loop(Looper.java:123)
  at android.app.ActivityThread.main(ActivityThread.java:3683)
  at java.lang.reflect.Method.invokeNative(Native Method)
  at java.lang.reflect.Method.invoke(Method.java:507)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:875)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:633)
  at dalvik.system.NativeStart.main(Native Method)

Original issue reported on code.google.com by kow...@gmail.com on 21 Sep 2011 at 10:19

GoogleCodeExporter commented 9 years ago

Original comment by boss...@yahoo.fr on 12 Oct 2011 at 6:29

GoogleCodeExporter commented 9 years ago
Hi , 
Thanks for traces . I thinks that is the same problem of "IMSDroid - UI 
glitches on Android 3.1 +" . ( 
http://groups.google.com/group/doubango/browse_thread/thread/abbef1f0cc9d1ac0/44
d210bbd116929d#44d210bbd116929d )
A proposition of patch attached .

Best regards ,

Philippe   

Original comment by verney.p...@gmail.com on 13 Feb 2012 at 7:46

Attachments:

GoogleCodeExporter commented 9 years ago
On other solution more elegant and more stable, with rebuild fullscreen surface 
when terminal rotation change . 
Best regards ,

Philippe   

Original comment by verney.p...@gmail.com on 20 Feb 2012 at 9:06

Attachments:

GoogleCodeExporter commented 9 years ago
Should be fixed by IMSDroid 2.0.481

Original comment by boss...@yahoo.fr on 28 Feb 2012 at 12:04

GoogleCodeExporter commented 9 years ago

Original comment by boss...@yahoo.fr on 28 Feb 2012 at 12:08