Bug 57728 - java.lang.StackOverflowError on Samsung devices
Summary: java.lang.StackOverflowError on Samsung devices
Status: CONFIRMED
Alias: None
Product: Forms
Classification: Xamarin
Component: Forms ()
Version: 2.3.4
Hardware: PC Mac OS
: High major
Target Milestone: ---
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2017-06-23 21:21 UTC by Jon Dick
Modified: 2018-03-15 19:05 UTC (History)
10 users (show)

Tags: android, ac
Is this bug a regression?: ---
Last known good build:


Attachments
Repro (43.23 KB, application/zip)
2017-06-23 21:21 UTC, Jon Dick
Details
Crash Log (19.85 KB, text/plain)
2017-06-23 21:22 UTC, Jon Dick
Details


Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report for Bug 57728 on Developer Community or GitHub if you have new information to add and do not yet see a matching new report.

If the latest results still closely match this report, you can use the original description:

  • Export the original title and description: Developer Community HTML or GitHub Markdown
  • Copy the title and description into the new report. Adjust them to be up-to-date if needed.
  • Add your new information.

In special cases on GitHub you might also want the comments: GitHub Markdown with public comments

Related Links:
Status:
CONFIRMED

Description Jon Dick 2017-06-23 21:21:14 UTC
Created attachment 23091 [details]
Repro

I'm seeing a number of crashes in the wild all on Samsung devices, and it seems mostly running Android 4.0 or 4.4.

I have an old Galaxy Ace II which has Android 4.0 on it and I can reproduce the issue locally very consistently.  I've made this into a pretty small repro.


	// This works fine:
	public App()
	{
		InitializeComponent();

		// MasterDetailPage -> NavigationPage -> ScrollViewRendererOverflowReproPage
		MainPage = new MasterDetailPage
		{
			Master = new ContentPage { Title = "App", Content = new Label { Text = "Menu" } },
			Detail = new NavigationPage (new ScrollViewRendererOverflowReproPage ())
		};
	}


	// This does not work:
	public App()
	{
		InitializeComponent();

		// MasterDetailPage -> TabbedPage -> NavigationPage -> ScrollViewRendererOverflowReproPage
		// NOTE, also tried this which didn't work:
		// 	MasterDetailPage -> NavigationPage -> TabbedPage -> ScrollViewRendererOverflowReproPage
		var tab = new TabbedPage();
		tab.Children.Add(new NavigationPage(new ScrollViewRendererOverflowReproPage()));

		MainPage = new MasterDetailPage
		{
			Master = new ContentPage { Title = "App", Content = new Label { Text = "Menu" } },
			Detail = tab
		};
	}


It seems like TabbedPage and NavigationPage just do not cooperate inside the details of a MasterDetailPage.

The crash I see in my own app happens in the ScrollViewRenderer, but I've seen other variations on it depending how the repro is changed.  Attaching logs from my crash in the wild.  What's weird is that if I remove the NavigationPage or TabbedPage, the crash goes away and the app displays the page fine.

I'm attaching my very simple repro solution as well.
Comment 1 Jon Dick 2017-06-23 21:22:09 UTC
Created attachment 23092 [details]
Crash Log
Comment 2 Jon Dick 2017-06-23 21:27:33 UTC
Hah, as soon as I think it's just samsung, i attach a log from a Motorola device... So, maybe more specific to Android 4.x than manufacturer.
Comment 3 adrianknight89 2017-06-24 12:17:08 UTC
I tried this on Android 7, and it worked. I do not have an Android 4 device. Are you able to change your minimum OS target to Android 5? I understand this would make it impossible for you to reach 20% of Android devices.

Another thing to try is to clean up your UI tree. Your content page has a lot of StackLayouts and a Frame. If you just need the ListView, use that as the only content to your page. Why need all those wrappers? Also, do not nest a ListView inside a ScrollView. Maybe the issue stems from specifically that.
Comment 4 Jon Dick 2017-06-26 12:55:58 UTC
Not an option to target 5 and up.

