You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
When querying a collection you get the error: State condition failed in table:60
The problem occurs when the paging limit is greater than 1. When the paging limit is 1 it has no problem.
Basic info (please complete the following information):
ObjectBox version: 2.9.1
Reproducibility: always on a single computer (database), on other computers (databases) it does not happen
Caused by: java.lang.IllegalStateException: State condition failed in table:60: object
at io.objectbox.query.Query.nativeFind(Native Method)
at io.objectbox.query.Query.lambda$find$3(Query.java:230)
at io.objectbox.BoxStore.callInReadTx(BoxStore.java:897)
at io.objectbox.BoxStore.callInReadTxWithRetry(BoxStore.java:843)
at io.objectbox.query.Query.callInReadTx(Query.java:292)
at io.objectbox.query.Query.find(Query.java:229)
Additional context
We have had to rebuild the entire database to fix the problem, but we are concerned about it happening again.
Thanks for the code snippet. We have not found the specific cause, yet, but are tracking this internally and will update this issue once we have more info.
Reproducibility: always on a single computer (database), on other computers (databases) it does not happen
Are any things special for this computer?
Also, the code seems to be triggered in 32-bit only code. Thus, this PC seems to be running the 32-bit version of the lib. Does that match the actual CPU?
We have upgraded to 3.1.3 as you say and the stacktrace shows a different message:
Caused by: java.lang.IllegalStateException: State condition failed in visitMatchesOrdered:221: id != lastId
at io.objectbox.query.Query.nativeFind(Native Method)
at io.objectbox.query.Query.lambda$find$3(Query.java:235)
at io.objectbox.BoxStore.callInReadTx(BoxStore.java:936)
at io.objectbox.BoxStore.callInReadTxWithRetry(BoxStore.java:882)
at io.objectbox.query.Query.callInReadTx(Query.java:297)
at io.objectbox.query.Query.find(Query.java:234)
Activity
ivahnenkoAnna commentedon Apr 22, 2022
Thanks for the report. We're looking into this and will reply as soon as possible.
asegurpe commentedon Apr 22, 2022
I await with curiosity the resolution of the bug.
Thank you very much Anna 😀
greenrobot-team commentedon Apr 25, 2022
Thanks for the code snippet. We have not found the specific cause, yet, but are tracking this internally and will update this issue once we have more info.
greenrobot commentedon May 2, 2022
Are any things special for this computer?
Also, the code seems to be triggered in 32-bit only code. Thus, this PC seems to be running the 32-bit version of the lib. Does that match the actual CPU?
asegurpe commentedon May 2, 2022
No, this computer is not special and the process runs on the 32-bit platform because of other 32-bit dll dependencies.
So far it has only happened on this computer but we can't be sure that it can't happen on others in the future.
Thanks.
greenrobot commentedon May 2, 2022
Thanks. Still trying to reproduce this... So far no luck...
asegurpe commentedon May 3, 2022
Thanks again for your help.
As I said, it has only happened to us once on a production computer but we cannot share the database due to confidentiality.
What we have seen is:
greenrobot-team commentedon May 11, 2022
@asegurpe Thanks for these details! The new
3.1.3release adds additional information to error messages that might help us diagnose this issue.asegurpe commentedon May 12, 2022
Hi,
We have upgraded to 3.1.3 as you say and the stacktrace shows a different message:
Thanks.
greenrobot commentedon May 12, 2022
Thanks; interestingly it now fails a different location. Which is not exactly expected... Can you confirm that from your side, nothing changed?
asegurpe commentedon May 12, 2022
Yes, it is the same code and the same database.
Thanks.