android-app icon indicating copy to clipboard operation
android-app copied to clipboard

SQLiteConstraintException: UNIQUE constraint failed: ANNOTATION.ANNOTATION_ID (code 2067 SQLITE_CONSTRAINT_UNIQUE)

Open shtrom opened this issue 2 years ago • 1 comments

Issue details

After adding an annotation, the following error started popping up. I'm not sure how to reproduce the cause, but the main issue seems to be that it prevents the app from updating the local sync status: I can add articles, and they get pushed to the Wallabag instance, but marking them read doesn't sync up.

Unknown error android.database.sqlite.SQLiteConstraintException: UNIQUE constraint failed: ANNOTATION.ANNOTATION_ID (code 2067 SQLITE_CONSTRAINT_UNIQUE)
Unknown error
android.database.sqlite.SQLiteConstraintException: UNIQUE constraint failed: ANNOTATION.ANNOTATION_ID (code 2067 SQLITE_CONSTRAINT_UNIQUE)
Stacktrace:
android.database.sqlite.SQLiteConstraintException: UNIQUE constraint failed: ANNOTATION.ANNOTATION_ID (code 2067 SQLITE_CONSTRAINT_UNIQUE)
	at android.database.sqlite.SQLiteConnection.nativeExecuteForLastInsertedRowId(Native Method)
	at android.database.sqlite.SQLiteConnection.executeForLastInsertedRowId(SQLiteConnection.java:961)
	at android.database.sqlite.SQLiteSession.executeForLastInsertedRowId(SQLiteSession.java:790)
	at android.database.sqlite.SQLiteStatement.executeInsert(SQLiteStatement.java:89)
	at org.greenrobot.greendao.AbstractDao.executeInsertInTx(AbstractDao.java:284)
	at org.greenrobot.greendao.AbstractDao.insertInTx(AbstractDao.java:237)
	at org.greenrobot.greendao.AbstractDao.insertInTx(AbstractDao.java:215)
	at fr.gaulupeau.apps.Poche.service.workers.ArticleUpdater.persistCollections(ArticleUpdater.java:797)
	at fr.gaulupeau.apps.Poche.service.workers.ArticleUpdater.processArticles(ArticleUpdater.java:262)
	at fr.gaulupeau.apps.Poche.service.workers.ArticleUpdater.performUpdate(ArticleUpdater.java:198)
	at fr.gaulupeau.apps.Poche.service.workers.ArticleUpdater.update(ArticleUpdater.java:127)
	at fr.gaulupeau.apps.Poche.service.workers.ArticleUpdateWorker.updateArticles(ArticleUpdateWorker.java:77)
	at fr.gaulupeau.apps.Poche.service.workers.ArticleUpdateWorker.update(ArticleUpdateWorker.java:37)
	at fr.gaulupeau.apps.Poche.service.tasks.UpdateArticlesTask.run(UpdateArticlesTask.java:17)
	at fr.gaulupeau.apps.Poche.service.tasks.ActionRequestTask.run(ActionRequestTask.java:25)
	at fr.gaulupeau.apps.Poche.service.-$$Lambda$0cveUIqKhxWljSld0gpOhfhYfj0.run(Unknown Source:2)
	at fr.gaulupeau.apps.Poche.service.TaskService.run(TaskService.java:162)
	at fr.gaulupeau.apps.Poche.service.TaskService.lambda$PgumDII_lptJcUDKRD70B1M_ER8(Unknown Source:0)
	at fr.gaulupeau.apps.Poche.service.-$$Lambda$TaskService$PgumDII_lptJcUDKRD70B1M_ER8.run(Unknown Source:2)
	at java.lang.Thread.run(Thread.java:1012)

Duplicate?

Have you searched the issues of this repository if your issue is already known? yes

Actual behaviour

  • Error is shown as notification, the error seems fatal
  • Read status not synced up

Expected behaviour

  • Non fatal error is shown as notification, with some way to fix
  • Read status still synced up

Steps to reproduce the issue

Unfortunately, I don't know, but I'm gonna have a look around the DB to see if there is a smoking gun

Environment details

  • wallabag app version: 2.4.3
  • wallabag app installation source (e.g. Gplay, F-Droid, manual): F-Droid
  • Android OS version: 13
  • Android ROM (e.g. stock, LineageOS, SlimRom,…): stock
  • Android hardware: Pixel 6a
  • wallabag server version: 2.5.4
  • Do you have Two-Factor-Authentication enabled?: no

Logs

I don't think server logs are relevant.

Your experience with wallabag Android app

Loving it!

shtrom avatar Apr 10 '23 07:04 shtrom

Ok, I just delete from annotation; and hoped for the best. After pushing back to the device and starting the app, the error is gone.

I am now trying a full update to see if the annotations come back.

shtrom avatar Apr 10 '23 12:04 shtrom