REPRODUCIBILITY: Always
OS VERSION: 4.6.0.15
HARDWARE: Sony Xperia 10 II - Dual SIM
UI LANGUAGE: German
REGRESSION: Maybe?
DESCRIPTION:
Markor version 2.12.5 and above from F-Droid crash when run in Android AppSupport, previous versions worked without issue.
PRECONDITIONS:
Install Markor version 2.12.5 or above from F-Droid or GitHub.
STEPS TO REPRODUCE:
- Launch the Markor app
- Complete tutorial
- Press “OK” in “Storage permission required to read and write files” dialog
- Press “Allow” in “Allow Markor to access photos and media on your device?” SFOS popup
- Swipe the “Allow access to manage all files” permission in opened Android settings
- Close Android settings
- Open Markor again
EXPECTED RESULT:
Markor main screen launches, showing local documents as seen by the Android environment
ACTUAL RESULT:
Markor crashes.
MODIFICATIONS:
Some apps from OpenRepos, but nothing invasive.
ADDITIONAL INFORMATION:
Crash log of Markor 2.12.5
09-24 19:55:37.871 13 13 E cutils : Failed to mkdirat(/mnt/media_rw/8ff87de4-0b37-4799-b09a-82773e869e07/Android): Read-only file system
09-24 19:55:37.873 9179 9179 W ContextImpl: Failed to ensure /storage/8ff87de4-0b37-4799-b09a-82773e869e07/Android/data/net.gsantner.markor/files: android.os.ServiceSpecificException: (code -30)
09-24 19:55:37.855 175 376 I chatty : uid=1000(system) AlienService identical 2 lines
09-24 19:55:37.857 175 376 E AlienService: Failed to set drag resizing mode
09-24 19:55:37.906 175 226 W ActivityTaskManager: resizeTask not allowed on task=Task{e9ca8b #4175 visible=true type=standard mode=fullscreen translucent=false A=10039:de.danoeh.antennapod U=0 StackId=4175 sz=1}
09-24 19:55:37.907 175 226 W ActivityTaskManager: resizeTask not allowed on task=Task{60bcaae #4185 visible=true type=standard mode=fullscreen translucent=false A=1000:com.android.settings U=0 StackId=4185 sz=2}
09-24 19:55:38.022 13 13 E cutils : Failed to mkdirat(/mnt/media_rw/8ff87de4-0b37-4799-b09a-82773e869e07/Android): Read-only file system
09-24 19:55:38.023 9179 9247 W ContextImpl: Failed to ensure /storage/8ff87de4-0b37-4799-b09a-82773e869e07/Android/data/net.gsantner.markor/files: android.os.ServiceSpecificException: (code -30)
09-24 19:55:38.198 9179 9247 E AndroidRuntime: FATAL EXCEPTION: pool-2-thread-1
09-24 19:55:38.198 9179 9247 E AndroidRuntime: Process: net.gsantner.markor, PID: 9179
09-24 19:55:38.198 9179 9247 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.io.File.getAbsolutePath()' on a null object reference
09-24 19:55:38.198 9179 9247 E AndroidRuntime: at net.gsantner.opoc.frontend.filebrowser.GsFileBrowserListAdapter.lambda$loadFolder$9(Unknown Source:330)
09-24 19:55:38.198 9179 9247 E AndroidRuntime: at net.gsantner.opoc.frontend.filebrowser.GsFileBrowserListAdapter.$r8$lambda$TWVJW-w70YRy2cjUS49nudys7G4(SourceFile:0)
09-24 19:55:38.198 9179 9247 E AndroidRuntime: at net.gsantner.opoc.frontend.filebrowser.GsFileBrowserListAdapter$$ExternalSyntheticLambda1.run(SourceFile:0)
09-24 19:55:38.198 9179 9247 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
09-24 19:55:38.198 9179 9247 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
09-24 19:55:38.198 9179 9247 E AndroidRuntime: at java.lang.Thread.run(Thread.java:923)
09-24 19:55:37.908 175 226 I chatty : uid=1000(system) android.display identical 1 line
09-24 19:55:37.909 175 226 W ActivityTaskManager: resizeTask not allowed on task=Task{60bcaae #4185 visible=true type=standard mode=fullscreen translucent=false A=1000:com.android.settings U=0 StackId=4185 sz=2}
09-24 19:55:38.209 175 9252 I DropBoxManagerService: add tag=data_app_crash isTagEnabled=true flags=0x2
09-24 19:55:38.209 175 430 W ActivityTaskManager: Force finishing activity net.gsantner.markor/.activity.MainActivity
09-24 19:55:38.259 9179 9247 I Process : Sending signal. PID: 9179 SIG: 9
Crash log of latest Markor nightly
09-24 20:13:43.374 13 19 E cutils : Failed to mkdirat(/mnt/media_rw/8ff87de4-0b37-4799-b09a-82773e869e07/Android): Read-only file system
09-24 20:13:43.375 9795 9795 W ContextImpl: Failed to ensure /storage/8ff87de4-0b37-4799-b09a-82773e869e07/Android/data/net.gsantner.markor_test/files: android.os.ServiceSpecificException: (code -30)
09-24 20:13:43.465 13 19 E cutils : Failed to mkdirat(/mnt/media_rw/8ff87de4-0b37-4799-b09a-82773e869e07/Android): Read-only file system
09-24 20:13:43.466 9795 9795 W ContextImpl: Failed to ensure /storage/8ff87de4-0b37-4799-b09a-82773e869e07/Android/data/net.gsantner.markor_test/files: android.os.ServiceSpecificException: (code -30)
09-24 20:13:43.469 9795 9795 D AndroidRuntime: Shutting down VM
09-24 20:13:43.494 9795 9795 E AndroidRuntime: FATAL EXCEPTION: main
09-24 20:13:43.494 9795 9795 E AndroidRuntime: Process: net.gsantner.markor_test, PID: 9795
09-24 20:13:43.494 9795 9795 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.io.File.getName()' on a null object reference
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at net.gsantner.opoc.frontend.filebrowser.GsFileBrowserListAdapter.getVirtualFolders(GsFileBrowserListAdapter.java:154)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at net.gsantner.opoc.frontend.filebrowser.GsFileBrowserListAdapter.<init>(GsFileBrowserListAdapter.java:138)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at net.gsantner.opoc.frontend.filebrowser.GsFileBrowserFragment.onViewCreated(GsFileBrowserFragment.java:125)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at androidx.fragment.app.Fragment.performViewCreated(Fragment.java:2987)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:546)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2189)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2100)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at androidx.fragment.app.FragmentManager.execSingleAction(FragmentManager.java:1971)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at androidx.fragment.app.BackStackRecord.commitNow(BackStackRecord.java:305)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at androidx.viewpager2.adapter.FragmentStateAdapter.placeFragmentInViewHolder(FragmentStateAdapter.java:341)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at androidx.viewpager2.adapter.FragmentStateAdapter.onViewAttachedToWindow(FragmentStateAdapter.java:276)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at androidx.viewpager2.adapter.FragmentStateAdapter.onViewAttachedToWindow(FragmentStateAdapter.java:67)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at androidx.recyclerview.widget.RecyclerView.dispatchChildAttached(RecyclerView.java:7867)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at androidx.recyclerview.widget.RecyclerView$5.addView(RecyclerView.java:893)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at androidx.recyclerview.widget.ChildHelper.addView(ChildHelper.java:107)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at androidx.recyclerview.widget.RecyclerView$LayoutManager.addViewInt(RecyclerView.java:8902)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at androidx.recyclerview.widget.RecyclerView$LayoutManager.addView(RecyclerView.java:8860)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at androidx.recyclerview.widget.RecyclerView$LayoutManager.addView(RecyclerView.java:8848)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1645)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1591)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:668)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4309)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:4012)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4578)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at android.view.View.layout(View.java:22844)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at android.view.ViewGroup.layout(ViewGroup.java:6389)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at androidx.viewpager2.widget.ViewPager2.onLayout(ViewPager2.java:527)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at android.view.View.layout(View.java:22844)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at android.view.ViewGroup.layout(ViewGroup.java:6389)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at android.view.View.layout(View.java:22844)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at android.view.ViewGroup.layout(ViewGroup.java:6389)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at android.view.View.layout(View.java:22844)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at android.view.ViewGroup.layout(ViewGroup.java:6389)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at android.view.View.layout(View.java:22844)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at android.view.ViewGroup.layout(ViewGroup.java:6389)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at android.view.View.layout(View.java:22844)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at android.view.ViewGroup.layout(ViewGroup.java:6389)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at android.view.View.layout(View.java:22844)
09-24 20:13:43.494 9795 9795 E AndroidRuntime: at android.view.ViewGroup.layout(ViewGroup.java:6389)
09-24 20:13:43.496 9795 9795 E AndroidRuntime: at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
09-24 20:13:43.496 9795 9795 E AndroidRuntime: at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
09-24 20:13:43.496 9795 9795 E AndroidRuntime: at com.android.internal.policy.DecorView.onLayout(DecorView.java:787)
09-24 20:13:43.496 9795 9795 E AndroidRuntime: at android.view.View.layout(View.java:22844)
09-24 20:13:43.496 9795 9795 E AndroidRuntime: at android.view.ViewGroup.layout(ViewGroup.java:6389)
09-24 20:13:43.496 9795 9795 E AndroidRuntime: at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:3470)
09-24 20:13:43.496 9795 9795 E AndroidRuntime: at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2938)
09-24 20:13:43.496 9795 9795 E AndroidRuntime: at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1952)
09-24 20:13:43.496 9795 9795 E AndroidRuntime: at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8171)
09-24 20:13:43.496 9795 9795 E AndroidRuntime: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:972)
09-24 20:13:43.496 9795 9795 E AndroidRuntime: at android.view.Choreographer.doCallbacks(Choreographer.java:796)
09-24 20:13:43.496 9795 9795 E AndroidRuntime: at android.view.Choreographer.doFrame(Choreographer.java:731)
09-24 20:13:43.496 9795 9795 E AndroidRuntime: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:957)
09-24 20:13:43.496 9795 9795 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:938)
09-24 20:13:43.496 9795 9795 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99)
09-24 20:13:43.496 9795 9795 E AndroidRuntime: at android.os.Looper.loop(Looper.java:223)
09-24 20:13:43.496 9795 9795 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7656)
09-24 20:13:43.496 9795 9795 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
09-24 20:13:43.496 9795 9795 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:599)
09-24 20:13:43.496 9795 9795 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
09-24 20:13:43.519 175 9870 I DropBoxManagerService: add tag=data_app_crash isTagEnabled=true flags=0x2
09-24 20:13:43.521 175 4044 W ActivityTaskManager: Force finishing activity net.gsantner.markor_test/net.gsantner.markor.activity.MainActivity
09-24 20:13:43.647 9795 9795 I Process : Sending signal. PID: 9795 SIG: 9
09-24 20:13:43.647 175 223 W Looper : Slow dispatch took 107ms android.fg h=com.android.server.DropBoxManagerService$DropBoxManagerBroadcastHandler c=null m=1
09-24 20:13:43.682 9057 9071 W System : A resource failed to call release.
09-24 20:13:43.747 41 41 I Zygote : Process 9795 exited due to signal 9 (Killed)
The diff between Markor 2.12.4 and 2.12.5 is rather small.
It’s not clear from the log if this is something Markor does wrong or Android AppSupport. Any ideas?