box / box/box-android-preview-sdk

PSPDFKit is not initialized crash after system kills app

Open
#29 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
13
Forks
9
PR merge metrics
No merged PRs in 30d

Description

- [x] I have checked that the [API documentation][api-docs] doesn't solve my issue

### Description of the Issue
App is crashing after system kills it. It is very similar to https://github.com/box/box-android-preview-sdk/issues/23 but with different cause.

### Versions Used
Preview SDK: 3.0.3
Android: any

### Steps to Reproduce
1) open preview activity (with properly setup box session and data)
2) put the app to background
3) kill the app `adb shell ps | grep your.app.package | awk '{print $2}' | xargs adb shell run-as your.app.package kill`
4) open the app and see crash due to missing context

### Error Message, Including Stack Trace
```
Caused by: com.pspdfkit.exceptions.PSPDFKitNotInitializedException: PSPDFKit is not initialized!
at com.pspdfkit.ui.PdfFragment.onCreate(SourceFile:1031)
at androidx.fragment.app.Fragment.performCreate(Fragment.java:2586)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:838)
at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1238)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1303)
at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManagerImpl.java:2659)
at androidx.fragment.app.FragmentManagerImpl.dispatchCreate(FragmentManagerImpl.java:2607)
at androidx.fragment.app.FragmentController.dispatchCreate(FragmentController.java:235)
at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:316)
at androidx.appcompat.app.AppCompatActivity.onCreate(AppCompatActivity.java:106)
at com.box.androidsdk.preview.ext.BoxThreadPoolExecutorActivity.onCreate(SourceFile:70)
at com.box.androidsdk.preview.BoxPreviewActivity.onCreate(SourceFile:78)
at android.app.Activity.performCreate(Activity.java:7802)
at android.app.Activity.performCreate(Activity.java:7791)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1299)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409) 
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) 
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016) 
at android.os.Handler.dispatchMessage(Handler.java:107) 
at android.os.Looper.loop(Looper.java:214) 
at android.app.ActivityThread.main(ActivityThread.java:7356) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) 
```
[api-docs]: https://developer.box.com/docs

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by examining the initialization path used by PdfFragment and BoxPreviewActivity, then reproduce the failure with the provided adb process-kill command. Confirm the behavior after an app process is killed and relaunched, with the crash no longer occurring when the preview activity is opened.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java
Domain
mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.