I know the UI tree in the repro looks unnecessarily complex (and it is), but my actual UI tree is much less complex and I still hit this issue... 

I think what's more interesting is that if I take the TabbedPage out of the equation, the layouts render fine.  There's something going on here with TabbedPage and NavigationPage on this API level...
Comment 5 batmaci 2017-09-23 23:47:46 UTC
I am having the same issue. this occurs in android 4 devices. you can reproduce it using Jelly Bean 4.2 HDPI phone emulator. this problem wasnt exist in earlier versions of xamarin.
Comment 6 HRO Jordy 2017-10-16 13:37:20 UTC
Experiencing the same issue. Cannot identify if this is related to the MasterDetailPage, NavigationPage and/or TabbedPage we are using like Jon Dick is explaining. Looks like there is an issue with the ScrollViewRenderer.

This happens on a HTC Desire X (real device), with Android 4.1.1. No issue on, for example, a device with Android 6.0.

Part of the stacktrace:

Unhandled Exception:
Java.Lang.StackOverflowError: Exception of type 'Java.Lang.StackOverflowError' was thrown.
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] at Java.Interop.JniEnvironment+InstanceMethods.CallNonvirtualVoidMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniObjectReference type, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x00089]
at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeVirtualVoidMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x0005d]
at Android.Views.View.Draw (Android.Graphics.Canvas canvas) [0x00031]
at Xamarin.Forms.Platform.Android.ScrollViewRenderer.Draw (Android.Graphics.Canvas canvas) [0x0000d] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\Renderers\ScrollViewRenderer.cs:99 
at Android.Views.View.n_Draw_Landroid_graphics_Canvas_ (System.IntPtr jnienv, System.IntPtr native__this, System.IntPtr native_canvas) [0x0000f] 
at (wrapper dynamic-method) System.Object:2c8c3e1b-09df-4651-aa56-32c3bd3517ce (intptr,intptr,intptr)
--- End of managed Java.Lang.StackOverflowError stack trace ---
java.lang.StackOverflowError
at android.text.Layout.draw(Layout.java:203)
at android.text.BoringLayout.draw(BoringLayout.java:417)
at android.widget.TextView.onDraw(TextView.java:5077)
at android.view.View.draw(View.java:13558)
at android.view.View.getDisplayList(View.java:12509)
at android.view.View.getDisplayList(View.java:12553)
at android.view.View.draw(View.java:13282)
at android.view.ViewGroup.drawChild(ViewGroup.java:2947)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2817)
at android.view.View.getDisplayList(View.java:12507)
at android.view.View.getDisplayList(View.java:12553)
at android.view.View.draw(View.java:13282)
at android.view.ViewGroup.drawChild(ViewGroup.java:2947)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2817)
at android.view.View.getDisplayList(View.java:12507)
at android.view.View.getDisplayList(View.java:12553)
at android.view.View.draw(View.java:13282)
at android.view.ViewGroup.drawChild(ViewGroup.java:2947)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2817)
at android.view.View.getDisplayList(View.java:12507)
at android.view.View.getDisplayList(View.java:12553)
at android.view.View.draw(View.java:13282)
at android.view.ViewGroup.drawChild(ViewGroup.java:2947)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2817)
at android.view.View.getDisplayList(View.java:12507)
at android.view.View.getDisplayList(View.java:12553)
at android.view.View.draw(View.java:13282)
at android.view.ViewGroup.drawChild(ViewGroup.java:2947)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2817)
at android.view.View.draw(View.java:13561)
at android.widget.FrameLayout.draw(FrameLayout.java:467)
at android.view.View.getDisplayList(View.java:12509)
at android.view.View.getDisplayList(View.java:12553)
at android.view.View.draw(View.java:13282)
at android.view.ViewGroup.drawChild(ViewGroup.java:2947)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2817)
at android.view.View.getDisplayList(View.java:12507)
at android.view.View.getDisplayList(View.java:12553)
at android.view.View.draw(View.java:13282)
at android.view.ViewGroup.drawChild(ViewGroup.java:2947)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2817)
at android.view.View.draw(View.java:13561)
at android.view.View.getDisplayList(View.java:12509)
at android.view.View.getDisplayList(View.java:12553)
at android.view.View.draw(View.java:13282)
at android.view.ViewGroup.drawChild(ViewGroup.java:2947)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2817)
at android.view.View.getDisplayList(View.java:12507)
at android.view.View.getDispl
Comment 7 Pete Schmitz 2017-10-16 16:32:27 UTC
We have a user hitting this as well. We use a similar view-hierarchy.

