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.

shane_hjortha at 2007-7-11 23:21:28 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 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

rkbuncaa at 2007-7-11 23:21:28 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 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....

jay_plesseta at 2007-7-11 23:21:28 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 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

rkbuncaa at 2007-7-11 23:21:28 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 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".

jay_plesseta at 2007-7-11 23:21:28 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 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".

rkbuncaa at 2007-7-11 23:21:28 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 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.
jay_plesseta at 2007-7-11 23:21:28 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 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?
rkbuncaa at 2007-7-11 23:21:28 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 9
Yes, the server should be active. At the very least, stored MUST be running.
jay_plesseta at 2007-7-11 23:21:28 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 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.

shane_hjortha at 2007-7-11 23:21:28 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 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...

rkbuncaa at 2007-7-11 23:21:28 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 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.

shane_hjortha at 2007-7-11 23:21:28 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 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!

rkbuncaa at 2007-7-11 23:21:28 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 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?

rkbuncaa at 2007-7-11 23:21:28 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 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.

shane_hjortha at 2007-7-21 19:53:48 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 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?

rkbuncaa at 2007-7-21 19:53:48 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...
# 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
kellycaudilla at 2007-7-21 19:53:48 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Messaging Server...