Blackberry "JVM Error 102"

My girlfriend went to start her Blackberry today and it started to boot up as normal until it stopped and then displayed "JVM Error 102" and only gave you the option to reset the phone (actually just restarts it). Restarting the phone just brought up the same error, so I did a bit of digging around and it turns out that it's just a corrupted file in the Blackberry software. If you're lucky the phone will still be able to run without that file (it's often a game file or something non-essential). Here's how you go about working out which file is causing the problem and then removing it.

You'll need to get the Blackberry desktop software here. Download the "BlackBerry Device Manager ENG". Start this up once you have installed it as you will need this running for the following steps to work.

  1. Download JL_Cmder (if you're running Windows 7 64 bit then you will want at least version). There is a link to get this here.
  2. Run JL_Cmder once you have installed it
  3. Start up your blackberry and connect it using the USB cable.
  4. Hit enter and select yes/no depending on whether you have a password on your device and enter the password if you do.
  5. Select option 2 (event log) and a text file should open showing the log file from the device. Scroll to the bottom of this file.
  6. You should see some lines like follows

        guid:0x97C9F5F641D25E5F time: Thu Jan 01 00:00:00 1970  severity:0 type:2 app:System data:CMM: verifyHash failed for file_name(4304)
        guid:0x97C9F5F641D25E5F time: Thu Jan 01 00:00:00 1970  severity:0 type:2 app:System data:VM:+BORK
        guid:0x97C9F5F641D25E5F time: Thu Jan 01 00:00:00 1970  severity:0 type:2 app:System data:JVM Error 102
    

    The important part here is the file_name part. This is the file that is causing the issue on your phone.

  7. Open up a command prompt and navigate to where JL_Cmder was installed to (normally C:\Program Files (x86)\JL_Cmder\ if you're running 64 bit windows).li>
  8. Run
        javaloader.exe -u erase -f file_name
    
    where file_name is the same as the file that you found in the log file.
  9. Disconnect your Blackberry and restart it.

There you go, it should now work, although obviously this depends on which file was corrupted. If you're unlucky more than one file will have been corrupted. If this is the case just repeat the steps above. If you're unlucky and it still doesn't work after this you may have to face the fact that it's time to wipe your phone and restore from a backup (hopefully you have one!).