Note that there are some explanatory texts on larger screens.

plurals
  1. PONullPointerException crash reports using static DatabaseHelper
    text
    copied!<p>I’m receiving random NullPointerException crash reports from Google that can’t be reproduced. I’m using a static reference to a class that extends OrmLiteSqliteOpenHelper. The helper is initialised in the main class that extends SherlockFragmentActivity.</p> <pre><code>if (DatabaseHelper.getInstance() == null) { DatabaseHelper.setInstance(this.getApplicationContext()); } </code></pre> <p>At first I though it may occur when the device is rotated or sent to the background. But no amount of testing has been able to recreate the issue. </p> <p>Nowhere in the code is the static mHelper variable set to null</p> <pre><code>public class DatabaseHelper extends OrmLiteSqliteOpenHelper { … private static DatabaseHelper mHelper; … public static DatabaseHelper getInstance() { return DatabaseHelper.mHelper; } public static void setInstance(Context context) { DatabaseHelper.mHelper = new DatabaseHelper(context); } … } </code></pre> <p>Does anyone have any idea of what may be causing this?</p> <p>Follows is one of the reports:</p> <pre><code>java.lang.RuntimeException: Unable to start activity ComponentInfo{au.com.dcbs.tradies/au.com.dcbs.tradies.presentation.document.DocumentActivity}: java.lang.NullPointerException at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2049) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2083) at android.app.ActivityThread.access$600(ActivityThread.java:134) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1233) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4697) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.NullPointerException at bd.a(Document.java:654) at au.com.dcbs.tradies.presentation.document.DocumentActivity$a.b(DocumentActivity.java:102) at au.com.dcbs.tradies.presentation.document.DocumentActivity$a.onActivityCreated(DocumentActivity.java:78) at e.a(FragmentManager.java:891) at e.a(FragmentManager.java:1080) at e.a(FragmentManager.java:1062) at e.k(FragmentManager.java:1810) at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:501) at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1133) at android.app.Activity.performStart(Activity.java:4549) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2022) ... 11 more </code></pre> <p>line 654 is the first line in this method:</p> <pre><code>public static Document get(long id, Context context) { DocumentEntity entity = DatabaseHelper.getInstance().getDocumentDao().queryForId((int)id); Document doc = new Document(entity, context); return doc; } </code></pre> <p>getDocumentDao returns an object of type <code>com.j256.ormlite.dao.RuntimeExceptionDao</code></p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload