Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

App crash if duplicate a transaction and then delete it #217

Open
hanshsieh opened this issue Jun 5, 2022 · 0 comments
Open

App crash if duplicate a transaction and then delete it #217

hanshsieh opened this issue Jun 5, 2022 · 0 comments

Comments

@hanshsieh
Copy link

Firefly III Server Version:
5.7.9

Firefly III Mobile Version:
5.0.7

Android Version:
11

Device Information:

  • BRAND: SAMSUNG
  • MODEL: S20

Expected Behavior

Should not crash, and the dashboard should automatically reload.

Current Behavior

On the dashboard, there's a widget for the recent transactions.
I clicked one transaction, and clicked "duplicate, ". Since the dashboard doesn't automatically reload, I clicked an arbitrary transaction and go back.
Then, I see the duplicated transaction. I clicked the duplicated transaction, and click "delete".
The dashboard doesn't reload so that deleted transaction was still there. I clicked the transaction that should have been deleted, and then it crashed.

Steps to Reproduce

REPORT_ID=af64a04e-ec96-44d3-a067-aeb81d75cf05
APP_VERSION_NAME=5.0.7
PHONE_MODEL=SM-G9810
BRAND=samsung
PRODUCT=x1qzhx
ANDROID_VERSION=11
BUILD_CONFIG=
STACK_TRACE=java.lang.NullPointerException: transactionData must not be null
	at xyz.hisname.fireflyiii.ui.transaction.details.TransactionDetailsFragment.$r8$lambda$GvRd4z92o0ZpNy0Sh6KuV0r-gKs(TransactionDetailsFragment.kt:2)
	at xyz.hisname.fireflyiii.ui.transaction.details.TransactionDetailsFragment$$ExternalSyntheticLambda1.onChanged(Unknown Source:3)
	at androidx.lifecycle.LiveData.considerNotify(LiveData.java:6)
	at androidx.lifecycle.LiveData.dispatchingValue(LiveData.java:8)
	at androidx.lifecycle.LiveData.setValue(LiveData.java:4)
	at androidx.lifecycle.MutableLiveData.setValue(MutableLiveData.java:1)
	at androidx.lifecycle.LiveData$1.run(LiveData.java:5)
	at android.os.Handler.handleCallback(Handler.java:938)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loop(Looper.java:246)
	at android.app.ActivityThread.main(ActivityThread.java:8653)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)

