[RCU] Help Troubleshooting Caching Problem

Aaron C. de Bruyn aaron at heyaaron.com
Sun Oct 11 22:23:08 CEST 2009

I'm looking for a little guidance troubleshooting a caching problem.

I have an old linux box (2 GHz / 512 MB RAM) setup for a client running
postfix, dovecot, and roundcube.

They ran RoundCube 0.2 for a year without reporting any issues.
I recently upgraded them to RoundCube 0.3 (which they love by the way)
and they started reporting this strange issue:

UserA would login, check their mail, read/reply and delete everything in
their inbox.

UserA would stay logged in throughout the day.

At some point, a new message or messages would arrive for UserA.

According to the mail logs, the message(s) would be correctly delivered
into UserA's inbox via Dovecot's deliver app.

UserA would not see the message in RC.  UserA would try hitting
send/receive, switch to different folders and then back to the
inbox, and even logging out/logging back in.  The message would
still not show up in RC.

At some point, one of two things happens that resolves the issue:
* UserA waits for a while (a few minutes to a few days) and the message
  suddenly appears.
* UserA sends a new message to someone (anyone) and after it's sent
  the missing message(s) immediately show up in their inbox.

A few things I have checked:
* Not on an NFS filesystem.  Mail is stored on a local ext3 partition.
* While UserA is not seeing the new messages, I have verified the messages
  actually exist and have the correct permissions on the filesystem.
* cleared the 'cache', 'messages', and 'session' tables in the RC database.
* Mail logs definitely show messages arriving and being delivered even though
  I can't see the message in RC.
* If I have both RC and Thunderbird open at the same time, I can see the
  message immediately in Thunderbird, but not RC.

Disabling RC's caching via $rcmail_config['enable_caching'] = FALSE;
fixes the problem and prevents it from happening again.

I'm stumped on the next step.
I have no problem leaving caching disabled because none of our users have
more than 100 messages in any one folder and RC is running on the same
machine that dovecot is running on.

But I would like to figure out if this is something I screwed up, or
maybe something in the RC code.

Any pointers on what to check next?  (I'm not that familiar with the
RC code, but I can do some PHP hacking/debugging if needed.)

Thanks for everyone's hard work by the way.  RoundCube is the best open source
webmail app I have ever used.

List info: http://lists.roundcube.net/users/

More information about the users mailing list