lingochamp / lingochamp/FileDownloader

SQLiteDatabaseLockedException 1.7.5版本崩溃

Open
#1,432 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
11.1k
Forks
2.2k
PR merge metrics
No merged PRs in 30d

Description

老师您好:
我在使用1.7.5版本的时候发生了多次上报的崩溃现象,我是在单任务执行的情况下同时下载两个文件。日志如下 该问题主要集中在4.2.2和4.4.2中,还有我在下载过程中会有个极小概率的crash空指针问题,是否会对此造成影响
Caused by: android.database.sqlite.SQLiteDatabaseLockedException: database is locked (code 5)
2.at android.database.sqlite.SQLiteConnection.nativeExecuteForChangedRowCount(Native Method)
3.at android.database.sqlite.SQLiteConnection.executeForChangedRowCount(SQLiteConnection.java:734)
4.at android.database.sqlite.SQLiteSession.executeForChangedRowCount(SQLiteSession.java:754)
5.at android.database.sqlite.SQLiteStatement.executeUpdateDelete(SQLiteStatement.java:64)
6.at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1674)
7.at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1603)
8.at com.networkbench.agent.impl.instrumentation.NBSSQLiteInstrumentation.execSQL(SourceFile:2)
9.at com.liulishuo.filedownloader.h0.d.q(SourceFile:1)
10.at com.liulishuo.filedownloader.h0.c.z(SourceFile:5)
11.at com.liulishuo.filedownloader.h0.c.v(SourceFile:1)
12.at com.liulishuo.filedownloader.h0.c$a.handleMessage(SourceFile:6)
13.at android.os.Handler.dispatchMessage(Handler.java:95)
14.at android.os.Looper.loop(Looper.java:137)
15.at android.os.HandlerThread.run(HandlerThread.java:61)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing two simultaneous downloads on Android 4.2.2 and 4.4.2, then trace the reported stack from h0.d.q through h0.c and its Handler message handling. Confirm whether the SQLiteDatabaseLockedException can be reproduced and determine whether the separately mentioned null-pointer crash is related; done means both failure conditions are understood and separately addressed.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java, sqlite
Domain
databases, mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.