LOGCAT=--------- beginning of main
06-05 23:25:35.595 I/ViewRootImpl@aacb8e6[HomeActivity]( 3299): ViewPostIme pointer 1
06-05 23:25:35.789 D/Toast   ( 3299): show: caller = xyz.hisname.fireflyiii.util.extension.ToastExtensionKt.toastInfo:5 
06-05 23:25:35.789 I/Toast   ( 3299): show: focusDisplayId = 0, isFocusInDesktop = false mCustomDisplayId=-1 isDexDualMode=false
06-05 23:25:35.789 I/Toast   ( 3299): show: isActivityContext = true
06-05 23:25:35.797 D/NativeCustomFrequencyManager( 3299): [NativeCFMS] BpCustomFrequencyManager::BpCustomFrequencyManager()
06-05 23:25:35.799 D/InputTransport( 3299): Input channel constructed: '7e0e8ac', fd=116
06-05 23:25:35.800 I/ViewRootImpl@750fe7c[Toast]( 3299): setView = android.widget.LinearLayout@aee5305 TM=true
06-05 23:25:35.805 I/SurfaceControl( 3299): assignNativeObject: nativeObject = 0 Surface(name=null)/@0xfa30f5a / android.view.SurfaceControl.readFromParcel:1117 android.view.IWindowSession$Stub$Proxy.relayout:1820 android.view.ViewRootImpl.relayoutWindow:9005 android.view.ViewRootImpl.performTraversals:3360 android.view.ViewRootImpl.doTraversal:2618 android.view.ViewRootImpl$TraversalRunnable.run:9971 android.view.Choreographer$CallbackRecord.run:1010 android.view.Choreographer.doCallbacks:809 android.view.Choreographer.doFrame:744 android.view.Choreographer$FrameDisplayEventReceiver.run:995 
06-05 23:25:35.806 I/ViewRootImpl@750fe7c[Toast]( 3299): Relayout returned: old=(0,78,1080,2256) new=(238,1926,841,2064) req=(603,138)0 dur=4 res=0x7 s={true -5476376657702454576} ch=true fn=-1
06-05 23:25:35.809 D/OpenGLRenderer( 3299): GPIS:: SetUp Pid : 3299    Tid : 10345
06-05 23:25:36.550 I/ViewRootImpl@aacb8e6[HomeActivity]( 3299): ViewPostIme key 0
06-05 23:25:36.597 I/ViewRootImpl@aacb8e6[HomeActivity]( 3299): ViewPostIme key 1
06-05 23:25:37.738 I/ViewRootImpl@aacb8e6[HomeActivity]( 3299): ViewPostIme pointer 0
06-05 23:25:37.802 E/SurfaceFlinger( 3299): resetPartialBlurMask failed to transact: -1
06-05 23:25:37.802 I/ViewRootImpl@750fe7c[Toast]( 3299): dispatchDetachedFromWindow
06-05 23:25:37.803 I/SurfaceControl( 3299): nativeRelease nativeObject s[-5476376661996922160]
06-05 23:25:37.803 I/SurfaceControl( 3299): nativeRelease nativeObject e[-5476376661996922160]
06-05 23:25:37.806 D/InputTransport( 3299): Input channel destroyed: '7e0e8ac', fd=116
06-05 23:25:37.812 I/ViewRootImpl@aacb8e6[HomeActivity]( 3299): ViewPostIme pointer 1
06-05 23:25:38.312 I/ViewRootImpl@aacb8e6[HomeActivity]( 3299): ViewPostIme key 0
06-05 23:25:38.357 I/ViewRootImpl@aacb8e6[HomeActivity]( 3299): ViewPostIme key 1
06-05 23:25:40.944 I/ViewRootImpl@aacb8e6[HomeActivity]( 3299): ViewPostIme pointer 0
06-05 23:25:41.018 I/ViewRootImpl@aacb8e6[HomeActivity]( 3299): ViewPostIme pointer 1
06-05 23:25:41.047 W/RecyclerView( 3299): No adapter attached; skipping layout
06-05 23:25:41.047 W/RecyclerView( 3299): No adapter attached; skipping layout
06-05 23:25:42.806 I/ViewRootImpl@aacb8e6[HomeActivity]( 3299): ViewPostIme pointer 0
06-05 23:25:42.854 I/ViewRootImpl@aacb8e6[HomeActivity]( 3299): ViewPostIme pointer 1
06-05 23:25:42.862 I/Dialog  ( 3299): mIsSamsungBasicInteraction = false, isMetaDataInActivity = false
06-05 23:25:42.863 I/DecorView( 3299): [INFO] isPopOver=false, config=false
06-05 23:25:42.863 I/DecorView( 3299): updateCaptionType >> DecorView@323bf0b[], isFloating=true, isApplication=true, hasWindowDecorCaption=false, hasWindowControllerCallback=false
06-05 23:25:42.863 D/DecorView( 3299): setCaptionType = 0, this = DecorView@323bf0b[]
06-05 23:25:42.868 D/ScrollView( 3299): initGoToTop
06-05 23:25:42.872 D/NativeCustomFrequencyManager( 3299): [NativeCFMS] BpCustomFrequencyManager::BpCustomFrequencyManager()
06-05 23:25:42.878 D/InputTransport( 3299): Input channel constructed: '54feb09', fd=109
06-05 23:25:42.879 I/ViewRootImpl@e3648e2[HomeActivity]( 3299): setView = com.android.internal.policy.DecorView@323bf0b TM=true
06-05 23:25:42.889 I/SurfaceControl( 3299): assignNativeObject: nativeObject = 0 Surface(name=null)/@0xe09a2e1 / android.view.SurfaceControl.readFromParcel:1117 android.view.IWindowSession$Stub$Proxy.relayout:1820 android.view.ViewRootImpl.relayoutWindow:9005 android.view.ViewRootImpl.performTraversals:3360 android.view.ViewRootImpl.doTraversal:2618 android.view.ViewRootImpl$TraversalRunnable.run:9971 android.view.Choreographer$CallbackRecord.run:1010 android.view.Choreographer.doCallbacks:809 android.view.Choreographer.doFrame:744 android.view.Choreographer$FrameDisplayEventReceiver.run:995 
06-05 23:25:42.890 I/ViewRootImpl@e3648e2[HomeActivity]( 3299): Relayout returned: old=(0,78,1080,2256) new=(27,849,1053,1484) req=(1026,635)0 dur=7 res=0x7 s={true -5476376657702437136} ch=true fn=-1
06-05 23:25:42.891 D/ScrollView( 3299):  onsize change changed 
06-05 23:25:42.895 D/OpenGLRenderer( 3299): GPIS:: SetUp Pid : 3299    Tid : 10345
06-05 23:25:42.899 I/SurfaceControl( 3299): nativeRelease nativeObject s[-5476376661997196896]
06-05 23:25:42.899 I/SurfaceControl( 3299): nativeRelease nativeObject e[-5476376661997196896]
06-05 23:25:42.899 I/SurfaceControl( 3299): nativeRelease nativeObject s[-5476376661997188272]
06-05 23:25:42.899 I/SurfaceControl( 3299): nativeRelease nativeObject e[-5476376661997188272]
06-05 23:25:42.899 I/SurfaceControl( 3299): nativeRelease nativeObject s[-5476376661997193024]
06-05 23:25:42.899 I/SurfaceControl( 3299): nativeRelease nativeObject e[-5476376661997193024]
06-05 23:25:42.900 I/SurfaceControl( 3299): nativeRelease nativeObject s[-5476376661995096512]
06-05 23:25:42.900 I/SurfaceControl( 3299): nativeRelease nativeObject e[-5476376661995096512]
06-05 23:25:42.900 I/SurfaceControl( 3299): nativeRelease nativeObject s[-5476376661997112416]
06-05 23:25:42.900 I/SurfaceControl( 3299): nativeRelease nativeObject e[-5476376661997112416]
06-05 23:25:42.901 I/ViewRootImpl@aacb8e6[HomeActivity]( 3299): MSG_WINDOW_FOCUS_CHANGED 0 1
06-05 23:25:42.913 I/ViewRootImpl@e3648e2[HomeActivity]( 3299): MSG_WINDOW_FOCUS_CHANGED 1 1
06-05 23:25:43.619 I/ViewRootImpl@e3648e2[HomeActivity]( 3299): ViewPostIme pointer 0
06-05 23:25:43.684 I/ViewRootImpl@e3648e2[HomeActivity]( 3299): ViewPostIme pointer 1
06-05 23:25:43.695 D/OpenGLRenderer( 3299): endAllActiveAnimators on 0xb4000071756e93f0 (RippleDrawable) with handle 0xb4000070856c10a0
06-05 23:25:43.695 E/SurfaceFlinger( 3299): resetPartialBlurMask failed to transact: -1
06-05 23:25:43.695 I/ViewRootImpl@e3648e2[HomeActivity]( 3299): dispatchDetachedFromWindow
06-05 23:25:43.696 I/SurfaceControl( 3299): nativeRelease nativeObject s[-5476376661997109600]
06-05 23:25:43.696 I/SurfaceControl( 3299): nativeRelease nativeObject e[-5476376661997109600]
06-05 23:25:43.704 D/InputTransport( 3299): Input channel destroyed: '54feb09', fd=109
06-05 23:25:43.708 I/SurfaceControl( 3299): nativeRelease nativeObject s[-5476376661996635456]
06-05 23:25:43.708 I/SurfaceControl( 3299): nativeRelease nativeObject e[-5476376661996635456]
06-05 23:25:43.710 I/SurfaceControl( 3299): nativeRelease nativeObject s[-5476376661996633696]
06-05 23:25:43.710 I/SurfaceControl( 3299): nativeRelease nativeObject e[-5476376661996633696]
06-05 23:25:43.710 I/SurfaceControl( 3299): nativeRelease nativeObject s[-5476376661997143216]
06-05 23:25:43.710 I/SurfaceControl( 3299): nativeRelease nativeObject e[-5476376661997143216]
06-05 23:25:43.724 I/ViewRootImpl@aacb8e6[HomeActivity]( 3299): MSG_WINDOW_FOCUS_CHANGED 1 1
06-05 23:25:43.724 D/InputMethodManager( 3299): prepareNavigationBarInfo() DecorView@3c082e[HomeActivity]
06-05 23:25:43.724 D/InputMethodManager( 3299): getNavigationBarColor() -12808772
06-05 23:25:43.725 D/InputMethodManager( 3299): prepareNavigationBarInfo() DecorView@3c082e[HomeActivity]
06-05 23:25:43.725 D/InputMethodManager( 3299): getNavigationBarColor() -12808772
06-05 23:25:43.725 V/InputMethodManager( 3299): Starting input: tba=xyz.hisname.fireflyiii ic=null mNaviBarColor -12808772 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
06-05 23:25:43.725 D/InputMethodManager( 3299): startInputInner - Id : 0
06-05 23:25:43.725 I/InputMethodManager( 3299): startInputInner - mService.startInputOrWindowGainedFocus
06-05 23:25:43.726 D/InputTransport( 3299): Input channel constructed: 'ClientS', fd=116
06-05 23:25:43.726 D/InputTransport( 3299): Input channel destroyed: 'ClientS', fd=104
06-05 23:25:43.836 D/Toast   ( 3299): show: caller = xyz.hisname.fireflyiii.util.extension.ToastExtensionKt.toastSuccess:5 
06-05 23:25:43.836 I/Toast   ( 3299): show: focusDisplayId = 0, isFocusInDesktop = false mCustomDisplayId=-1 isDexDualMode=false
06-05 23:25:43.836 I/Toast   ( 3299): show: isActivityContext = true
06-05 23:25:43.846 D/NativeCustomFrequencyManager( 3299): [NativeCFMS] BpCustomFrequencyManager::BpCustomFrequencyManager()
06-05 23:25:43.849 D/InputTransport( 3299): Input channel constructed: 'a5373a5', fd=115
06-05 23:25:43.851 I/ViewRootImpl@a85899f[Toast]( 3299): setView = android.widget.LinearLayout@ac43aec TM=true
06-05 23:25:43.892 I/SurfaceControl( 3299): assignNativeObject: nativeObject = 0 Surface(name=null)/@0xe073794 / android.view.SurfaceControl.readFromParcel:1117 android.view.IWindowSession$Stub$Proxy.relayout:1820 android.view.ViewRootImpl.relayoutWindow:9005 android.view.ViewRootImpl.performTraversals:3360 android.view.ViewRootImpl.doTraversal:2618 android.view.ViewRootImpl$TraversalRunnable.run:9971 android.view.Choreographer$CallbackRecord.run:1010 android.view.Choreographer.doCallbacks:809 android.view.Choreographer.doFrame:744 android.view.Choreographer$FrameDisplayEventReceiver.run:995 
06-05 23:25:43.893 I/ViewRootImpl@a85899f[Toast]( 3299): Relayout returned: old=(0,78,1080,2256) new=(229,1926,851,2064) req=(622,138)0 dur=5 res=0x7 s={true -5476376657702437136} ch=true fn=-1
06-05 23:25:43.897 D/OpenGLRenderer( 3299): GPIS:: SetUp Pid : 3299    Tid : 10345
06-05 23:25:43.928 I/ViewRootImpl@a85899f[Toast]( 3299): MSG_RESIZED_REPORT: frame=(229,1926,851,2064) ci=(0,0,0,0) vi=(0,0,0,0) or=1
06-05 23:25:43.936 I/SurfaceControl( 3299): nativeRelease nativeObject s[-5476376661997101504]
06-05 23:25:43.936 I/SurfaceControl( 3299): nativeRelease nativeObject e[-5476376661997101504]
06-05 23:25:43.936 I/SurfaceControl( 3299): assignNativeObject: nativeObject = 0 Surface(name=null)/@0xe073794 / android.view.SurfaceControl.readFromParcel:1117 android.view.IWindowSession$Stub$Proxy.relayout:1820 android.view.ViewRootImpl.relayoutWindow:9005 android.view.ViewRootImpl.performTraversals:3360 android.view.ViewRootImpl.doTraversal:2618 android.view.ViewRootImpl$TraversalRunnable.run:9971 android.view.Choreographer$CallbackRecord.run:1010 android.view.Choreographer.doCallbacks:809 android.view.Choreographer.doFrame:744 android.view.Choreographer$FrameDisplayEventReceiver.run:995 
06-05 23:25:43.936 I/ViewRootImpl@a85899f[Toast]( 3299): Relayout returned: old=(229,1926,851,2064) new=(229,1926,851,2064) req=(622,138)0 dur=3 res=0x1 s={true -5476376657702437136} ch=false fn=2
06-05 23:25:45.858 E/SurfaceFlinger( 3299): resetPartialBlurMask failed to transact: -1
06-05 23:25:45.858 I/ViewRootImpl@a85899f[Toast]( 3299): dispatchDetachedFromWindow
06-05 23:25:45.858 I/SurfaceControl( 3299): nativeRelease nativeObject s[-5476376661997066480]
06-05 23:25:45.858 I/SurfaceControl( 3299): nativeRelease nativeObject e[-5476376661997066480]
06-05 23:25:45.866 D/InputTransport( 3299): Input channel destroyed: 'a5373a5', fd=115
06-05 23:25:46.201 I/ViewRootImpl@aacb8e6[HomeActivity]( 3299): ViewPostIme pointer 0
06-05 23:25:46.274 I/ViewRootImpl@aacb8e6[HomeActivity]( 3299): ViewPostIme pointer 1
06-05 23:25:46.301 E/ACRA    ( 3299): ACRA caught a NullPointerException for xyz.hisname.fireflyiii
06-05 23:25:46.301 E/ACRA    ( 3299): java.lang.NullPointerException: Attempt to invoke virtual method 'long java.lang.Number.longValue()' on a null object reference
06-05 23:25:46.301 E/ACRA    ( 3299): 	at xyz.hisname.fireflyiii.repository.transaction.TransactionRepository.getAttachment(TransactionRepository.kt:6)
06-05 23:25:46.301 E/ACRA    ( 3299): 	at xyz.hisname.fireflyiii.repository.transaction.TransactionRepository$getAttachment$1.invokeSuspend(Unknown Source:14)
06-05 23:25:46.301 E/ACRA    ( 3299): 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:5)
06-05 23:25:46.301 E/ACRA    ( 3299): 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:18)
06-05 23:25:46.301 E/ACRA    ( 3299): 	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:2)
06-05 23:25:46.301 E/ACRA    ( 3299): 	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:1)
06-05 23:25:46.301 E/ACRA    ( 3299): 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:1)
06-05 23:25:46.301 E/ACRA    ( 3299): 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:10)
06-05 23:25:46.312 W/RecyclerView( 3299): No adapter attached; skipping layout
06-05 23:25:46.312 W/RecyclerView( 3299): No adapter attached; skipping layout
06-05 23:25:46.316 D/AndroidRuntime( 3299): Shutting down VM

USER_CRASH_DATE=2022-06-05T23:25:46.318+08:00
IS_SILENT=false
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant