This blog contains experience gained over the years of implementing (and de-implementing) large scale IT applications/software.

IBM WebSphere IHS Plugin Hostname Cookies Conundrum

Whilst attempting to set up IBM WebSphere with a remote IBM HTTP Server (IHS) using the WAS Plugin, I was hitting an issue whereby cookies would only be served to the client browser when accessing the IHS server using the real host name and not the DNS alias I had created.

After 2 days of trying different combinations of configuration, I finally found this article here:
The host name DNS alias I had created used underscores.
Whilst this is permitted in the system, it is not a valid host name accord to the IETF RFCs, and therefore no cookies are served/retrievable by the WebSphere application server.
In short, always use hyphens instead of underscores in your WAS or IHS DNS aliases.

Checking Sun/Oracle GlassFish Server Version

Here’s how to check the version of Sun/Oracle GlassFish application server which is installed in a Linux environment:

From the bin directory of the GlassFish binary home directory:


$ asadmin version
Version = Sun GlassFish Enterprise Server v2.1
Command version executed successfully.

IBM WebSphere 6.1.0 GUI Install on RHEL 4.5

If you have been given the opportunity to install IBM WebSphere 6.1.0 on RedHat Enterprise Linux 4.5, then you may be wondering why you can’t get the GUI installer to launch using the X-Windows terminal you’ve painstakingly enabled.

Well, the answer is simple; unless you are on the console, then you can’t.  That is, you must be on DISPLAY “:0.0”.
If your sys admin is denying you access, or it’s a VM and you’re not allowed console access, then you’re also stuck.

The only other solution is to use the response files provided in the install directory of the installation media.
Customise the response file and then run the install.sh in silent mode.
There is a very helpful IBM help page on how to do all of this here: https://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/topic/com.ibm.websphere.base.doc/info/aes/ae/tins_runSilent.html

Good luck.

ps. It presents a more systematic, repeatable approach to installing an environment if you use response files.  No mistakes, same every time.
What’s more, you can also silently install the “UpdateInstaller” and also the FixPacks.

Android 2.1 Calendar Sync Force Close

I have an Android 2.1 phone (an Acer Liquid A1) which recently started throwing an error during the calendar sync.  It kept showing a “force close” error.

I got my laptop setup to connect to the phone using the Acer Liquid Tool (USB drivers) and the Malez recovery software, which includes the ADB debugging software.
After connecting the phone via USB and running ADB logcat, I was able to get the following error from the phone when I sync’d the calendar:

W/dalvikvm(  823): threadid=15: thread exiting with uncaught exception (group=0x2aac6160)
E/AndroidRuntime(  823): Uncaught handler: thread SyncThread exiting due to uncaught exception
E/AndroidRuntime(  823): java.lang.NullPointerException
E/AndroidRuntime(  823):        at com.android.providers.calendar.CalendarSyncAdapter.fetchCalendarsFromServer(CalendarSyncAdapter.java:1622)
E/AndroidRuntime(  823):        at com.android.providers.calendar.CalendarSyncAdapter.getServerDiffs(CalendarSyncAdapter.java:1223)
E/AndroidRuntime(  823):        at android.content.TempProviderSyncAdapter$SyncThread.runSyncLoop(TempProviderSyncAdapter.java:367)
E/AndroidRuntime(  823):        at android.content.TempProviderSyncAdapter$SyncThread.sync(TempProviderSyncAdapter.java:287)
E/AndroidRuntime(  823):        at android.content.TempProviderSyncAdapter$SyncThread.run(TempProviderSyncAdapter.java:218)

After an awful lot of Googling, I still had no answer.
It looks like the 2.1 version of Android supplied by Acer, has a flaw that prevents it working properly with some new Google calendar feature.
I don’t know what the problem is.
Instead, to solve the problem, I flashed the ROM back to stock Acer Android 1.6.
The calendar then worked again properly, however, I had lost an awful lot of good functionality (Facebook integration, better Gmail & Android Market app versions etc etc).

So I tried another option.  I used a link on the Modaco forums for a hacked version of the Android 2.2 OS which was for the new Acer LiquidE (same phone hardware, but with 512MB of RAM instead of 256MB).
Someone has posted a version which had been enabled to run on my 256MB Acer Liquid (genius).

I flashed the 2.2 ROM onto the phone and the calendar now works again.

Despite the problem, this highlighted an area of short sightedness.  When/if the online Google apps are no longer supported or work on older Android versions, this will make the phones that use the older Android versions effectively worthless.  Who wants an Android phone with no cloud capability?

IBM MQ Error – AMQ6118: An internal WebSphere MQ error has occurred (20806013)

In the /var/mqm/errors/AMQERR*.LOG file the following error was visible:
11/01/11 16:20:23 – Process(1408.3) User(mqm) Program(amqrmppa_nd)
AMQ6118: An internal WebSphere MQ error has occurred (20806013)
EXPLANATION:
An error has been detected, and the MQ error recording routine has been called.
ACTION:
Use the standard facilities supplied with your system to record the problem
identifier, and to save the generated output files. Contact your IBM support
center.  Do not discard these files until the problem has been resolved.
There was an FDC file present also in the same directory.
It contained the following information header:
+—————————————————————————–+
|                                                                             |
| WebSphere MQ First Failure Symptom Report                                   |
| =========================================                                   |
|                                                                             |
| Date/Time         :- Tuesday November 01 14:52:07 GMT 2011                  |
| Host Name         :- xxxxxxxx (HP-UX B.11.23)                               |
| PIDS              :- 5724H7208                                              |
| LVLS              :- 6.0.1.0                                                |
| Product Long Name :- WebSphere MQ for HP-UX (Itanium platform)              |
| Vendor            :- IBM                                                    |
| Probe Id          :- XC028018                                               |
| Application Name  :- MQM                                                    |
| Component         :- xcsReleaseMutexSem                                     |
| SCCS Info         :- lib/cs/unix/generic/amqxlfmx.c, 1.147.1.1              |
| Line Number       :- 3229                                                   |
| Build Date        :- Oct 21 2005                                            |
| CMVC level        :- p600-100-051021                                        |
| Build Type        :- IKAP – (Production)                                    |
| UserID            :- 00002440 (mqm)                                         |
| Program Name      :- amqrmppa_nd                                            |
| Addressing mode   :- 64-bit                                                 |
| Process           :- 25271                                                  |
| Thread            :- 3                                                      |
| QueueManager      :- MQINTUX                                                |
| ConnId(1) IPCC    :- 26                                                     |
| Major Errorcode   :- xecL_E_NOT_OWNER                                       |
| Minor Errorcode   :- OK                                                     |
| Probe Type        :- INCORROUT                                              |
| Probe Severity    :- 2                                                      |
| Probe Description :- AMQ6125: An internal WebSphere MQ error has occurred.  |
| FDCSequenceNumber :- 0                                                      |
|                                                                             |
+—————————————————————————–+

Check the “Component” and “Major Errorcode” sections of the header.
I was seeing “xecL_E_NOT_OWNER” for the “xcsReleaseMutexSem” component.

This prompted me to check the semaphores (HP-UX) using command “ipcs -sa”.
I could see that there were some semaphores hanging around as the “mqm” user (shown in the header of the FDC file also).
So, clearing them as root and using “ipcrm -s” and the ID from the “ipcs -sa” command output, fixed the issue and prevented the need for a reboot.

The issue was caused by running MQ as the wrong UNIX user (it wasn’t supposed to be running as the mqm user in our environment).