Android Studio 3.1 EditText StackOverflowError
AndroidAndroid StudioAndroid Studio-3.1Android Problem Overview
After updating to Android Studio 3.1 I'm facing exception when EditText in focus
E/AndroidRuntime: FATAL EXCEPTION: main
Process: <package>, PID: 18938
java.lang.StackOverflowError: stack size 8MB
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
Any idea how to fix this?
Update:
After some research I found out that StackOverflowError appears with different stacktraces with simple EditText:
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"/>
When trying to enter any symbol I get:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: <package>, PID: 21122
java.lang.StackOverflowError: stack size 8MB
at android.view.inputmethod.InputConnectionWrapper.beginBatchEdit(InputConnectionWrapper.java:106)
When I press back:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: <package>, PID: 21280
java.lang.StackOverflowError: stack size 8MB
at android.view.inputmethod.InputConnectionWrapper.finishComposingText(InputConnectionWrapper.java:78)
Even entering text in WebView causing this error
In AS 3.0 EditText's worked normal
Android Solutions
Solution 1 - Android
As @evi pointed out there is a bug in advanced profiling.
For now disabling it (Edit configuration settings -> Profiling -> Enable advanced profiling) prevents EditText from crashing
Update:
Fix released in Android Studio 3.1.1
Advanced profiling available once again!
Solution 2 - Android
This seems only happens on Android 6.0 devices, the EditText works fine on Android 5 and android 7 devices. Disable advanced profiling (API < 26) in the run configuration works for me.
Solution 3 - Android
Android 5.1.1, same problem. Seems to a bug in new Android Studio. Disabling advanced profiling fixes the problem for debug build.
Solution 4 - Android
Faced with same EditText issues just right after update to Android Studio 3.1. Try to set debuggable false
in build.gradle
for debug build type. Or just switch to release build type since it's false by default. That helped in my case.
Update: Confirming that disabling advanced profiling fixed my issue as well.
Solution 5 - Android
I had the same problem, but after:
- Deleting .idea, .gradle, gradle folder and recreate it.
- Clean project.
- Rebuild app.
it works for me.