CursorWindowAllocationException: Cursor window allocation of 2048 kb failed.

2019-10-31 09:50:08  阅读 7136 次 评论 0 条

Android操作数据库崩溃

android.database.CursorWindowAllocationException: Cursor window allocation of 2048 kb failed. # Open Cursors=1 (# cursors opened by this proc=1)

可能原因:

代码中对insert、query等操作有做同步,但是query完成之后在遍历查询结果时cursor还在使用,没有close,而此处没做同步。这时其它线程又执行了insert操作,导致报此异常。

解决方法:

给整个查询操作都加上同步,即cusor没close前也不许做其它操作,经测试,不再崩了。


崩溃日志

2019-10-29 09:57:22.699 524-628/? E/connsyslogger: Bootup Log: 0 log files! 
2019-10-29 09:57:25.097 509-1619/? E/MP3Extractor: Unable to resync. Signalling end of stream.
2019-10-29 09:57:26.500 509-1619/? E/MP3Extractor: Unable to resync. Signalling end of stream.
2019-10-29 09:57:26.506 509-1619/? E/MP3Extractor: Unable to resync. Signalling end of stream.
2019-10-29 09:57:32.699 524-628/? E/connsyslogger: Bootup Log: 0 log files! 
2019-10-29 09:57:42.699 524-628/? E/connsyslogger: Bootup Log: 0 log files! 
2019-10-29 09:57:45.494 7752-7856/? E/SQLiteLog: (14) cannot open file at line 35807 of [553a923c82]
2019-10-29 09:57:45.494 7752-7856/? E/SQLiteLog: (14) os_unix.c:35807: (24) open(/storage/emulated/0/.demo/demo.db-journal) - 
2019-10-29 09:57:45.495 7752-7856/? E/g: unable to open database file (code 14)
2019-10-29 09:57:45.501 7752-7791/? E/SharedPreferencesImpl: Couldn't create directory for SharedPreferences file /data/user/0/com.demo.test/shared_prefs/notify_sync_pref.xml
2019-10-29 09:57:45.513 7752-8062/? E/CursorWindow: Could not allocate CursorWindow '/storage/emulated/0/.demo/demo.db' of size 2097152 due to error -24.
2019-10-29 09:57:45.514 7752-8062/? E/g: Cursor window allocation of 2048 kb failed. # Open Cursors=1 (# cursors opened by this proc=1)
2019-10-29 09:57:45.532 7752-8058/? E/CursorWindow: Could not allocate CursorWindow '/storage/emulated/0/.demo/demo.db' of size 2097152 due to error -24.
2019-10-29 09:57:45.534 7752-8058/? E/AndroidRuntime: FATAL EXCEPTION: Timer-4
    Process: com.demo.test, PID: 7752
    android.database.CursorWindowAllocationException: Cursor window allocation of 2048 kb failed. # Open Cursors=1 (# cursors opened by this proc=1)
        at android.database.CursorWindow.<init>(CursorWindow.java:108)
        at android.database.AbstractWindowedCursor.clearOrCreateWindow(AbstractWindowedCursor.java:198)
        at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:140)
        at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:134)
        at android.database.AbstractCursor.moveToPosition(AbstractCursor.java:220)
        at android.database.AbstractCursor.moveToNext(AbstractCursor.java:275)
        at java.util.TimerThread.mainLoop(Timer.java:555)
        at java.util.TimerThread.run(Timer.java:505)
2019-10-29 09:57:45.536 7752-9049/? E/NativeCrypto: AppData::create pipe(2) failed: Too many open files
2019-10-29 09:57:45.538 7752-9049/? E/AndroidRuntime: FATAL EXCEPTION: OkHttp Dispatcher
    Process: com.demo.test, PID: 7752
    java.lang.RuntimeException: javax.net.ssl.SSLException: Unable to create application data
        at com.android.org.conscrypt.ConscryptFileDescriptorSocket.newSsl(ConscryptFileDescriptorSocket.java:161)
        at com.android.org.conscrypt.ConscryptFileDescriptorSocket.<init>(ConscryptFileDescriptorSocket.java:152)
        at com.android.org.conscrypt.OpenSSLSocketFactoryImpl.createSocket(OpenSSLSocketFactoryImpl.java:149)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
        at java.lang.Thread.run(Thread.java:764)
     Caused by: javax.net.ssl.SSLException: Unable to create application data
        at com.android.org.conscrypt.NativeCrypto.SSL_new(Native Method)
        at com.android.org.conscrypt.SslWrapper.newInstance(SslWrapper.java:58)
        at com.android.org.conscrypt.ConscryptFileDescriptorSocket.newSsl(ConscryptFileDescriptorSocket.java:159)
        at com.android.org.conscrypt.ConscryptFileDescriptorSocket.<init>(ConscryptFileDescriptorSocket.java:152) 
        at com.android.org.conscrypt.OpenSSLSocketFactoryImpl.createSocket(OpenSSLSocketFactoryImpl.java:149) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) 
        at java.lang.Thread.run(Thread.java:764) 
