src/com/duckduckgo/mobile/android/activity/DuckDuckGo.java:867: error: NULL_DEREFERENCE object `feedObject` last assigned on line 866 could be null and is dereferenced by call to `feedItemSelected(...)` at line 867 Showing all 18 steps of the trace src/com/duckduckgo/mobile/android/activity/DuckDuckGo.java:865: start of procedure feedItemSelected(...) 863. } 864. 865. > public void feedItemSelected(String feedId) { 866. FeedObject feedObject = DDGApplication.getDB().selectFeedById(feedId); 867. feedItemSelected(feedObject); src/com/duckduckgo/mobile/android/activity/DuckDuckGo.java:866: 864. 865. public void feedItemSelected(String feedId) { 866. > FeedObject feedObject = DDGApplication.getDB().selectFeedById(feedId); 867. feedItemSelected(feedObject); 868. } src/com/duckduckgo/mobile/android/DDGApplication.java:155: start of procedure getDB() 153. } 154. 155. > public static DdgDB getDB() { 156. return db; 157. } src/com/duckduckgo/mobile/android/DDGApplication.java:156: return from a call to DdgDB DDGApplication.getDB() 154. 155. public static DdgDB getDB() { 156. > return db; 157. } 158. src/com/duckduckgo/mobile/android/activity/DuckDuckGo.java:866: 864. 865. public void feedItemSelected(String feedId) { 866. > FeedObject feedObject = DDGApplication.getDB().selectFeedById(feedId); 867. feedItemSelected(feedObject); 868. } src/com/duckduckgo/mobile/android/db/DdgDB.java:483: start of procedure selectFeedById(...) 481. } 482. 483. > public FeedObject selectFeedById(String id){ 484. FeedObject out = null; 485. Cursor c = null; src/com/duckduckgo/mobile/android/db/DdgDB.java:484: 482. 483. public FeedObject selectFeedById(String id){ 484. > FeedObject out = null; 485. Cursor c = null; 486. try { src/com/duckduckgo/mobile/android/db/DdgDB.java:485: 483. public FeedObject selectFeedById(String id){ 484. FeedObject out = null; 485. > Cursor c = null; 486. try { 487. c = this.db.query(FEED_TABLE, null, "_id=?", new String[]{id}, null, null, null); src/com/duckduckgo/mobile/android/db/DdgDB.java:487: 485. Cursor c = null; 486. try { 487. > c = this.db.query(FEED_TABLE, null, "_id=?", new String[]{id}, null, null, null); 488. if (c.moveToFirst()) { 489. out = getFeedObject(c); src/com/duckduckgo/mobile/android/db/DdgDB.java:488: Taking false branch 486. try { 487. c = this.db.query(FEED_TABLE, null, "_id=?", new String[]{id}, null, null, null); 488. > if (c.moveToFirst()) { 489. out = getFeedObject(c); 490. } src/com/duckduckgo/mobile/android/db/DdgDB.java:492: Taking true branch 490. } 491. } finally { 492. > if(c!=null) { 493. c.close(); 494. } src/com/duckduckgo/mobile/android/db/DdgDB.java:493: 491. } finally { 492. if(c!=null) { 493. > c.close(); 494. } 495. } src/com/duckduckgo/mobile/android/db/DdgDB.java:496: return from a call to FeedObject DdgDB.selectFeedById(String) 494. } 495. } 496. > return out; 497. } 498. /* src/com/duckduckgo/mobile/android/activity/DuckDuckGo.java:867: 865. public void feedItemSelected(String feedId) { 866. FeedObject feedObject = DDGApplication.getDB().selectFeedById(feedId); 867. > feedItemSelected(feedObject); 868. } 869. src/com/duckduckgo/mobile/android/activity/DuckDuckGo.java:842: start of procedure feedItemSelected(...) 840. } 841. 842. > public void feedItemSelected(FeedObject feedObject) { 843. // keep a reference, so that we can reuse details while saving 844. DDGControlVar.currentFeedObject = feedObject; src/com/duckduckgo/mobile/android/activity/DuckDuckGo.java:844: 842. public void feedItemSelected(FeedObject feedObject) { 843. // keep a reference, so that we can reuse details while saving 844. > DDGControlVar.currentFeedObject = feedObject; 845. DDGControlVar.mDuckDuckGoContainer.sessionType = SESSIONTYPE.SESSION_FEED; 846. src/com/duckduckgo/mobile/android/activity/DuckDuckGo.java:845: 843. // keep a reference, so that we can reuse details while saving 844. DDGControlVar.currentFeedObject = feedObject; 845. > DDGControlVar.mDuckDuckGoContainer.sessionType = SESSIONTYPE.SESSION_FEED; 846. 847. String url = feedObject.getUrl(); src/com/duckduckgo/mobile/android/activity/DuckDuckGo.java:847: 845. DDGControlVar.mDuckDuckGoContainer.sessionType = SESSIONTYPE.SESSION_FEED; 846. 847. > String url = feedObject.getUrl(); 848. if (url != null) { 849. //if(!DDGApplication.getDB().existsVisibleFeedById(feedObject.getId())) {