Android 4.4
Xamarin.Forms.2.3.5.256-pre6
Device: k011
Comment 8 HRO Jordy 2017-10-30 10:11:49 UTC
Any indication when this will be fixed?
Comment 9 Vicente Guzman 2017-10-30 21:13:57 UTC
I have this issue: Exception of type 'Java.Lang.StackOverflowError' was thrown. using a  emulator of Android 4.0.2 (Galaxy Nexus), the app sometimes works, but I want to know if someone recommended use the minimum OS target on 4.x?
Comment 10 Paul Vrugt 2018-01-05 09:10:11 UTC
Same issue here, tried to run our app on android 4.0.3, and got a stackoverflow error
Comment 11 Paul Vrugt 2018-01-05 09:14:52 UTC
How come this bug has no activity yet? It has been alive for over half a year, and has importance "High major". What am i missing here?
Comment 12 Darrell Tunnell 2018-01-31 20:50:50 UTC
Just encountered this issue when testing using VS Emulator for Android using the JellyBean (Android 4.2) api level 17 image.

My app works fine on more modern versions of Android, but when I went to test it on older versions I experience this crash.

Here is the call stack that implies ScrollView is the issue:

```

 	0xFFFFFFFFFFFFFFFF in System.Diagnostics.Debugger.Mono_UnhandledException_internal	C#	Annotated Frame
 	0x1 in System.Diagnostics.Debugger.Mono_UnhandledException at /Users/builder/jenkins/workspace/xamarin-android-d15-5/xamarin-android/external/mono/mcs/class/corlib/System.Diagnostics/Debugger.cs:122,4	C#	Annotated Frame
 	0x26 in object.123cee72-70f0-49e2-a17a-8591b4234485	C#	Annotated Frame
 	0x12 in System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw at /Users/builder/jenkins/workspace/xamarin-android-d15-5/xamarin-android/external/mono/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:152,13	C#	Annotated Frame
 	0x89 in Java.Interop.JniEnvironment.InstanceMethods.CallNonvirtualVoidMethod	C#	Annotated Frame
 	0x5F in Java.Interop.JniPeerMembers.JniInstanceMethods.InvokeVirtualVoidMethod	C#	Annotated Frame
 	0x38 in Android.Views.View.Draw at /Users/builder/data/lanes/5749/75f8c683/source/xamarin-android/src/Mono.Android/obj/Release/android-26/mcw/Android.Views.View.cs:13794,5	C#	Annotated Frame
 	0xF in Xamarin.Forms.Platform.Android.ScrollViewRenderer.Draw at D:\agent\_work\1\s\Xamarin.Forms.Platform.Android\Renderers\ScrollViewRenderer.cs:117,4	C#	Annotated Frame
 	0x11 in Android.Views.View.n_Draw_Landroid_graphics_Canvas_ at /Users/builder/data/lanes/5749/75f8c683/source/xamarin-android/src/Mono.Android/obj/Release/android-26/mcw/Android.Views.View.cs:13782,4	C#	Annotated Frame
 	0x17 in object.123cee72-70f0-49e2-a17a-8591b4234485	C#	Annotated Frame


```

This is a complete blocker for us at the moment.
Comment 13 John Hardman 2018-03-15 19:05:44 UTC
Seem to be hitting the same problem. It's not Samsung-specific - I'm seeing it on Asus notepad using a bog-standard (if complex) ContentPage (so not Master/Detail).

