PhilippC / keepass2android

Password manager app for Android
https://play.google.com/store/apps/details?id=keepass2android.keepass2android
GNU General Public License v3.0
4.7k stars 378 forks source link

Debug log share option causes reproduced immediately crash #1487

Open 4-FLOSS-Free-Libre-Open-Source-Software opened 3 years ago

4-FLOSS-Free-Libre-Open-Source-Software commented 3 years ago

v.1.08c-r1 Android 10

Reproduce:

  1. Start kp2a v.1.08c-r1
  2. Click Options wheel
  3. Choose app settings
  4. Click share debugging log file

java.lang.RuntimeException: Failure from system at android.app.Instrumentation.execStartActivity(Instrumentation.java:1722) at android.app.Activity.startActivityForResult(Activity.java:5258) at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:676) at android.app.Activity.startActivityForResult(Activity.java:5216) at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:663) at android.app.Activity.startActivity(Activity.java:5587) at android.app.Activity.startActivity(Activity.java:5555) at mono.android.preference.Preference_OnPreferenceClickListenerImplementor.n_onPreferenceClick(Native Method) at mono.android.preference.Preference_OnPreferenceClickListenerImplementor.onPreferenceClick(Preference_OnPreferenceClickListenerImplementor.java:30) at android.preference.Preference.performClick(Preference.java:1185) at android.preference.PreferenceScreen.onItemClick(PreferenceScreen.java:260) at android.widget.AdapterView.performItemClick(AdapterView.java:330) at android.widget.AbsListView.performItemClick(AbsListView.java:1219) at android.widget.AbsListView$PerformClick.run(AbsListView.java:3230) at android.widget.AbsListView$3.run(AbsListView.java:4186) at android.os.Handler.handleCallback(Handler.java:883) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loop(Looper.java:224) at android.app.ActivityThread.main(ActivityThread.java:7562) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950) Caused by: android.os.TransactionTooLargeException: data parcel size 10056876 bytes at android.os.BinderProxy.transactNative(Native Method) at android.os.BinderProxy.transact(BinderProxy.java:511) at android.app.IActivityTaskManager$Stub$Proxy.startActivity(IActivityTaskManager.java:3969) at android.app.Instrumentation.execStartActivity(Instrumentation.java:1716) ... 21 more

4-FLOSS-Free-Libre-Open-Source-Software commented 3 years ago

Happened again in v1.08d-r3 keepass2android.Kp2aLog.SendLog

android.runtime.JavaProxyThrowable: System.OutOfMemoryException: Insufficient memory to continue the execution of the program.
  at System.Text.StringBuilder.ExpandByABlock (System.Int32 minBlockCharCount) [0x0007a] in <df08862c0a5643a6bad3d1f1c3ed090d>:0 
  at System.Text.StringBuilder.Append (System.Char* value, System.Int32 valueCount) [0x000a3] in <df08862c0a5643a6bad3d1f1c3ed090d>:0 
  at System.Text.StringBuilder.Append (System.Char[] value, System.Int32 startIndex, System.Int32 charCount) [0x00066] in <df08862c0a5643a6bad3d1f1c3ed090d>:0 
  at System.IO.StreamReader.ReadToEnd () [0x0002d] in <df08862c0a5643a6bad3d1f1c3ed090d>:0 
  at System.IO.File.InternalReadAllText (System.String path, System.Text.Encoding encoding) [0x00009] in <df08862c0a5643a6bad3d1f1c3ed090d>:0 
  at System.IO.File.ReadAllText (System.String path) [0x0002c] in <df08862c0a5643a6bad3d1f1c3ed090d>:0 
  at keepass2android.Kp2aLog.SendLog (Android.Content.Context ctx) [0x0002a] in <6d7a8113157b45cfb19d69a006588753>:0 
  at keepass2android.SettingsFragment.OnSendDebug (System.Object sender, Android.Preferences.Preference+PreferenceClickEventArgs e) [0x00006] in <cb7468b0e62249cab241c40310eacb99>:0 
  at Android.Preferences.Preference+IOnPreferenceClickListenerImplementor.OnPreferenceClick (Android.Preferences.Preference preference) [0x00014] in <ea21f4e089d145a9b2755a641208df44>:0 
  at Android.Preferences.Preference+IOnPreferenceClickListenerInvoker.n_OnPreferenceClick_Landroid_preference_Preference_ (System.IntPtr jnienv, System.IntPtr native__this, System.IntPtr native_preference) [0x00011] in <ea21f4e089d145a9b2755a641208df44>:0 
  at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.176(intptr,intptr,intptr)
    at mono.android.preference.Preference_OnPreferenceClickListenerImplementor.n_onPreferenceClick(Native Method)
    at mono.android.preference.Preference_OnPreferenceClickListenerImplementor.onPreferenceClick(Preference_OnPreferenceClickListenerImplementor.java:30)
    at android.preference.Preference.performClick(Preference.java:1185)
    at android.preference.PreferenceScreen.onItemClick(PreferenceScreen.java:260)
    at android.widget.AdapterView.performItemClick(AdapterView.java:330)
    at android.widget.AbsListView.performItemClick(AbsListView.java:1219)
    at android.widget.AbsListView$PerformClick.run(AbsListView.java:3230)
    at android.widget.AbsListView$3.run(AbsListView.java:4186)
    at android.os.Handler.handleCallback(Handler.java:883)
    at android.os.Handler.dispatchMessage(Handler.java:100)
    at android.os.Looper.loop(Looper.java:224)
    at android.app.ActivityThread.main(ActivityThread.java:7562)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
WebworkrNet commented 3 years ago

I can confirm this: Samsung Galaxy XCover 4s, Android 10, Keepass2Android 1.08d-r5.

WebworkrNet commented 5 months ago

The error still occurs.

Samsung Galaxy Galaxy A13 5G (SM-A136B) Android 14 One-UI Version 6.0 Keepass2Android 1.10-pre

PhilippC commented 4 months ago

"OutOfMemory" seems to indicate that the log is too large. Did you enable this and not disable it for a long time? Can you disable and then enable again to clear the log? Then reproduce the issue and try to send the log?

WebworkrNet commented 4 months ago

In my case, after clicking on "Send log", the program either logs out immediately or crashes. Is it possible to share the log manually via a file manager at Android level? If so, in which directory should I look?