2019-10-29 09:57:45.549 7752-7856/? E/SQLiteLog: (14) cannot open file at line 35807 of [553a923c82]
2019-10-29 09:57:45.549 7752-7856/? E/SQLiteLog: (14) os_unix.c:35807: (24) open(/storage/emulated/0/.demo/demo.db-journal) - 
2019-10-29 09:57:45.549 7752-7856/? E/g: unable to open database file (code 14)
2019-10-29 09:57:45.550 7752-8062/? E/CursorWindow: Could not allocate CursorWindow '/storage/emulated/0/.demo/demo.db' of size 2097152 due to error -24.
2019-10-29 09:57:45.550 7752-8062/? E/g: Cursor window allocation of 2048 kb failed. 
2019-10-29 09:57:45.745 391-1578/? E/SurfaceFlinger: Failed to find layer (com.demo.test/com.demo.test.ui.LauncherUI#0) in layer parent (no-parent).
2019-10-29 09:57:46.156 339-339/? E/SELinux: avc:  denied  { find } for service=persistent_data_block pid=9053 uid=10115 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:persistent_data_block_service:s0 tclass=service_manager permissive=0
2019-10-29 09:57:46.420 9072-9072/? E/VA++: Enter init before all.
2019-10-29 09:57:46.421 9072-9072/? A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x4 in tid 9072 (dex2oat), pid 9072 (dex2oat)
2019-10-29 09:57:46.455 9075-9075/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2019-10-29 09:57:46.456 9075-9075/? A/DEBUG: Build fingerprint: 'xiaomi/cactus/cactus:8.1.0/O11019/V10.2.2.0.OCBCNXM:user/release-keys'
2019-10-29 09:57:46.456 9075-9075/? A/DEBUG: Revision: '0'
2019-10-29 09:57:46.456 9075-9075/? A/DEBUG: ABI: 'arm'
2019-10-29 09:57:46.456 9075-9075/? A/DEBUG: pid: 9072, tid: 9072, name: dex2oat  >>> /system/bin/dex2oat <<<
2019-10-29 09:57:46.456 9075-9075/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x4
2019-10-29 09:57:46.456 9075-9075/? A/DEBUG: Cause: null pointer dereference
2019-10-29 09:57:46.456 9075-9075/? A/DEBUG:     r0 a5d98ee0  r1 00000000  r2 00000000  r3 a5d8351c
2019-10-29 09:57:46.457 9075-9075/? A/DEBUG:     r4 0000002f  r5 0000003c  r6 a6d723b8  r7 be903d00
2019-10-29 09:57:46.457 9075-9075/? A/DEBUG:     r8 a5d98ec0  r9 0000001d  sl a5dad000  fp a5d98ea0
2019-10-29 09:57:46.457 9075-9075/? A/DEBUG:     ip a6096d5c  sp be903cb0  lr a606d435  pc a6d01d36  cpsr 60010030
2019-10-29 09:57:46.461 9075-9075/? A/DEBUG: backtrace:
2019-10-29 09:57:46.461 9075-9075/? A/DEBUG:     #00 pc 0003cd36  /data/app/com.demo.test-Na9co-xJbmsEf7wA2fNt1Q==/lib/arm/libva++.so (add_replace_item(char const*, char const*)+145)
2019-10-29 09:57:46.461 9075-9075/? A/DEBUG:     #01 pc 000387a7  /data/app/com.demo.test-Na9co-xJbmsEf7wA2fNt1Q==/lib/arm/libva++.so (IOUniformer::init_env_before_all()+530)
2019-10-29 09:57:46.461 9075-9075/? A/DEBUG:     #02 pc 000135dd  /system/bin/linker (__dl__ZL13call_functionPKcPFviPPcS2_ES0_+68)
2019-10-29 09:57:46.461 9075-9075/? A/DEBUG:     #03 pc 000134b5  /system/bin/linker (__dl__ZN6soinfo17call_constructorsEv+336)
2019-10-29 09:57:46.461 9075-9075/? A/DEBUG:     #04 pc 000133d7  /system/bin/linker (__dl__ZN6soinfo17call_constructorsEv+114)
2019-10-29 09:57:46.461 9075-9075/? A/DEBUG:     #05 pc 00010077  /system/bin/linker (__dl___linker_init+2406)
2019-10-29 09:57:46.461 9075-9075/? A/DEBUG:     #06 pc 00014f6c  /system/bin/linker (_start+4)
2019-10-29 09:57:46.505 9076-9076/? E/AEE_AED: Skipped - do not care third party apk
2019-10-29 09:57:46.506 9075-9075/? E/crash_dump32: cannot open libmiuindbg.so: No such file or directory
2019-10-29 09:57:46.973 9077-9077/? E/VA++: Enter init before all.
2019-10-29 09:57:46.973 9077-9077/? A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x4 in tid 9077 (dex2oat), pid 9077 (dex2oat)
2019-10-29 09:57:47.005 9080-9080/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2019-10-29 09:57:47.006 9080-9080/? A/DEBUG: Build fingerprint: 'xiaomi/cactus/cactus:8.1.0/O11019/V10.2.2.0.OCBCNXM:user/release-keys'
2019-10-29 09:57:47.006 9080-9080/? A/DEBUG: Revision: '0'
2019-10-29 09:57:47.006 9080-9080/? A/DEBUG: ABI: 'arm'
2019-10-29 09:57:47.006 9080-9080/? A/DEBUG: pid: 9077, tid: 9077, name: dex2oat  >>> /system/bin/dex2oat <<<
2019-10-29 09:57:47.006 9080-9080/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x4
2019-10-29 09:57:47.006 9080-9080/? A/DEBUG: Cause: null pointer dereference
2019-10-29 09:57:47.007 9080-9080/? A/DEBUG:     r0 ad198ee0  r1 00000000  r2 00000000  r3 ad18351c
2019-10-29 09:57:47.007 9080-9080/? A/DEBUG:     r4 0000002f  r5 0000003c  r6 ad52e3b8  r7 beea2d00
2019-10-29 09:57:47.007 9080-9080/? A/DEBUG:     r8 ad198ec0  r9 0000001d  sl ad1ad000  fp ad198ea0
2019-10-29 09:57:47.007 9080-9080/? A/DEBUG:     ip ad7e7d5c  sp beea2cb0  lr ad7be435  pc ad4bdd36  cpsr 60010030
2019-10-29 09:57:47.011 9080-9080/? A/DEBUG: backtrace:
2019-10-29 09:57:47.011 9080-9080/? A/DEBUG:     #00 pc 0003cd36  /data/app/com.demo.test-Na9co-xJbmsEf7wA2fNt1Q==/lib/arm/libva++.so (add_replace_item(char const*, char const*)+145)
2019-10-29 09:57:47.011 9080-9080/? A/DEBUG:     #01 pc 000387a7  /data/app/com.demo.test-Na9co-xJbmsEf7wA2fNt1Q==/lib/arm/libva++.so (IOUniformer::init_env_before_all()+530)
2019-10-29 09:57:47.011 9080-9080/? A/DEBUG:     #02 pc 000135dd  /system/bin/linker (__dl__ZL13call_functionPKcPFviPPcS2_ES0_+68)
2019-10-29 09:57:47.011 9080-9080/? A/DEBUG:     #03 pc 000134b5  /system/bin/linker (__dl__ZN6soinfo17call_constructorsEv+336)
2019-10-29 09:57:47.011 9080-9080/? A/DEBUG:     #04 pc 000133d7  /system/bin/linker (__dl__ZN6soinfo17call_constructorsEv+114)
2019-10-29 09:57:47.011 9080-9080/? A/DEBUG:     #05 pc 00010077  /system/bin/linker (__dl___linker_init+2406)
2019-10-29 09:57:47.011 9080-9080/? A/DEBUG:     #06 pc 00014f6c  /system/bin/linker (_start+4)
2019-10-29 09:57:47.055 9081-9081/? E/AEE_AED: Skipped - do not care third party apk
2019-10-29 09:57:47.056 9080-9080/? E/crash_dump32: cannot open libmiuindbg.so: No such file or directory
2019-10-29 09:57:47.657 969-2119/? E/TouchFilter: setTouchFilter LOG Enable prameter: 0
	


本文地址:http://www.bloguan.com/?id=554
版权声明:本文为原创文章,版权归 博观网 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?