[dovecot/core] 0585f7: mdbox: "Inconsistency in map index" wasn't fixing ...

GitHub noreply at github.com
Thu Aug 10 14:00:15 EEST 2017


  Branch: refs/heads/master-2.2
  Home:   https://github.com/dovecot/core
  Commit: 0585f7f2f8904bfa776e8ee6ed10738be2fe85bb
      https://github.com/dovecot/core/commit/0585f7f2f8904bfa776e8ee6ed10738be2fe85bb
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-08-10 (Thu, 10 Aug 2017)

  Changed paths:
    M src/lib-storage/index/dbox-multi/mdbox-map.c

  Log Message:
  -----------
  mdbox: "Inconsistency in map index" wasn't fixing itself automatically

Broken by b9da8540e665138b3cad0b637c08c0ab7d7a7eeb


  Commit: 6758aa2c5cf94d2adedc1ac1d570e420142d46d0
      https://github.com/dovecot/core/commit/6758aa2c5cf94d2adedc1ac1d570e420142d46d0
  Author: Aki Tuomi <aki.tuomi at dovecot.fi>
  Date:   2017-08-10 (Thu, 10 Aug 2017)

  Changed paths:
    M src/plugins/virtual/virtual-sync.c

  Log Message:
  -----------
  virtual: Do not store recent flags to virtual index

Setting the flag here would case unnecessary index update
to clear the flag later on.


  Commit: 473574bb4706508f03ef68fa0b17bf13b23b0792
      https://github.com/dovecot/core/commit/473574bb4706508f03ef68fa0b17bf13b23b0792
  Author: Aki Tuomi <aki.tuomi at dovecot.fi>
  Date:   2017-08-10 (Thu, 10 Aug 2017)

  Changed paths:
    M src/plugins/virtual/virtual-sync.c

  Log Message:
  -----------
  virtual: Sync backend flags on initial sync when UIDVALIDITY hasn't changed

Before recent fixes the UIDVALIDITY was thought to change almost every time,
so this bug wasn't visible.


  Commit: 586c11a1bb170a73de237becb36c5b58d69a8c84
      https://github.com/dovecot/core/commit/586c11a1bb170a73de237becb36c5b58d69a8c84
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-08-10 (Thu, 10 Aug 2017)

  Changed paths:
    M src/plugins/push-notification/push-notification-plugin.c

  Log Message:
  -----------
  push-notification: Switch to main ioloop while calling drivers' deinit/cleanup callbacks

Continues a44595f7b1afc7ccbd8653598753b32899d01c76 to other functions.
For example the OX backend would call http_client_wait(), which would move
the I/Os and timeouts to the current ioloop, which might not be main_ioloop
always. When that ioloop gets destroyed, I/O and timeout leaks are logged
and eventually the process crashes when calling http_client_deinit() in
cleanup() (this would happen later for another mail_user).


Compare: https://github.com/dovecot/core/compare/4e97f0131706...586c11a1bb17


More information about the dovecot-cvs mailing list