← Back to team overview

ubuntu-sdk-bugs team mailing list archive

[Bug 1576989] [NEW] stale lock files freeze apps

 

Public bug reported:

Debugging why the Notes app would freeze for some people, I found there
were some stale .lock files around. Those .lock files are autocreated by
QSettings (with QLockFile) when this file is edited. Problem is, that it
sometimes seems to happen that the app is suspended by our lifecycle and
then killed (either by closing from spread or OOM killed) and those
.lock files stick around. I have implemented a workaround in the notes
app to clear up those stale locks when the app starts app, however,
today I ran twice in a row into the issue that the very same happened to
music app. It would just freeze on startup and never come back. Digging
around a bit I found such a stale lock file on its config file which is
created with the QML Settings element. This implies that every app using
QSettings or QML Settings {} are potentially affected. I suspect many
more app freezes can be traced down to this.

Now, there is some code in Qt to detect stale lock files, however, not
sure why it doesn't detect those lock files as stale ones and decides to
wait on them forever though.

** Affects: canonical-devices-system-image
     Importance: Undecided
         Status: New

** Affects: qtbase-opensource-src (Ubuntu)
     Importance: Undecided
         Status: New

** Project changed: canonical-devices-system-image => qtbase-opensource-
src (Ubuntu)

** Also affects: canonical-devices-system-image
   Importance: Undecided
       Status: New

** Description changed:

  Debugging why the Notes app would freeze for some people, I found there
  were some stale .lock files around. Those .lock files are autocreated by
- QSettings (with QLockFile) when this file is edited. Problems is, that
- it sometimes seems to happen that the app is suspended by our lifecycle
- and then killed (either by closing from spread or OOM killed) and those
+ QSettings (with QLockFile) when this file is edited. Problem is, that it
+ sometimes seems to happen that the app is suspended by our lifecycle and
+ then killed (either by closing from spread or OOM killed) and those
  .lock files stick around. I have implemented a workaround in the notes
  app to clear up those stale locks when the app starts app, however,
  today I ran twice in a row into the issue that the very same happened to
  music app. It would just freeze on startup and never come back. Digging
  around a bit I found such a stale lock file on its config file which is
  created with the QML Settings element. This implies that every app using
  QSettings or QML Settings {} are potentially affected. I suspect many
  more app freezes can be traced down to this.
  
  Now, there is some code in Qt to detect stale lock files, however, not
  sure why it doesn't detect those lock files as stale ones and decides to
  wait on them forever though.

-- 
You received this bug notification because you are a member of Ubuntu
SDK bug tracking, which is subscribed to qtbase-opensource-src in
Ubuntu.
https://bugs.launchpad.net/bugs/1576989

Title:
  stale lock files freeze apps

Status in Canonical System Image:
  New
Status in qtbase-opensource-src package in Ubuntu:
  New

Bug description:
  Debugging why the Notes app would freeze for some people, I found
  there were some stale .lock files around. Those .lock files are
  autocreated by QSettings (with QLockFile) when this file is edited.
  Problem is, that it sometimes seems to happen that the app is
  suspended by our lifecycle and then killed (either by closing from
  spread or OOM killed) and those .lock files stick around. I have
  implemented a workaround in the notes app to clear up those stale
  locks when the app starts app, however, today I ran twice in a row
  into the issue that the very same happened to music app. It would just
  freeze on startup and never come back. Digging around a bit I found
  such a stale lock file on its config file which is created with the
  QML Settings element. This implies that every app using QSettings or
  QML Settings {} are potentially affected. I suspect many more app
  freezes can be traced down to this.

  Now, there is some code in Qt to detect stale lock files, however, not
  sure why it doesn't detect those lock files as stale ones and decides
  to wait on them forever though.

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1576989/+subscriptions


Follow ups