Java.Lang.StackOverflowError: Exception of type 'Java.Lang.StackOverflowError' was thrown.
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <657aa8fea4454dc898a9e5f379c58734>:0 
  at Java.Interop.JniEnvironment+InstanceMethods.CallNonvirtualVoidMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniObjectReference type, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x00089] in <438784097c4b4b56a7da6ca9301bc3c6>:0 
  at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeVirtualVoidMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x0005d] in <438784097c4b4b56a7da6ca9301bc3c6>:0 
  at Android.Views.View.Draw (Android.Graphics.Canvas canvas) [0x00031] in <50fac8ede6e6437da7c8d41a391fc2c8>:0 
  at Xamarin.Forms.Platform.Android.ScrollViewRenderer.Draw (Android.Graphics.Canvas canvas) [0x0000d] in D:\agent\_work\1\s\Xamarin.Forms.Platform.Android\Renderers\ScrollViewRenderer.cs:111 
  at Android.Views.View.n_Draw_Landroid_graphics_Canvas_ (System.IntPtr jnienv, System.IntPtr native__this, System.IntPtr native_canvas) [0x0000f] in <50fac8ede6e6437da7c8d41a391fc2c8>:0 
  at (wrapper dynamic-method) System.Object:6817beba-d600-4296-b9ec-6740d99c5e78 (intptr,intptr,intptr)
  --- End of managed Java.Lang.StackOverflowError stack trace ---
