Blogs

Blog Tags Help

Enter a tag to filter the current view
Combined feed for site

Domino Diva

An iSeries take on Domino

All entries tagged with iseries

Failed to allocate message queue resource

Kim Greene  

 I came upon a strange situation with my test Domino server I have on an iSeries (ok, IBM i) server.  When I configured this test server, I neglected to select the option to have the server automatically start when TCP/IP is started.  The iSeries was IPLed over the weekend for some maintenance work.  When I went to access my server today, I had to start it.  Right after starting it, I thought, "I need to change the autostart parameter so this situation doesn't happen in the future".

 

I issued a CHGDOMSVR command right after starting the server, which lead me to a really strange situation.  The server appeared as if it had started normally, however I was unable to access it.  Upon examining the messages on the console, I saw this message:

 

"Warning! Failed to allocate message queue resource; post-crash/fault recovery shutdown system disabled."

 

The server was hung, so I dumped the server call stacks, for futher debug purposes (from option 16 from the WRKDOMSVR command).  A consistent theme I saw in the call stacks for the threads that were hung was:

 

QDOMINO801   LIBNOTES     OSSEM        0000000001   OSLockReadFRWSemWithInfo                        
QDOMINO801   LIBNOTES     OSSEM        0000000032   OSLockReadFRWSemInt                             
QDOMINO801   LIBNOTES     OSSEM        0000000001   WaitOnNativeSemaphoreCounted                    
QDOMINO801   LIBNOTES     OSSEM        0000000025   WaitOnNativeSemaphore                           
QDOMINO801   LIBNOTES     OSSEM        0000000017   WaitForThreadSem                                
QSYS         QP0WPTHR     QP0WCOND     0000000049   pthread_cond_wait                               
QSYS         QP0WPINT     QP0WSCOND    0000000086   wait__20Qp0wPthreadConditionFP7Qp0wTcbP9Qp0wMutex

 

After dumping the call stacks, I ended the Domino server, *CNTRLD, of course.  This did nothing, the server was hung.  I next did a *IMMED end on my test server.  The interesting thing is that the status of the Domino server showed *ENDED, however when I used option 9 to look at the active server jobs, I saw that the Server job was stil active. 

 

The console was now showing "- Child stopped by signal -1". 

 

I tried ending the server with the *IMMED option, and received error LNT0922. 

 

Message: Error 11 has occured trying to end the Domino sever, DOMTEST1, the error code is 11.

Cause: Error trying to end server DOMTEST1 immediately.  Subsystem is QUSRNOTES/DOMTEST1.

Recovery: Save this job log and contact your service representative.

 

Well, that would be me!!  At this point I had to do an ENDJOBABN to get the Server job ended.  This did the trick. 

 

Interestingly enough, when I tried to do a CHGDOMSVR command on the server with the server and the subsystem ended, I received a CPD680B message.

 

Message: Error detected in prompt override program command string.

Cause: An error was detected in the command string created in the prompt override program QNNINPOP in QDOMINO801.  Processing of the command will not be affected by this error.

Recovery: After prompting is complete, see the previously listed messages in the job log to determine the cause of the error or see the CL topic in the Information Center book for more informaiton on prompt override programs.

 

Override what?!?  I checked the job log and saw these messages:

 

Character 's' not valid following string ' 'Kim'        '.

Character ' ' ' not valid following string 'Frankie      '.

A matching apostrophe not found.

A matching parenthesis not found.

Command not valid.

 

What it was complaining about was the title of my server, which is "Kim's Test Domino Server on Frankie".  Interestingly enough, the CFGDOMSVR command had no issue with me putting this in for the server's title when I configured it, however the CHGDOMSR command wouldn't accept it.

 

I was able to get the autostart parameter changed by qualifying the specific parameters I needed on the CHGDOMSVR command:

 

CHGDOMSVR SERVER(domtest1) AUTOSTART(*yes)

 

The moral of the story is never issue the CHGDOMSVR command against a Domino server when it's just starting.  The normal function of the CHGDOMSVR command is that it will let you change this paramter while the server is active.  The trick is that the server needs to be actually started when the command is issued.  There is a glitch when the server is starting where this command gets really messed up. 

Server Error Device is Busy In Use

Kim Greene  

 I received a call from a customer this morning saying noone could access their mail files.  The really strange thing about the situation was that the log.nsf, names.nsf, ... could be opened.  It was just a problem with the mail files.  When users tried to open their mail files, they received the following error message.

 

"Server Error: Device is Busy/In Use"

 

The console showed messages like this for mail files the router was trying to deliver mail to:

 

"Error delivering to servername/domain mail/xxxxxxxxxxxx.nsf; Device is Busy/In Use"

 

I dumped the server call stacks for all Domino jobs on that server and the job call stacks for any jobs I thought could be suspect.  I looked through the output and didn't find anything suspicious.  Next I invoked the QP0FPTOS api to identify if there were any IFS locks on the objects. The output showed there indeed were IFS locks on the files.  I issued the RLSIFSLCK command against a few mail files.  This did no good, the objects remained locked.  The only time the RLSIFSLCK command cannot release a lock is if it is a directory lock or if there is a save lock. 

 

