Some time ago I found an interesting “feature” on the BlackBerry emulator. It seems under special conditions we get some funny messages. Luckily I was able to reproduce the behavior and here are the steps, the screens and the funny messages.
- Run clean.bat in C:\eclipse_g_341_jde7\plugins\net.rim.eide.componentpack4.6.0_4.6.0.16\components\simulator\
or skip this but make sure the Contacts list is empty.
- Copy my application to the simulator folder.
- Run the application – should look like this.
- Add any dummy contact, like this.
- Run the application – you should get an error and get to this menu screen.
- Choose “VM internal test” from the menu.
- You should now get a series of screens looking like this. (1)
- Screen 2.
- Screen 3.
- Screen 4.
- Screen 5.
- Screen 6.
So I got curious as to where the text comes from. I looked for the “This is sexy, isn’t it?” string, but could not find it anywhere. I almost gave up until I decided to try “bill” from the last screen, and to my surprise I got a result in Jvm.dll. Most of the strings were there. The file excerpt looks like this:
This *is* Banner (1/1) Patching Java This *is* BANNER! A Message (too of fwee) Oh no mr bill, something has gone horribly horribly wrong. oh nooo. o nooooooooo.
I was happy to find the source, but still no trace of “This is sexy, isn’t it?”. Well, in my opinion this special text comes from some image memory copy operation, something like BitBlit in GDI.BitBlit.
Finally, mystery solved :)
Some tech details:
- this behavior only seems to exist in net.rim.eide.componentpack4.6.0_4.6.0.16 and not other emulators.
- other emulators offer the “VM internal test” menu option but do not show anything. They don’t even show a new screen.
As conclusion, I leave you with a question: Who in the name of H and H is Bill and what is his role into all this? If you find out, please let me know :)
Edit 2009-11-24: If you liked this article, you should also check another rare bug here BlackBerry - IllegalStateException ArticInterface::DocPosToCaret