jMemorize broken lesson file bug

There is a bug in jMemorize that can break the lesson file and make it impossible to access your flashcards. When you try to open the file, jMemorize will display an error dialog which when extended says something like “java.io.IOException: Character reference “&#11″ is an invalid XML character.”

The problem appears to be caused by faulty Java XML parser implementation, which has problems with certain characters that can’t be entered inside of jMemorize – but can be copy’n’pasted from other programs into jMemorize, most often from Adobe Acrobat Reader.

There is a simple way to fix the lesson file. When compression is enabled, lesson are basically zip-files. Uncompress the file and inside you will find a ‘lesson.xml’ file. Open that file in a text editor and remove all appearances of the problematic character sequence with an added semicolon. For the example error message given above, this would be “”. Save the xml file and put it back into the zipped file.

On my Windows system I usually do this: I add the file suffix “.zip” to the lesson and then double-click on it to open my WinRar software. I then drag’n’drop the lesson.xml onto a folder. Then I edit the lesson.xml in a text editor and drag’n’drop the file back onto the opened WinRar window, so that the lesson.xml in the zip file gets updated. I close WinRar and remove the suffix and I have a fixed lesson file.

jMemorize will only put the lesson into a zipped file, when compression is enabled in the preferences dialog. If compression is disabled, the .jml file is just the plain text file already, so you can open the .jml directly in your text editor and fix the file without having to handle any zip software.

If you need more help, please open a bug on the jMemorize bug tracker, upload your faulty lesson file and I will take a look myself. Considering over 170,000 downloads this bug doesn’t seem to occur very often. It’s pretty annoying none the less though and I’m sorry for any inconveniences it is causing.

Advertisements

4 thoughts on “jMemorize broken lesson file bug

  1. Dear Riad Djemili,

    I am really happy for the program you have developed, in fact it really helped me to learn english in an easy way. but I have a problem with my lesson which is Barrons 3500. it loaded the file completely (with answers containing images to enhance the learning process) but unfortunately, I dont know what is wrong, it shows the answers but hides the pictures (doesn’t show). it has created lots of problems for me, so would you please help me in this regard.

  2. hello
    when i want to open jml ocur an error
    “Ver 1.3.0 (200803122134) – Java 1.6.0_15 , OS Windows 7
    java.io.IOException: Character reference “&#4” is an invalid XML character.
    at jmemorize.core.Main.loadLesson(Unknown Source)
    at jmemorize.gui.swing.frames.MainFrame.loadLesson(Unknown Source)
    ………………….(Unknown Source)
    ……………………(Unknown Source)
    .

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s