Solving VMWare Crashes on Linux SMP Kernels

I am writing this blog entry as a note to myself, to keep track of this issue and, more importantly, the solution I found.

Problem Statement:

When running VMWare Player or Workstation on a Linux host, with multiple processors (or cores), on a 64 bits kernel, VMWare Player and Workstation keep crashing with error

vcpu-0:ASSERT vmcore/vmm/main/irq.c:100 bugNr=2293

Root Cause:

After some Googling and searching VMWare’s Knowledge Base, I found this article referring to an issue with Non Maskable Interrupts (NMI) in Linux Kernels 2.4 and later.

It appears that Suse and RedHat Linux have this setting enabled by default, as shown by

$ cat /proc/sys/kernel/nmi_watchdog
 1

Workaround:

Disable NMI watchdog.

At runtime, by typing (as root)

echo 0 > /proc/sys/kernel/nmi_watchdog

At boot time, by modifying Grub configuration by adding

nmi_watchdog=0

to the

kernel

line in

/boot/grub/grub.conf

and reboot

 

Interesting side note : this also solves my problem of running these VMWare create virtual machines under VirtualBox

 

Enjoy !

 

, , ,

No Comments

MacPort on Mac OS X Lion

If you have performed a fresh install of Mac OS X Lion or if you plan to install MacPort after having installed Lion, you will soon realize that the MacPort team does not distribute (yet) a Lion installer.  Snow Leopard installer will fail when detecting Lion.

Question is therefore : how to install MacPort on Lion ?  Answer : install it from the sources.

It might be scarry, but it is very easy, here are the details.

Preriquisite : install Aple’s development tool XCode.  It is freely available from the App Store (be patient it is a 3.5 Gb download)

  • Open a terminal
  • create a directory for the sources
mkdir macport.sources
  • Fetch the sources

cd macport.sources
sudo svn checkout http://svn.macports.org/repository/macports/trunk

  • Compile
cd trunk/base
sudo ./configure --enable-readline
sudo make install
  • Install
sudo make distclean
  • Change your profile to include MacPort in the PATH
vi $HOME/.profile
#!/usr/bin/bash
# MacPort
export PATH=$PATH:/opt/local/bin
  • Source your profile to include the changes
. $HOME/.profile

That’s it ! Easy as I promised.

You can now search for package with

sudo port list | grep <your search>

and install packages with

sudo port install <package name>

Enjoy !

, , , ,

2 Comments

Beta Testing iPhone Applications

I am about to release another iPhone application allowing users to visually manage voice mail messages left on their enterprise messaging solution, based on Oracle Beehive Collaboration and Communication Suite

This application is similar to Apple’s Visual Voice Messaging application that is deployed for some carriers.

Testing an iPhone application before it is deployed through the App Store might be tricky and is reserved for users having a minimal technical knowledge.  This article describes the steps required to join a testing program and to collect logs and debugging information to be reported to the developer.

Before installing an application on your iPhone, it has to be digitally signed by the developer and by Apple (when distributed on the App Store).

For ad-hoc distribution, i.e., without going through the App Store, the application will be signed specifically for your device.  The developer needs to know your Device ID (UDID).

Step #1 – collect your UDID and send it to the developer

First step for beta testing an iPhone application is to collect your UDID and send it to the developer.

To do this, connect your device to your Mac/Windows and launch iTunes. In iTunes, select your device in the ‘Devices’ section and navigate to the Summary tab. Click on the Serial Number label to reveal the Identifier field and the 40 character UDID. Press Command+C (CTRL-C on Windows) to copy the UDID to your clipboard.  Then paste it (Command+V or CTRL-V) in a mail message.

Step #2 – Install application

Once the developer knows your UDID, he will generate an application’s release authorized to run on your device.  Most of the time, you will receive the application as a ZIP file through email or web site download.

  • Unzip the file you received
  • Drag’n drop the application in iTunes
  • Sync your device with iTunes to install the application

You should then see the application icon on your device.

Step #3 – Provide feedback and collect log files for crashes

We are interested to collect all kind of feedbacks and testing conditions

  • General application usage, ergonomy, performance etc … many of these are subjectives but all suggestions will be considered.  Sometimes suggestions will be integrated immediately, sometimes they will be planned for a future release.
  • Different devices – you’re mostly welcome to test on older iPhone, iPod Touch or even iPad.
  • Slow / poor network connection.  Real life network conditions are difficult to test on a development machine, only real life usage, on the street, in a cab, in an airport etc …

If the application crashes or if you think you’ve find a bug, please report it as precisely as possible, in particular, I would like to know

  • what version you are using ? (version number is provided in the mail with the application)
  • what device you are using ?
  • what are the precise steps to reproduce ?
  • is it always reproducible or not ?

The application generate a log file that contains a precise description of what happens within the application.  Here are the steps to collect and send me log files.

  1. Download Apple’s iPhone Configuration Utility (Mac and Windows)
  2. With your device connected, run the iPhone Configuration Utility
  3. Click your connected device
  4. Go to the Console tab (see screenshot below)
  5. Clear the log (button at the bottom to the left)
  6. Try to install and/or launch the application and reproduce the error
  7. Select the relevant log lines (or just everything)
  8. Click the Save Console As… button and save the file
  9. E-mail the file to me

That’s all for now.  Thank you for your valuable feedback !

, ,

1 Comment

JDeveloper Major Release – 11.1.2

This week, Oracle released a major new version of JDeveloper IDE, version 11.1.2

What’s new ?

  • The plugin system has been revamped and is now based on OSGi
  • The startup time has been dramatically reduced.  (We will need to find another activity to allow us for a cup of coffee – or two – in the morning)
  • Integration with Maven 2
  • Support of JSF 2
  • And, for Mac users using OpenJDK 7, no more need to hack your Java installation to make the installer happy. (when using Apple’s provided JDK 1.6, you still have to follow these instructions)

You can download it from OTN.  Have a look at the release notes and the user documentation.

enjoy !

[UPDATE]

I have to admit that the startup time has improved much !  On my Macbook Pro (Core 2 Duo 2.66Ghz / 4GB RAM – Apple JDK 1.6.0_24), a warm start gives the JDeveloper 20 secs to get the main Window. Weblogic seems to follow this path too with an impressive 11 secs to status [RUNNING].

, , , ,

No Comments

QR Codes for your business cards

You’ve probably already encounter QR Codes, these signs you can scan with your mobile’s camera to get some extra information about a product, a song, a TV program etc …

While there are many QR generator application available on the Net, I recently found a Business Card generator.  It is able to generate either VCARD or MECARD format, as well as a contact PDF sheet ready to send to the printer. (MECARD is a special encoding of personal information, suitable for QR Code Encoding.  This was popularized in Japan by NTT Docomo)

And, … it’s free :-)

I tried it with QR Reader on the iPhone and found it particularly well integrated.  In particular MECARD can directly be added or merged to your address book.

Have Fun !

, , , ,

No Comments

NetBeans 7.0 and JAX-RPC Web Services

Sometimes, you encounter old WSDL service definitions, based on RPC style SOAP instead of the newer Document based litteral encoding.

To discover wether a WSDL is using RPC or literal encoding, check the “style” parameter of the “binding” element, such as

<binding name="A_WebServiceBinding" type="tns:A_WebServiceRPC">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>

In Java, RPC based SOAP is implemented by JAX-RPC, a quite old API developed for Java 1.4.  As it is older than JAXB, it even implements its own XML to Java object mapping.

When SOAP 1.2 was released, the Java platform switched to the newer JAX-WS implementation to support it along with other stuffs, namely HTTP Binding (aka XML over HTTP without SOAP), a new data mapping model and support for WS-I basic profile 1.1

You can read this IBM article for a very good, while concise, description of JAX WS vs JAX RPC.

In NetBeans 7.0, only JAX WS is provided out of the box.  When you encounter older WSDL, based on RPC encoding, you must manually install JAX-RPC.  However this plugin is not provided in the default plugin repository anymore.  You will need to add another plugin repository :

  • Select “Tools” in the menu, then “Plugins”, then the “Settings” tab.
  • Add a Repository with the name you choose and this URL : http://deadlock.netbeans.org/hudson/job/nbms-and-javadoc/lastStableBuild/artifact/nbbuild/nbms/updates.xml.gz

  • Then go back to “Available Plugins” and type RPC in the search box, you should find JAX-RPC in the list of proposed plugins.
  • Follow the instructions to download and install the plugins.

Et voilà, you are now ready to create JAX RPC based Java clients by choosing the “File” menu, then “New File” then choose “Web Service Clients” in the “Web Services” section.

Enjoy !

, , , , ,

10 Comments

JDeveloper 11g PS4 is available

JDeveloper team released last week version 11.1.1.5, aka Patch Set 4.

This is a maintenance only release, no new feature has been added in this release. You can download it for free from Oracle Technology network.

Release Notes are available here

As usual, should you try to install it on Mac OS X, don’t forget to symlink classes.jar to rt.jar in your JVM installation, as per instructions on this blog (or from the official documentation)

, , ,

No Comments

NetBeans 7.0 is available

NetBeans 7.0 is available for download.

The major new feature of this release is the support for the upcoming Java SE 7 specification, in particular project Coin (diamond operator, String in switch, multi catch for exceptions …).

Others new / improved features is the support for Maven 3, Git etc … and the support for GlassFish Application Server 3.1, Oracle Weblogic Server and Oracle database (simplified connection wizard, guided installation to JDBC driver, editing and deployment of stored procedures)

Download is free for everyone, release notes are full of details.

Enjoy !

, ,

No Comments

Modern version of a web site

Today, Apple published my third publicly released iPhone application.  I’ve been asked to develop it for a French school of cinema, sound, 3D animation and other arts and technology for video and sounds professionals.

The application allows to discover the different departments of the school, get access to the latest news, to the contact details and look at some video and animation created by students.

As of today content is general purpose and rather static, it is a modern version and mobile version of a web site.  It looks like everybody wants its own iPhone app these days:-)

Future version might include some student-specific content and features such as restricted access to course schedule & content and push notifications towards registered students.

Today’s content is 100% in French, English version might be proposed in the future.

You can discover the application on the App Store.

Enjoy !

, ,

No Comments

Solaris 11 Express on VirtualBox

I just downloaded and installed Solaris Express 11 on VirtualBox on my Mac and I was pleasantly surprised by the integration work done during these last two years.  Everything I tested is working out of the box, including screen resizing, a traditional paint point of Solaris + VirtualBox.

Beside paving the way toward Oracle Solaris 11 and being one of the first Oracle branded release of Solaris, there are many new functions for developers and system administrators.

I was particularly impressed by the extremely simple installation process, that started with OpenSolaris and is now live for all current and future Solaris users.  You can have a preview with this video.

You can also download a prebuilt Virtual Box VM, ready to use.

Give it a try !

, ,

No Comments