This tipped me off to look at the job log for the save job.  This customer takes their Domino servers down every evening, saves the data directories, and then starts the servers after the save is complete.  The save output showed that the first Domino server had been saved fine, however the save job for the second server, the server we were having this issue with, was still active.

 

Once the save job was ended, the problem went away, no server restart was required.  The mail files are able to be accessed again and the customer is very happy.

 

Now it's time to get outside and enjoy this beautiful weather since it's the weekend!

IBM Power Systems

Kim Greene  

 It's official, at the COMMON conference last week, Mark Shearer and Ross Mauri announced the new IBM Power Systems.  Both the System i and System p have shared the same hardware for a number of years.  What's great about this announcement is what Ross Mauri explained to the COMMON attendees at the IBM Town Hall session last Wednesday morning.  Ross Mauri is the General Manager for the Power Systems Division at IBM.

 

The big news Mr. Mauri shared with the crowd is that there will no longer be separate pricing for System i and System p hardware.  Wtih the new Power Systems announcement, the price i customers will pay will be same price p customers will pay for the hardware.  This announcement brought a loud applause from the crowd, as i customers have traditionally paid more for memory, disk, and other hardware components than p customers. 

 

I think this announcement is a very good thing for the System i.  Not only is there pricing equivalency between the hardware platforms, but now when IBM Power Systems is advertised, i will also be advertised.  This is something we have needed for a long, long time, more advertising.  Things are definitely looking up for the platform we now know as the former System i !!

AS400 forever

Kim Greene  

I just tried to log into a System i server that is currently not available and had to laugh at the message I received from my Mochasoft client.

 

 

 

They can try to rename it, but it will alway be 'AS/400'  : ^)

 

Check out the title of this blog, notice it isn't AS/400?  Yeah, the '/' character isn't allowed in the title <grin>.

V6R1 Program Conversion on System i

Kim Greene  

If you are looking for information related to the program conversion on System i that happens when upgrading to V6R1, you may want to check out some recent articles I wrote.  The intention was to have one article, but it ended up being too big to fit in the space available in the magazine.  The compromise was to split it into the main article included in the magazine and two web exclusives.  Here are links to all three articles:

 

"Preparing for V6R1, What to Expect During Your Conversion"

 

"The Impact on Domino"

 

"Tips for Working With the V6R1 Conversion Tool"

 

One of the biggest gotchas, IMO, is that the program conversion tool doesn't pick up the Domino libraries by default when estimating how long the program conversion times for libraries will take.  This would be a nasty one for customer to miss, as conversion of the Domino libraries can take over an hour in some worse case scenarios.  Even worse, if the customer doesn't realize that Domino gets converted because the tool doesn't report it by default, they may not find out about the program conversion until they start the Domino servers after the upgrade to V6R1.  Because of the time required to convert the Domino libraries, the server most likely won't start and could produce some strange errors.  This would not be a fun upgrade experience. 

 

Hopefully you will find these articles helpful in planning any upgrades to V6R1.

Misunderstood multi-versioning

Kim Greene  

 In a conversation with a new customer this afternoon, I heard a common theme come through; multi-versioning is not well understood.  I have had similar conversations with a number of customers over the past few years. The net is that customers do not understand what multi-versioning is and how it can benefit their Domino installations.

 

Domino on the System i (iSeries, AS/400) has had multi-versioning since releases 6.0.3 and 6.5.0.  This support allows more than one version of Lotus Domino to be installed and running on your iSeries at the same time.  For example, a single iSeries box or iSeries LPAR could have releases 6.5.6, 7.0.2, 7.0.3, and 8.0.1 installed and running. The main areas of confusion I have found related to this support in my conversations with customers are related to these three areas:

 

1) how it affects the install process

2) how servers are upgraded to the new release after the new code installation

3) do all servers have to be upgraded at the same time

 

How it affects the install process

I like to use multi-versioning support to, at a minimum, install the new version of Lotus Domino.  With multi-versioning support, I can leave production servers active while installing the new version.  This saves about 1/2 hour of downtime for the customer.  It also allows the customer the flexibility of installing the new code version during production hours, so they are ready to update their Domino servers whenever is convenient for them. 

 

How do servers get updated after the installation

There is an UPDDOMSVR (Update Domino Server) command that allows you to specify which server you want to take to the new release level.  When you are ready to update a Domino server, simply end the server and issue the UPDDOMSVR command.  The parameters to the command are the name of the Domino server and the release level you would like to upgrade the server to.  It really is that simple.

 

Do all servers have to be upgraded

This is a very simple answer, no.  You can pick and choose which servers to upgrade.  For example, if a customer has three servers sitting at releast 6.5.6 and they want to upgrade one of the servers to release 7.0.3, they have that flexibility.  Better yet, if a customer wants to check out the new release 8.0.1 that came out yesterday, then can simply install the new code release, configure a test server with this new code release, while leaving their existing servers untouched.

 

Multi-versioning is really that simple!