• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

parse-community / Parse-SDK-Android
70%

Build:
DEFAULT BRANCH: master
Repo Added 05 Apr 2017 09:29PM UTC
Files 122
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH master
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • 1.17.0
  • 1.17.1
  • 1.17.2
  • 1.17.3
  • 1.18.0
  • 1.18.1
  • 1.18.2
  • 1.18.3
  • 1.18.4
  • 1.18.5
  • 29d80c2f2f1ff920df6c46560a096830fa915223
  • 9e925fa81a2d5052b5ae0992f1f659c9ff925313
  • master

pending completion
997

push

travis-ci

Jawnnypoo
Fix StackOverflowError when merging ParseObject from JSON (#925)

* Add test for StackOverflowError during mergeFromServer

This test shows the #896 bug.

* Make a synchronized copy of availableKeys

`synchronizedSet(s)` ends up making a new wrapper for the supplied set, which
means on subsequent calls, it becomes a SynchronizedSet, wrapped in a
SynchronizedSet, wrapped ... etc.

When using the LocalDataStore, the ParseObject.State is reused for every
matching ClassName+ObjectId pair, so every time a ParseObject is parsed from
JSON data, the existing object is "refreshed" by making a copy of its State,
and then merging with the new data. Every call to State.newBuilder() is
therefore adding a new layer of SynchronizedSet to the availableKeys Set.

Eventually that nested hierarchy of sets becomes so large that it causes a
StackOverflowError for any operation on the collection.

By making a copy of the set before wrapping it in synchronizedSet(), that
nested hierarchy becomes severed, and we end up with just one level of
wrappers.

* Accept the updated Android Build-Tools 27 license

1 of 1 new or added line in 1 file covered. (100.0%)

6782 of 9709 relevant lines covered (69.85%)

0.7 hits per line

Relevant lines Covered
Build:
Build:
9709 RELEVANT LINES 6782 COVERED LINES
0.7 HITS PER LINE
Source Files on master
Detailed source file information is not available for this build.

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
997 master Fix StackOverflowError when merging ParseObject from JSON (#925) * Add test for StackOverflowError during mergeFromServer This test shows the #896 bug. * Make a synchronized copy of availableKeys `synchronizedSet(s)` ends up making a new... push 14 Feb 2019 03:51PM UTC Jawnnypoo travis-ci pending completion  
996 pr/fix-896-stackoverflow Accept the updated Android Build-Tools 27 license Pull #925 14 Feb 2019 03:25PM UTC web-flow travis-ci pending completion  
995 pr/fix-896-stackoverflow Accept the updated Android Build-Tools 27 license Pull #925 14 Feb 2019 01:08AM UTC web-flow travis-ci pending completion  
993 master Google should come first now (#917) push 20 Dec 2018 10:52PM UTC web-flow travis-ci pending completion  
992 google Google should come first now Pull #917 20 Dec 2018 06:17PM UTC web-flow travis-ci pending completion  
991 master chore: Update firebase messaging to 17.3.4 (#916) push 20 Dec 2018 06:09PM UTC rogerhu travis-ci pending completion  
990 feature/update_fcm chore: Update firebase messaging to 17.3.4 Pull #916 20 Dec 2018 11:34AM UTC web-flow travis-ci pending completion  
989 master Feature kotlin delegates (#892) * Implement generic delegate for attributes Signed-off-by: Daniel San <danielsan@ilhasoft.com.br> * Implement specialized property delegation for boolean Signed-off-by: Daniel San <danielsan@ilhasoft.com.b... push 02 Oct 2018 04:54PM UTC Jawnnypoo travis-ci pending completion  
988 feature/kotlin-delegates Merge branch 'master' into feature/kotlin-delegates Pull #892 27 Sep 2018 03:15PM UTC web-flow travis-ci pending completion  
987 feature/kotlin-delegates Update kotlin version Signed-off-by: Daniel San <danielsan@ilhasoft.com.br> Pull #892 27 Sep 2018 03:13PM UTC web-flow travis-ci pending completion  
See All Builds (152)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc