Mailbox does not exist
Just recently when I try to access my mail using either the Communications Express web interface, or via a mail client such as Thunderbird, when I try to operate on messages in any of my folders I get a message that "Mailbox does not exist".
I'm still receiving E-mail, if I run a hashdir, the path is returned. If I look in my message store all the messages are there. I've gone as far as trying to run a reconstruct on my mailbox -- which ran without errors, but nothing seems to work.
I'm the only user having this problem, but I worry it may spread.
Any suggestions?
-- Bob
[611 byte] By [
rkbuncaa] at [2007-11-27 0:50:55]

# 1
Hi,
Does this problem happen for one/some/all folders?
Are there any errors in your IMAP & HTTP logs around the time of your attempt to access the folder?
Do you get the error messages when using Messenger Express to access the folders?
When you run a reconstruct on your account (reconstruct -r user/<username>) are all the folders listed?
Have you checked the permissions of your account on disk (especially directory permissions) -- have these been changed from other accounts?
Did you make any 'manual' changes (on the system hosting the account) to your account recently, restore email into it or something of that nature?
Have there been any "events" around the time when the problem first showed up (OS/hardware level such as file-system problems, messaging server process core dumps, crashes on your client PC etc.)
Regards,
Shane.
# 2
> Does this problem happen for one/some/all folders?
Yes, but as far as I know it's only happening on my account. No other user has reported a similar problem.
> Are there any errors in your IMAP & HTTP logs around the time of
> your attempt to access the folder?
No, neither on Messenger Express (ME) logs or those on the messaging
server which I find VERY odd.
> Do you get the error messages when using Messenger Express to access
> the folders?
Yes.
> When you run a reconstruct on your account (reconstruct -r
> user/<username>) are all the folders listed?
Yes.
> Have you checked the permissions of your account on disk (especially
> directory permissions) -- have these been changed from other
> accounts?
Yes, and no.
> Did you make any 'manual' changes (on the system hosting the
> account) to your account recently, restore email into it or
> something of that nature?
No.
> Have there been any "events" around the time when the problem first
> showed up (OS/hardware level such as file-system problems, messaging
> server process core dumps, crashes on your client PC etc.)
Not to my knowledge. I noticed it recently when I went to verify ME
was running. Normally I have my mail forwarded to a different
server. I temporarily suspended forwarding and messages were stored on the
message store. I went to delete them using ME and got the pop-up window
saying the mailbox did not exist. I tried using a mail client (Thunderbird) and saw the same thing.
What is really odd is that I found I can move messages from the Inbox to
say Drafts, but can't delete them their either.
-- Bob
# 3
More things to check. . .
When you run "reconstruct -r" on your account, are any errors reported? If you immediately re-run the reconstruct, are those errors reported again?
If reconstruct reports errors, but does not fix them, that can be caused by having some of the message files in incorrect hash directories. . .
Also, there is a limit on the maximum size Messaging can support for the store.idx file. Check that it's not 2 gig....
# 4
> When you run "reconstruct -r" on your account, are any errors
> reported? If you immediately re-run the reconstruct, are those errors
> reported again?
>
> If reconstruct reports errors, but does not fix them, that can be
> caused by having some of the message files in incorrect hash
> directories. . .
No errors have ever been reported.
> Also, there is a limit on the maximum size Messaging can support for
> the store.idx file. Check that it's not 2 gig....
I don't that's a problem... ;-)
-rw-1 mailsrv mail44764 Apr 13 08:33 store.idx
# 5
Hm.
More things to check. It's possible for you to have more than one mailbox, depending on some mis-configurations.
Check for your account at "user@yourdomain" as well as "user"
If your mail address is in the default domain, you should only have the simple version, and the other one can cause the server some confusion.
If you're in the default domain, you should always login as "uid", not as "uid@domain".
Also, check your ldap record (the one for you, specifically). Make sure that "mailhost" is the box your mail is on, and not an alias for that box. Check that "mailMessageStore" is the partition's name where your account exists. Not the path, but the "nickname" for the partition. If you only have one, likely, it's "primary".
# 6
> ...the simple version, and the other one can cause the server some
> confusion.
>
> If you're in the default domain, you should always login as "uid", not
> as "uid@domain".
I'm in the default domain, and have never logged in using the form
uid@domain.
> Also, check your ldap record (the one for you, specifically). Make
> sure that "mailhost" is the box your mail is on, and not an alias
> for that box.
The value of mailhost is the hostname of the messaging server. I
checked the field on another user who is not having the same problem I
am and it's the same value.
> Check that "mailMessageStore" is the partition's name where your
> account exists. Not the path, but the "nickname" for the
> partition. If you only have one, likely, it's "primary".
Alas, none of the LDAP records have the field "mailMessageStore".
# 7
One more thing to try. If this doesn't work, time to open a support case.reconstruct -mthis will take a while, but may fix the database.
# 8
One question about the reconstruct, the command description doesn't say it, but I'm assuming server can be active while the reconstruct is running?
# 9
Yes, the server should be active. At the very least, stored MUST be running.
# 10
Hi,
The only other thing I can think that may be causing this issue is a problem with your domain definition. A customer had a similar issue because they had incorrectly defined their o=internet dc entry so that the entry was both an alias to the default domain and a full domain at the same time.. a definite no-no.
This resulted in the initial log-in working, but as you reported, accessing folders etc. caused errors because the server was trying to access "uid@domain/folder" rather then just "uid/folder".
Why this should only be affecting your account I don't know.
What you could still try is:
1. run truss on your mshttpd process on the _backend_ mailstore (hopefully you only have one otherwise its a bit of a gamble) truss -o /tmp/data -p <mshttpd pid>
2. Log into the _backend_ mailstore mshttpd (take any MEM's/MMP's out of the equation)
3. Access the Drafts folder or whatever causes the error
4. Stop the truss
5. Look for the "open" of the store.idx folder for the Drafts folder in /tmp/data e.g.
/453:open("/opt/SUNWmsgsr/data/store/partition/primary/=user/60/d6/=user001/=+Drafts/store.idx", O_RDWR) = 31
Does this folder exist? Does the open succeed?
Compare this to the open for your INBOX.
If nothing comes from this.. log a support case as Jay already said.
Regards,
Shane.
# 11
Jay:
Good news the "reconstruct -m" worked! I don't know if it's my imagination, but response time both in Messenger Express and my client seemed faster. Is this something which should be done on a regular basis?
Shane:
I checked and our domain: unca.edu, is not an alias. Also, I didn't have a problem receiving mail, accessing folders, or operating on folders, except I couldn't delete any mail. That's when I'd get the "mailbox does not exist" message. I'm unsure how I'd run truss on the mshttpd as you intimated there are more than just one running.
Thanks...
# 12
> Jay:
>
> Good news the "reconstruct -m" worked! I don't know
> if it's my imagination, but response time both in
> Messenger Express and my client seemed faster. Is
> this something which should be done on a regular
> basis?
Personally I wouldn't be running reconstruct -m unless I had a good reason to. You need to weigh up the fact that reconstruct -m *could* trample an existing good account (since it runs over all accounts on the system) vs. what it can fix (in this case one account).
Also I used to run reconstruct -r across the system first. This would just make sure that the store.idx files etc. that were being imported back into the master database were 'clean'.
> Shane:
>
> I checked and our domain: unca.edu, is not an alias.
> Also, I didn't have a problem receiving mail,
> accessing folders, or operating on folders, except I
> couldn't delete any mail. That's when I'd get the
> "mailbox does not exist" message. I'm unsure how I'd
> run truss on the mshttpd as you intimated there are
> more than just one running.
Well if you had four processes for example, I suppose you could run truss 4 times in parallel, once for each PID (being outputted to different filenames).
Regards,
Shane.
# 13
> Personally I wouldn't be running reconstruct -m unless I had a good
> reason to. You need to weigh up the fact that reconstruct -m *could*
> trample an existing good account (since it runs over all accounts on
> the system) vs. what it can fix (in this case one account).
>
> Also I used to run reconstruct -r across the system first. This
> would just make sure that the store.idx files etc. that were being
> imported back into the master database were 'clean'.
I'm beginning to wonder about the wisdom of doing a "reconstruct -m"
as I now have another user who when she logs in using Communications
Express (CE) she sees this popup:
http://www.cs.unca.edu/~benites/detached/att348d5.jpg
The message on the popup is: Invalid mailbox name
She is able to access her mail and operate normally using Outlook just
fine but when she clicks on the "OK" on the popup, the CE session is
essentially dead, she doesn't see her inbox, calendar, etc.
The problem which started this thread was that while I could
authenticate, send/receive messages just fine, I couldn't delete
them. When I tried, both in CE and the client (Thunderbird) I was
using, I'd see a popup with the message "Mailbox does not exist."
A couple of questions:
1. Jay, you recommended a "reconstruct -m", Shane you said you'd do a
"reconstruct -r" first. If I understand you, I'd do a "reconstruct
-r" first, then do the "reconstruct -m". I'm unsure that if I do
the -r, over the entire partition if it is then recommended I
follow it up with a -m? If I do a -r on a user mailbox and it fixes
the user's problem, then I'm assuming I should stop there.
2. I was looking at part of the syntax of the reconstruct command:
reconstruct [-p partition [ -u user ] ] -m
We have a small (by most standards) mailstore. How do you list the
partitions? Sorry if this is a dumb question, but looking at the
list of commands it's not obvious. I read the above definition,
that if you specify the -p partition you may optionally specify the
-u and a UID. Is it advisable to do that with the -m option?
3. The user I mentioned above is our help desk manager. She primarily
uses Outlook as her client but occasionally use CE to try something
when diagnosing a problem. Is this advisable. Should she close
Outlook before opening a CE session? I would have a bad feeling
about having two applications accessing the message and calendar
stores at the same time.
> Well if you had four processes for example, I suppose you could run
> truss 4 times in parallel, once for each PID (being outputted to
> different filenames).
I wasn't very clear with my message. The mshttpd process are started
when the messaging server is started. The output of the ps command
shows:
mailsrv8748690 12:05:44 ?0:22 /opt/SUNWmsgsr/lib/mshttpd -0 -d 0 -D 1
mailsrv86910 12:05:43 ?0:21 /opt/SUNWmsgsr/lib/mshttpd
mailsrv8758690 12:05:44 ?0:22 /opt/SUNWmsgsr/lib/mshttpd -0 -d 0 -D 1
mailsrv8768690 12:05:44 ?0:21 /opt/SUNWmsgsr/lib/mshttpd -0 -d 0 -D 1
mailsrv8778690 12:05:44 ?0:21 /opt/SUNWmsgsr/lib/mshttpd -0 -d 0 -D 1
In the server configuration file has the line:
service.http.nsmsgNumprocesses: 5
which seems to correspond. Would I simply kill process 874 and restart
under truss using the same operands? Or are the mshttpd process
spawned dynamically by PID 869?
Thanks!
# 14
I was just reviewing available patches for JES components and on our CE server one package "Sun Unified Web Client" the current patch is 122793-12, we are running with 118540-42. I'm wondering how critical it is to be at the most recent patch level. Are the problems I am seeing related to my down-level status?
# 15
Hi,
> I'm beginning to wonder about the wisdom of doing a
> "reconstruct -m"
> as I now have another user who when she logs in using
> Communications
> Express (CE) she sees this popup:
>
>
> ttp://www.cs.unca.edu/~benites/detached/att348d5.jpg
>
> The message on the popup is: Invalid mailbox name
Which mailbox/foldername is the user trying to access or does this occur immediately upon logon?
> She is able to access her mail and operate normally
> using Outlook just
> fine but when she clicks on the "OK" on the popup,
> the CE session is
> essentially dead, she doesn't see her inbox,
> calendar, etc.
This may or may not be related to your problem/reconstruct. Any error/logs for the attempt on the messaging server side? Can the user log into Messenger Express?
> The problem which started this thread was that while
> I could
> authenticate, send/receive messages just fine, I
> couldn't delete
> them. When I tried, both in CE and the client
> (Thunderbird) I was
> using, I'd see a popup with the message "Mailbox does
> not exist."
>
> A couple of questions:
>
> 1. Jay, you recommended a "reconstruct -m", Shane you
> said you'd do a
> "reconstruct -r" first. If I understand you, I'd
> do a "reconstruct
> -r" first, then do the "reconstruct -m". I'm unsure
> that if I do
> the -r, over the entire partition if it is then
> recommended I
> follow it up with a -m? If I do a -r on a user
> mailbox and it fixes
> the user's problem, then I'm assuming I should stop
> there.
If you are trying to fix a problem which you think affects the *entire* system (e.g. file-system level corruption), then run a reconstruct -r across the server (it is fairly quick) first IF you happen to be running reconstruct -m.
Of course in some cases this isn't possible/useful as the reason for running -m is that the store.* files aren't visible/known to the master folder database e.g. if your master folder database has become fully corrupt (which is why you are running -m in the first place).
So at this point there is no hard/fast rule.
For your case though the problem was isolated to a single account (to your knowledge), so being specific about your commands is best. The order I would use would be (testing after each command to see if the problem is fixed is):
-> reconstruct -r user/<uid> (lowest impact, only makes changes if a fault is detected - detection routine is not perfect)
-> reconstruct -rf user/<uid> (forces the rebuild of the store.idx files etc.)
-> reconstruct -p <partition> -u <uid> -m (reloads/refreshes the account in the master folder database)
You may also want to run:
reconstruct -s (if the problem is related to folder subscriptions)
or
reconstruct -q (if the problem is related to quota problems)
or
reconstruct -l (if the ACL's for sharing seem broken)
NB: always keep the output of the commands as this can help indicate where the problem may have been.
> 2. I was looking at part of the syntax of the
> reconstruct command:
>
>reconstruct [-p partition [ -u user ] ] -m
> We have a small (by most standards) mailstore. How
> do you list the
> partitions?
Partitions can be found by running:
./configutil | grep store.partition | grep path
In my case I just have the primary partition:
store.partition.primary.path = /opt/SUNWmsgsr/data/store/partition/primary
So in this case you would run:
./reconstruct -p primary -u <uid> -m
> Is it advisable to do that with the
> -m option?
Yes, if the problem is isolated, use commands that don't run across the entire user-base.
> 3. The user I mentioned above is our help desk
> manager. She primarily
> uses Outlook as her client but occasionally use CE
> to try something
> when diagnosing a problem. Is this advisable.
> Should she close
> Outlook before opening a CE session? I would have a
> bad feeling
> about having two applications accessing the
> message and calendar
>stores at the same time.
The main issue here is that the Outlook calendar/imap folder gets out-of-sync - which shouldn't happen in normal operation (this can also happen to other IMAP clients such as Thunderbird). There are procedures to re-sync/load the outlook caches, which may be called upon if this user complains that their Outlook calendar/email folders look different (missing/added emails) to their CE view.
In normal use, using Outlook Connector/CE side-by-side should be fine.
> > Well if you had four processes for example, I
> suppose you could run
> > truss 4 times in parallel, once for each PID (being
> outputted to
> > different filenames).
>
> I wasn't very clear with my message. The mshttpd
> process are started
> when the messaging server is started. The output of
> the ps command
> shows:
>
> mailsrv8748690 12:05:44 ?0:22
> /opt/SUNWmsgsr/lib/mshttpd -0 -d 0 -D 1
> mailsrv86910 12:05:43 ?0:21
> /opt/SUNWmsgsr/lib/mshttpd
> mailsrv8758690 12:05:44 ?0:22
> /opt/SUNWmsgsr/lib/mshttpd -0 -d 0 -D 1
> mailsrv8768690 12:05:44 ?0:21
> /opt/SUNWmsgsr/lib/mshttpd -0 -d 0 -D 1
> mailsrv8778690 12:05:44 ?0:21
> /opt/SUNWmsgsr/lib/mshttpd -0 -d 0 -D 1
>
> In the server configuration file has the line:
>
> service.http.nsmsgNumprocesses: 5
Correct, the number of mshttpd processes is configured by this parameter (you can change it using ./configutil -o service.http.numprocesses -v <number of processes> but I wouldn't unless you have a need to).
> which seems to correspond. Would I simply kill
> process 874 and restart
> under truss using the same operands? Or are the
> mshttpd process
> spawned dynamically by PID 869?
You can run truss on the active/running process - don't kill them. The additional processes were spawned when you ran ./start-msg.
So in this case you could (in 5 terminal windows) run:
truss -o /tmp/debug.874 -p 874
truss -o /tmp/debug.869 -p 869
truss -o /tmp/debug.875 -p 875
truss -o /tmp/debug.876 -p 876
truss -o /tmp/debug.874 -p 877
Then run your test.
Then when you are finished go to each window, CTRL-C the truss process and review the /tmp/debug.* files for the info you need.
Regards,
Shane.
# 16
> Which mailbox/foldername is the user trying to access or does this
> occur immediately upon logon?
Immediately upon logon.
> This may or may not be related to your problem/reconstruct.
Based on your comment about my using "reconstruct -m" I was worried,
I'm releived to hear this.
> Any error/logs for the attempt on the messaging server side?
Not that I can see.
> Can the user log into Messenger Express?
Interesting question. We've always used the Unified Web Client (UWC.)
There were instances when a user would enter the wrong URL an find
themselves in Messenger Express (ME) -- which I'm assuming is the
predecessor to ME, rather than Communications Express (CE.) I don't
know if she'd be able to login via ME, she can NOT when she tries via
CE. Would it make a difference?
> ...So in this case you would run:
>
> ./reconstruct -p primary -u <uid> -m
Thanks for the explanation for finding the path. Our setup is a little
different than the default, after some fumbling, I found the right syntax:
# ./configutil | grep store.partition | grep path
store.partition.primary.path = /opt/SUNWmsgsr/data/store/partition/primary
store.partition.uncamail.path = /messaging/var/opt/SUNWmsgsr/data/store/partition/unca.edu
root@email # reconstruct -p primary -u cjoyner -m
cannot locate user cjoyner under partition primary
root@email # reconstruct -p unca.edu -u cjoyner -m
cannot locate user cjoyner under partition unca.edu
root@email # reconstruct -p uncamail -u cjoyner -m
user/cjoyner
user/cjoyner/Deleted
user/cjoyner/Deleted Items
user/cjoyner/Drafts
user/cjoyner/Journal
user/cjoyner/Junk E-mail
user/cjoyner/Notes
user/cjoyner/Sent
user/cjoyner/Sent Items
user/cjoyner/Spam
user/cjoyner/Trash
=user/cjoyner
=user/cjoyner/Drafts
=user/cjoyner/Sent
=user/cjoyner/Trash
=user/cjoyner/Notes
=user/cjoyner/Journal
=user/cjoyner/Spam
=user/cjoyner/Deleted
=user/cjoyner/Junk E-mail
=user/cjoyner/Deleted Items
=user/cjoyner/Sent Items
Alas, she still gets the same error.
Till now, I've been looking in the logs for the messaging
server. Since she can authenticate and use Outlook, I think I've
exhausted options on the messaging server. Or have I?
She's only getting the error popup when she tries login into CE. She
enters login/password, gets the Loading, please wait screen then the
popup appears with "Invalid mailbox name".
I've looked in log files for several packages: SUNWwbsvr, SUNWuwc,
SUNWmsgr, but haven't found anything I can directly link to her. Is
there some other place I should look?
Should I open a support case?
# 17
> Well if you had four processes for example, I suppose you could run truss 4 times in parallel, once for each PID (being outputted to different filenames).The -p switch will take a list of process ids separated by spaces. So you can have one truss command watch several