java.lang.StackOverflowError
	at android.view.HardwareCanvas.<init>(HardwareCanvas.java:29)
	at android.view.GLES20Canvas.<init>(GLES20Canvas.java:114)
	at android.view.GLES20RecordingCanvas.<init>(GLES20RecordingCanvas.java:39)
	at android.view.GLES20RecordingCanvas.obtain(GLES20RecordingCanvas.java:45)
	at android.view.GLES20DisplayList.start(GLES20DisplayList.java:61)
	at android.view.View.getDisplayList(View.java:13616)
	at android.view.View.getDisplayList(View.java:13697)
	at android.view.View.draw(View.java:14505)
	at android.view.ViewGroup.drawChild(ViewGroup.java:3134)
	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2971)
	at android.view.View.draw(View.java:14791)
	at android.view.View.getDisplayList(View.java:13655)
	at android.view.View.getDisplayList(View.java:13697)
	at android.view.View.draw(View.java:14505)
	at android.view.ViewGroup.drawChild(ViewGroup.java:3134)
	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2971)
	at android.view.View.draw(View.java:14791)
	at android.view.View.getDisplayList(View.java:13655)
	at android.view.View.getDisplayList(View.java:13697)
	at android.view.View.draw(View.java:14505)
	at android.view.ViewGroup.drawChild(ViewGroup.java:3134)
	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2971)
	at android.view.View.getDisplayList(View.java:13650)
	at android.view.View.getDisplayList(View.java:13697)
	at android.view.View.draw(View.java:14505)
	at android.view.ViewGroup.drawChild(ViewGroup.java:3134)
	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2971)
	at android.view.View.draw(View.java:14791)
	at android.view.View.getDisplayList(View.java:13655)
	at android.view.View.getDisplayList(View.java:13697)
	at android.view.View.draw(View.java:14505)
	at android.view.ViewGroup.drawChild(ViewGroup.java:3134)
	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2971)
	at android.view.View.draw(View.java:14791)
	at android.view.View.getDisplayList(View.java:13655)
	at android.view.View.getDisplayList(View.java:13697)
	at android.view.View.draw(View.java:14505)
	at android.view.ViewGroup.drawChild(ViewGroup.java:3134)
	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2971)
	at android.view.View.draw(View.java:14791)
	at android.view.View.getDisplayList(View.java:13655)
	at android.view.View.getDisplayList(View.java:13697)
	at android.view.View.draw(View.java:14505)
	at android.view.ViewGroup.drawChild(ViewGroup.java:3134)
	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2971)
	at android.view.View.draw(View.java:14791)
	at android.view.View.getDisplayList(View.java:13655)
	at android.view.View.getDisplayList(View.java:13697)
	at android.view.View.draw(View.java:14505)
	at android.view.ViewGroup.drawChild(ViewGroup.java:3134)
	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2971)
	at android.view.View.draw(View.java:14791)
	at android.view.View.getDisplayList(View.java:13655)
	at android.view.View.getDisplayList(View.java:13697)
	at android.view.View.draw(View.java:14505)
	at android.view.ViewGroup.drawChild(ViewGroup.java:3134)
	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2971)
	at android.view.View.draw(View.java:14791)
	at android.view.View.getDisplayList(View.java:13655)
	at android.view.View.getDisplayList(View.java:13697)
	at android.view.View.draw(View.java:14505)
	at android.view.ViewGroup.drawChild(ViewGroup.java:3134)
	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2971)
	at android.view.View.getDisplayList(View.java:13650)
	at android.view.View.getDisplayList(View.java:13697)
	at android.view.View.draw(View.java:14505)
	at android.view.ViewGroup.drawChild(ViewGroup.java:3134)
	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2971)
	at android.view.View.getDisplayList(View.java:13650)
	at android.view.View.getDisplayList(View.java:13697)
	at android.view.View.draw(View.java:14505)
	at android.view.ViewGroup.drawChild(ViewGroup.java:3134)
	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2971)
	at android.view.View.draw(View.java:14791)
	at android.view.View.getDisplayList(View.java:13655)
	at android.view.View.getDisplayList(View.java:13697)
	at android.view.View.draw(View.java:14505)
	at android.view.ViewGroup.drawChild(ViewGroup.java:3134)
	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2971)
	at android.view.View.getDisplayList(View.java:13650)
	at android.view.View.getDisplayList(View.java:13697)
	at android.view.View.draw(View.java:14505)
	at android.view.ViewGroup.drawChild(ViewGroup.java:3134)
	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2971)
	at android.view.View.draw(View.java:14791)
	at android.widget.FrameLayout.draw(FrameLayout.java:472)
	at android.widget.ScrollView.draw(ScrollView.java:1829)
	at md5b60ffeb829f638581ab2bb9b1a7f4f3f.ScrollViewRenderer.n_draw(Native Method)
	at md5b60ffeb829f638581ab2bb9b1a7f4f3f.ScrollViewRenderer.draw(ScrollViewRenderer.java:59)
	at android.view.View.getDisplayList(View.java:13655)
	at android.view.View.getDisplayList(View.java:13697)
	at android.view.View.draw(View.java:14505)
	at android.view.ViewGroup.drawChild(ViewGroup.java:3134)
	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2971)
	at android.view.View.getDisplayList(View.java:13650)
	at android.view.View.getDisplayList(View.java:13697)
	at android.view.View.draw(View.java:14505)
	at android.view.ViewGroup.drawChild(ViewGroup.java:3134)
	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2971)
	at android.view.View.draw(View.java:14791)
	at android.view.View.getDisplayList(View.java:13655)
	at android.view.View.getDisplayList(View.java:13697)
	at android.view.View.draw(View.java:14505)
	at android.view.ViewGroup.drawChild(ViewGroup.java:3134)
	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2971)
 	at android.view.View.getDisplayList(View.java:13650)
 	at android.view.View.getDisplayList(View.java:13697)
 	at android.view.View.draw(View.java:14505)
 	at android.view.ViewGroup.drawChild(ViewGroup.java:3134)
 	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2971)
 	at android.view.View.draw(View.java:14791)
 	at android.view.View.getDisplayList(View.java:13655)
 	at android.view.View.getDisplayList(View.java:13697)
 	at android.view.View.draw(View.java:14505)
 	at android.view.ViewGroup.drawChild(ViewGroup.java:3134)
 	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2971)
 	at android.view.View.draw(View.java:14791)
 	at android.view.View.getDisplayList(View.java:13655)
 	at android.view.View.getDisplayList(View.java:13697)
 	at android.view.View.draw(View.java:14505)
 	at android.view.ViewGroup.drawChild(ViewGroup.java:3134)
 	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2971)
 	at android.view.View.getDisplayList(View.java:13650)
 	at android.view.View.getHardwareLayerDisplayList(View.java:13682)
 	at android.view.View.getHardwareLayer(View.java:13393)
 	at android.view.View.getDisplayList(View.java:13621)
 	at android.view.View.getDisplayList(View.java:13697)
 	at android.view.View.draw(View.java:14505)
 	at android.view.ViewGroup.drawChild(ViewGroup.java:3134)
 	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2971)
 	at android.view.View.draw(View.java:14791)
 	at android.view.View.getDisplayList(View.java:13655)
 	at android.view.View.getDisplayList(View.java:13697)
 	at android.view.View.draw(View.java:14505)
 	at android.view.ViewGroup.drawChild(ViewGroup.java:3134)
 	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2971)
 	at android.view.View.getDisplayList(View.java:13650)
 	at android.view.View.getDisplayList(View.java:13697)
 	at android.view.View.draw(View.java:14505)
 	at android.view.ViewGroup.drawChild(ViewGroup.java:3134)
 	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2971)
 	at android.view.View.getDisplayList(View.java:13650)
 	at android.view.View.getDisplayList(View.java:13697)
 	at android.view.View.draw(View.java:14505)
 	at android.view.ViewGroup.drawChild(ViewGroup.java:3134)
 	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2971)
 	at android.view.View.draw(View.java:14791)
 	at android.widget.FrameLayout.draw(FrameLayout.java:472)
 	at android.view.View.getDisplayList(View.java:13655)
 	at android.view.View.getDisplayList(View.java:13697)
 	at android.view.View.draw(View.java:14505)
 	at android.view.ViewGroup.drawChild(ViewGroup.java:3134)
 	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2971)
 	at android.view.View.getDisplayList(View.java:13650)
 	at android.view.View.getDisplayList(View.java:13697)
 	at android.view.View.draw(View.java:14505)
 	at android.view.ViewGroup.drawChild(ViewGroup.java:3134)
 	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2971)
 	at android.view.View.getDisplayList(View.java:13650)
 	at android.view.View.getDisplayList(View.java:13697)
 	at android.view.View.draw(View.java:14505)
 	at android.view.ViewGroup.drawChild(ViewGroup.java:3134)
 	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2971)
 	at android.view.View.getDisplayList(View.java:13650)
 	at android.view.View.getDisplayList(View.java:13697)
 	at android.view.View.draw(View.java:14505)
 	at android.view.ViewGroup.drawChild(ViewGroup.java:3134)
 	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2971)
 	at android.view.View.draw(View.java:14791)
 	at android.widget.FrameLayout.draw(FrameLayout.java:472)
 	at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2330)
 	at android.view.View.getDisplayList(View.java:13655)
 	at android.view.View.getDisplayList(View.java:13697)
 	at android.view.HardwareRenderer$GlRenderer.buildDisplayList(HardwareRenderer.java:1570)
 	at android.view.HardwareRenderer$GlRenderer.draw(HardwareRenderer.java:1449)
 	at android.view.ViewRootImpl.draw(ViewRootImpl.java:2476)
 	at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2300)
 	at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1929)
 	at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1043)
 	at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5885)
 	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:771)
 	at android.view.Choreographer.doCallbacks(Choreographer.java:574)
 	at android.view.Choreographer.doFrame(Choreographer.java:544)
 	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:757)
 	at android.os.Handler.handleCallback(Handler.java:733)
 	at android.os.Handler.dispatchMessage(Handler.java:95)
 	at android.os.Looper.loop(Looper.java:149)
 	at android.app.ActivityThread.main(ActivityThread.java:5257)
 	at java.lang.reflect.Method.invokeNative(Native Method)
 	at java.lang.reflect.Method.invoke(Method.java:515)
 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794)
 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:610)
 	at dalvik.system.NativeStart.main(Native Method)