-
-
Notifications
You must be signed in to change notification settings - Fork 52
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
crash in core, sqlite3_step(), probably related to sqlx #1129
Comments
This looks like SQLite statement is used after finalizing it. New PR is very likely to work around this issue, because it re-enables statement cache, which means the statements will be finalized much later than their use stops. |
hm, it crashed again. https://gist.github.com/r10s/6f9203f52258ad72667acbf41863a075 i will double-check, that i was really using the updated code. also, having a closer look, it seems to be related to |
Could be related: launchbadge/sqlx#634 |
got a crash again, https://gist.github.com/r10s/1f8a9e93b8f8e9acf477fb3d5611e68f - interesting bit, also for the crash reported above is that the two "wakeup" entry points are called roughly at the same time:
this was also true on rusqlite, however, maybe this causes problems now as nearly the same code is executed at the same time (startIo, followed by maybeNetwork, then the fetching). otoh, log looks good at a first glance, the second startIo call is ignored. unfortunately, the log is not that helpful as it misses the minutes before the crash :/ bugs everywhere, here in the debug toolkit ... or i missed sth. |
Probably fixed by deltachat/deltachat-core-rust#2336 as the statements will be kept around in the cache for a while and unlikely to be finalized before the last |
the fix runs on ios for more than 13h uptime now, i think, we can consider this issue as being fixed :) thanks again for fixing, @link2xt |
reopening as i got a crash again, much less often as before, indeed. and ios is also kind of stressing core due to #1085, maybe crashes disappear completely when #1085 is fixed. but at the end, there is still an open issue with sqlx. recent stack: https://gist.github.com/r10s/d868357fa320b814ef89ef688196b70e (log incomplete, see #1131) |
did not get any more crashes with the force-persistent queries, closing and fingers crossed ... |
i still get these crashes regularily, since 1.53 (shared cache enabled) not in the background but when the app is tapped by the user and comes from background to foreground - things get stale and the app disappears after 3 seconds. unfortunately, there is no log written, eg. DBDebugToolkit stays empty - so it is questionable, if these crashes really reach the testflight stats. i double-checked by switching back to core51 using rusqlite - and i did not get any crash since then (in a timeframe where i got usually at least 2) also, i can say that on my iphone7, the whole app feels more reposible, somehow, things get less fluid and more blocking between core52 and core53 (that enabled the shared cache) |
since we switched back to rusqlite, we can close this issue for now |
It may also be fixed by launchbadge/sqlx#1186 |
i got the crash-mutant reported at #1129 (comment) once with launchbadge/sqlx#1186 in - however, as there is no log written, it is hard to tell, how and if that is related to sqlx directly - but it did never happen with rusqlite. EDIT, a week later: still not seeing the crashes in rusqlite, so that really seems to be related to sqlx and was not fixed, only mitigated somehow. |
i encountered some crashes the last days, all similar to https://gist.github.com/r10s/f88d4305a8cbaf91861b3b0298e60a5f (i have more logs, if needed)
there is a pr on sqlx that is also related to fetching, launchbadge/sqlx#1156, might be that issue.
The text was updated successfully, but these errors were encountered: