MQ on RHEL6 FDC – MSGAMQ6119 Resource temporarily unavailable’ from pthread_create

After configuring a RHEL6 box with MQ we hit a problem where by when we had a large number of connections (118) it would then fail to allow any more connections. You could also not perform any operations on the box. If you attempted to make a change you got the following error

  • fork: retry: Resource temporarily unavailable

After lots of searching this was fixed by doing the following

Disabling SELinux

  • setenforce Permissive
  • reboot

Changing the users file limitations. Go to /etc/security/limits.conf, change this user’s limitation:

username         hard    nproc         unlimited
username         soft    nproc           unlimited

After making these changes we were able to make many more client connections

In-place upgrade from Windows 2008 R2 Standard to Enterprise

Use the dsim tool for completing this update. Start a command console and run the following command

  •  Dism /online /Set-Edition:ServerEnterprise /ProductKey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

where XXXXX-XXXXX-XXXXX-XXXXX-XXXXX is your product. Key. If you get an error about the key not being valid you can use a microsoft provided one – 489J6-VHDMP-X63PK-3K798-CPX3Y followed by activating using your key i.e.

  • Dism /online /Set-Edition:ServerEnterprise /ProductKey:489J6-VHDMP-X63PK-3K798-CPX3Y
  • slmgr.vbs -ckms
  • slmgr.vbs -upk
  • slmgr.vbs -ato

And you should have a Windows 2008 R2 Enterprise activated using your key


Apply MQ Service on Ubuntu – to

The first thing to do before upgrading MQ is to stop all queue managers. If you are running any message brokers then stop these as well.

i.e. endmqm CSIM

Use the command “dspmq” to check that all local queue managers are stopped

Download the fixback from the IBM service web site – i.e. for 64-bit Ubuntu 7.0.1-WS-MQ-LinuxX64-FP0005.tar.gz

First we must remove the old versions of GSK as these clash with the new ones

rpm -e –noscripts –nodeps gsk7bas-7.0-4.23.i386
rpm -e –noscripts –nodeps

We can now install the latest version of GSK and the MQ updates

rpm -ivh –nodeps –force-debian gsk7*
rpm -ivh –nodeps –force-debian MQSeries*

Check that the install has gone OK by running “dspmqver”. The output should look like

Name:        WebSphere MQ
CMVC level:  p701-105-110419
BuildType:   IKAP – (Production)

You can now start up your queue managers using strmqm as per usual and they should be running at

Ubuntu 11.04 Upgrade…won’t boot – GRUB prompt

Aftert upgrading to Ubuntu 11.04 my server would not boot. It looks like there is a bug in the update such that if you upgrade from Ubuntu 10.10 which itself had been upgraded from Ubuntu 10.04, and grub was never reinstalled then you just get a GRUB prompt after bootup.

To fix this you need to manually boot the system using grub commands. Then reinstall grub. For me the following worked

set root=(hd0,1)
linux /boot/vmlinux-2.6.38-8-generic root=/dev/sda1 ro
initrd /boot/initrd.img-2.6.38-8-generic

Once booted then run

sudo grub-install /dev/sda
sudo update-grub

And then it should all reboot nicely

Install MQ onto Ubuntu 10.4 (or greater)

Ubuntu is not officially supported on MQ but it runs fine except you need a few tweeks to get it installed. As ubuntu normally uses Apt-Get to install packages we need to install the rpm packages. This lets you use the rpm command like you would on other linux OSs

sudo apt-get install rpm

Download the install file and extract a temp directory

tar -zxvf CZ4VEML.tar.gz -C /InstallFiles/MQ7010

Accept the license agreement using the normal method

sudo ./

Unless you need all the languange messages these can be deleted

sudo rm /InstallFiles/MQ7010/MQSeriesMsg_*

You can now install the other files using rpm

sudo rpm -ivh –nodeps –force-debian MQSeriesClient-7.0.1-0.x86_64.rm
sudo rpm -ivh –nodeps –force-debian MQSeriesJava-7.0.1-0.x86_64.rpm
sudo rpm -ivh –nodeps –force-debian MQSeriesKeyMan-7.0.1-0.x86_64.rpm
sudo rpm -ivh –nodeps –force-debian MQSeriesMan-7.0.1-0.x86_64.rpm
sudo rpm -ivh –nodeps –force-debian MQSeriesRuntime-7.0.1-0.x86_64.rpm
sudo rpm -ivh –nodeps –force-debian MQSeriesSamples-7.0.1-0x86_64i386.rpm
sudo rpm -ivh –nodeps –force-debian MQSeriesServer-7.0.1-0.x86_64.rpm
sudo rpm -ivh –nodeps –force-debian MQSeriesSDK-7.0.1-0.x86_64.rpm
sudo rpm -ivh –nodeps –force-debian gsk7bas-7.0-4.23.x86_64.rpm

