Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Could not allocate CursorWindow crash #3727

Closed
Lineflyer opened this issue Apr 4, 2014 · 10 comments
Closed

Could not allocate CursorWindow crash #3727

Lineflyer opened this issue Apr 4, 2014 · 10 comments
Labels
Bug Issues classified as a bug Google Play or Beta feedback Issues derived from Google Play reporting or beta user feedback Prio - Medium Malfunction of parts of a feature/function. Won't Fix It was decided not to fix this issue

Comments

@Lineflyer
Copy link
Member

I have seen similar reports on GooglePlay console and can also kind of reproduce this with 2014.04.03-NB:

  • Open live map, google sat
  • Start scrolling into one direction really fast
  • Keep on scrolling until crash

For me it takes real effort scrolling on the map until this happens. Therefore assigning as 'Low' by now.

21:00:06.246 Error CursorWindow 18601  Could not allocate CursorWindow '/data/data/cgeo.geocaching/databases/data' of size 2097152 due to error -24.
21:00:06.366 Error cgeo 18601  DataStore.loadInViewport
21:00:06.366 Error cgeo 18601  android.database.CursorWindowAllocationException: Cursor window allocation of 2048 kb failed.
21:00:06.366 Error cgeo 18601   at android.database.CursorWindow.<init>(CursorWindow.java:104)
21:00:06.366 Error cgeo 18601   at android.database.AbstractWindowedCursor.clearOrCreateWindow(AbstractWindowedCursor.java:198)
21:00:06.366 Error cgeo 18601   at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:139)
21:00:06.366 Error cgeo 18601   at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:133)
21:00:06.366 Error cgeo 18601   at android.database.AbstractCursor.moveToPosition(AbstractCursor.java:197)
21:00:06.366 Error cgeo 18601   at android.database.AbstractCursor.moveToNext(AbstractCursor.java:245)
21:00:06.366 Error cgeo 18601   at cgeo.geocaching.DataStore.cursorToColl(DataStore.java:2143)
21:00:06.366 Error cgeo 18601   at cgeo.geocaching.DataStore.queryToColl(DataStore.java:2138)
21:00:06.366 Error cgeo 18601   at cgeo.geocaching.DataStore.loadInViewport(DataStore.java:2283)
21:00:06.366 Error cgeo 18601   at cgeo.geocaching.DataStore.loadCachedInViewport(DataStore.java:2239)
21:00:06.366 Error cgeo 18601   at cgeo.geocaching.maps.CGeoMap$LoadRunnable.run(CGeoMap.java:1069)
21:00:06.366 Error cgeo 18601   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
21:00:06.366 Error cgeo 18601   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
21:00:06.366 Error cgeo 18601   at java.lang.Thread.run(Thread.java:856)
@Lineflyer Lineflyer changed the title Crash on map Could not allocate CursorWindow crash Apr 4, 2014
@Lineflyer
Copy link
Member Author

This keeps happening to me know more often. There seem to be other conditions than mentioned above to trigger this crash. Raised prioroty.

@Lineflyer Lineflyer added medium and removed low labels Apr 13, 2014
@samueltardieu
Copy link
Member

Please add more info, such as device and Android version.

samueltardieu added a commit that referenced this issue Apr 13, 2014
Limit the number of waypoints that can be loaded from the database to
two times the number of caches under which the waypoints are not
shown anymore.
@samueltardieu
Copy link
Member

We request all the waypoints for the caches in the viewport. I've limited to twice the number of the maximum number of caches under which waypoints may be shown at load time (that is, 100 waypoints). Please tell me if it makes things better (and close the issue if it does).

@Lineflyer
Copy link
Member Author

I am currently working offline with 1000 caches stored.
Scrolling the map and opening/closing popups leads to a crash after some tries. I assume it is stil this issue.
But also for this: I can only check the log in two weeks and see whether this is a new issue or still this problem.

@nsathish41
Copy link

Is there is any solution for this 'could not allocate CursorWindow' ?
What does error no 24 denotes ?

@Lineflyer
Copy link
Member Author

I think this situation was at least improved or fixed with the latest memory optimisations. At least I can no longer reproduce it that easily like described above. Will do some moe tests regarding the crash issues next days.

@Bananeweizen
Copy link
Member

I also suggest to close this one, and to reopen if there are still occurances in Google Play with the next release.

@Lineflyer Lineflyer added this to the closed without changes milestone Jan 5, 2015
@Lineflyer
Copy link
Member Author

Closing as suggested.

@Lineflyer
Copy link
Member Author

Reopening as we still have occurences with the new release.

2015.03.31, 23 reports up to now.

User message seem all to relate to map activities like zooming or panning around the live map.

android.database.CursorWindowAllocationException: Cursor window allocation of 2048 kb failed.
at android.database.CursorWindow.<init>(CursorWindow.java:104)
at android.database.AbstractWindowedCursor.clearOrCreateWindow(AbstractWindowedCursor.java:198)
at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:139)
at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:133)
at android.database.AbstractCursor.moveToPosition(AbstractCursor.java:197)
at android.database.AbstractCursor.moveToNext(AbstractCursor.java:245)
at cgeo.geocaching.DataStore.cursorToColl(DataStore.java:2150)
at cgeo.geocaching.DataStore.loadWaypoints(DataStore.java:2913)
at cgeo.geocaching.maps.CGeoMap.doLoadRun(CGeoMap.java:1274)
at cgeo.geocaching.maps.CGeoMap.access$2600(CGeoMap.java:103)
at cgeo.geocaching.maps.CGeoMap$LoadRunnable.runWithMap(CGeoMap.java:1228)
at cgeo.geocaching.maps.CGeoMap$DoRunnable.run(CGeoMap.java:1443)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)

@Lineflyer Lineflyer reopened this Apr 10, 2015
@Lineflyer Lineflyer removed this from the closed without changes milestone Apr 10, 2015
@samueltardieu
Copy link
Member

This is a symptom of a memory full error, which happens right there but could happen at any other place. We should (once again) implement Google Maps API v2 and a newer Mapsforge.

@samueltardieu samueltardieu added the Won't Fix It was decided not to fix this issue label Mar 23, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Issues classified as a bug Google Play or Beta feedback Issues derived from Google Play reporting or beta user feedback Prio - Medium Malfunction of parts of a feature/function. Won't Fix It was decided not to fix this issue
Projects
None yet
Development

No branches or pull requests

4 participants