You can now start using the MQ server like you normally would. If you would like to install the GUI then this can be done as follows

sudo rpm -ivh –nodeps –force-debian MQSeriesJRE-7.0.1-0.i386.rpm
sudo rpm -ivh –nodeps –force-debian MQSeriesEclipseSDK33-7.0.1-0.i386.rpm
sudo rpm -ivh –nodeps –force-debian MQSeriesConfig-7.0.1-0.i386.rpm

Some of the eclipse plugins don’t get copied into the correct folder so this is a manual fix

sudo cp -r /opt/mqm/eclipse/* /opt/mqm/eclipseSDK33/eclipse
sudo chown -R mqm:mqm /opt/mqm

To start MQ GUI (eclipse) run the following command



If you need to uninstall MQ Uninstall MQSeries then use the following commands

sudo rpm -qa | grep MQSeries | xargs sudo rpm -e –noscripts
sudo rpm -qa | grep gsk7bas | xargs sudo rpm -e –noscripts


Convert a Linked Clone VM Image into a Independant VM Image

Have you ever cloned a VM and then later on wanted to make the clone a completelty standalone VM. – Here is how…

For this guide I am using “Cloned VM” as the Parent and “Clone” and the Child VM – the one you want to make independant.

Look inside the directory containing all the discs for the Clone VM. Find the primary VMDK file. This can be found by looking at the “Disk File” value in the GUI. My file is called “Windows Server 2008-cl1-000009.vmdk“. The 000009 is due to having a number of snapshots. Now find the parent of all the snapshots. This can be done by looking inside “Windows Server 2008-cl1-000009.vmdk” and looking for the value of “parentFileNameHint”. You will need to look in as many files as you have snaphots.

Eventually you will find the first disk of the Cloned VM – “Windows Server 2008-cl1.vmdk“. Open this file in nodepad. You should see a line such as

parentFileNameHint=”E:\VMWare Images\Windows Server 2008\Windows Server 2008.vmdk”

This specifies the disk that this disk is cloned from. To make this close totally independant from the Cloned VM copy this file & its associated files locally. If you look inside “E:\VMWare Images\Windows Server 2008\Windows Server 2008.vmdk” you will will see a list of other files you also need to copy i.e.

RW 4192256 SPARSE “Windows Server 2008-s001.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s002.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s003.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s004.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s005.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s006.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s007.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s008.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s009.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s010.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s011.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s012.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s013.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s014.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s015.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s016.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s017.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s018.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s019.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s020.vmdk”
RW 4192256 SPARSE “Windows Server 2008-s021.vmdk”
RW 43008 SPARSE “Windows Server 2008-s022.vmdk”

Create a subdirectory called “ClonedDisks” and put the disk & associcated files

Update the primary disk config file on the Cloned VM i.e. Windows Server 2008-cl1.vmdk, changing the old location of the disk to the new one i.e.

parentFileNameHint=”E:\VMWare Images\Windows Server 2008\Windows Server 2008.vmdk”
parentFileNameHint=”E:\VMWare Images\2008 MSCS Client 1\Cloned\Windows Server 2008.vmdk”

There are also a few other config files you need to change.

Update any SnapShot.vmsn files

fileSearchPath = “.;E:\VMWare Images\Windows Server 2008”
fileSearchPath = “.;E:\VMWare Images\2008 MSCS Client 1\Cloned”

Update the main .vmx files to look in the new directory i.e.

fileSearchPath = “.;E:\VMWare Images\Windows Server 2008”
fileSearchPath = “.;E:\VMWare Images\2008 MSCS Client 1\Cloned”

Copy the original .vmx into the “Cloned” Directory.

Update the .vmsd to have the new location of the Cloned VMs vmx

cloneOf0 = “E:\VMWare Images\Windows Server 2008\Windows Server 2008.vmx”
cloneOf0 = “E:\VMWare Images\2008 MSCS Client 1\Cloned\Windows Server 2008.vmx”

You should now have a 100% indepentant VM which you can move about. You can also now remove the snapshot from the Cloned VM which this new VM used to rely on.

iPhone 4 – Replacement Back Panels

Well after being told by Apple its going to be £139 to replace I have been looking to see what other avenues there are. Looks like the rear panel is VERY easy to replace – Two small philips screws and then the panel slides off

Video showing this

Photo guide from

There are a few suppliers that are looking to stock replacement panels. Many from china etc but there are also some UK based traders. A couple I have found which are meant to be getting them in soon are

iPatch are looking to be able to supply just the glass (which means heating up the panel, removing the smashed glass and then sticking the new glass down) or a complete replacement panel

iPhoneFixed are looking to be able to supply OEM panels as well as Apple branded panels

So time to wait and see if these get the panels in soon. On a good note I’ve now got a case round the phone which i think would have protected it enough to avoid the smash but hey ho. Thats life. Its only a cheap effort off Ebay but its just as good as the “Bumpers” apple are selling but only cost a fraction at £4.99

iPhone 4 – Back glass smashed :(

3 Days into iPhone 4 ownership……While at a wedding my jacket was knocked off a coffee table and I thought nothing of this until I took the iPhone out of my pocket and was distraught to see that the back of the phone had smashed to pieces. I was amazed such a light impact could cause such severe damage. I even still had the original protective covering on the rear as I was waiting for my protective cover to arrive.

So much for Apples – “Chemically strengthened to be 20 times stiffer and 30 times harder than plastic, the glass is ultradurable and more scratch resistant than ever”

Looks like this new iPhone 4 is more fragile than a piece of China

Removed the factory protector to see the full damage

Now we have to wait and see what Apple have to say about this “ultradurable” glass failing so catatrofically.

Update: Well Apple don’t think this is down to them and there is nothing they could have done to prevent this….well other than covering the phone in a material that didn’t smash so easily. The Apple option is to get it fixed for £139 🙁

Update 2: Well after writing a letter of complain they basicly said. Accidental damage is not covered under any circumstances. I know this is not true as it seems if your someone in a high profile position like a blogger for Gizmodo or Simon Peg they place them.

How to Add Vista to Windows 7 Boot Manager

1. Invoke a command prompt with Administrator priviledge. If you don’t know how to do it. Please follow the steps in this post. The instructions are for Vista, but they are the same.

2. Type the following to list the current boot manager settings.


Windows Boot Manager
identifier              {bootmgr}
device                  partition=C:
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
default                 {current}
resumeobject            {59cad9f2-de83-11dd-9d9e-c59ac6c2613b}
displayorder            {current}
toolsdisplayorder       {memdiag}
timeout                 30

Windows Boot Loader
identifier              {current}
device                  partition=C:
path                    Windowssystem32winload.exe
description             Windows 7
locale                  en-US
inherit                 {bootloadersettings}
recoverysequence        {59cad9f4-de83-11dd-9d9e-c59ac6c2613b}
recoveryenabled         Yes
osdevice                partition=C:
systemroot              Windows
resumeobject            {59cad9f2-de83-11dd-9d9e-c59ac6c2613b}
nx                      OptIn

3. Type the following to create a Boot Loader based upon the default boot loader.

C:>bcdedit /copy {current} /d "Vista"
The entry was successfully copied to {59cad9f6-de83-11dd-9d9e-c59ac6c2613b}.

4. Type the following to change the device to D: drive. Note the identifier is the one generated by step 3. This id is different for every boot loader. You have to replace it with the actual output when you create the boot loader.

C:>bcdedit /set {59cad9f6-de83-11dd-9d9e-c59ac6c2613b} device partition=D:
The operation completed successfully.

5. Type the following to change the osdevice to D: drive

C:>bcdedit /set {59cad9f6-de83-11dd-9d9e-c59ac6c2613b} osdevice partition=D:
The operation completed successfully.

When you are done, reboot the machine and you’ll see the option to boot to Vista.

CREDIT TO amida168 :

Updating ESX 3.5 using esxupdate

If you have not got the VirtualCenter and thus cannot use the UpdateManager then you will have to do things the hard way and manually install all the patches. This can be a bit of a paint but the following can make like easyer

Download all the patches into a new directory ie. /files/Patches/ToApply

Untar all the files within this directory. This should produce a number of subdirectories such as  ESX350-200805501-BG etc

Run the folling command

for update in `ls`; do esxupdate –noreboot –force -r file:///files/Patches/TODO/$update update; done

This will attempt to install all the updates that have been unzipped. Check the logs to see if any failed due to the machine not being in maintenance mode. If this is the case you will have to rerun the updates.

Once finished move all the patches into a directory such as /files/Patches/Done