#523 sensitive to special characters in installation path

Eric L.

Environment: Java SE 6-02, WinXP, FreeMind 0.9.0b15

When installing FreeMind (0.9.0b15) with '+' appearing in some parent directory name (such as when installing in "[bla]/a+b/[bla]/FreeMind', startup fails.
Startup succeeds after removing/replacing the '+', e.b.
by '../a-b/..'.

I've attached a log file of a failing attempt. On quick scan, a successful startup (with '+' removed) yields the same log entries and warnings - except for the error.
Looking at the log, the '+' just seems to have been replaced by a space leading up to the failing file system lookup.


  • theobaldd

    theobaldd - 2007-12-06

    FreeMind user log, failing startup

  • Markus Birth

    Markus Birth - 2008-02-27

    Logged In: YES
    Originator: NO

    Same problem here...

    Running the latest BETA (15) gives the Splash and then a "Mode not available: MindMap" error. After clicking OK, the Splash reads "Start Create Controller..." and hangs.

    The important lines from the log:

    Feb 27, 2008 1:12:47 PM freemind.main.Resources logException
    SEVERE: An exception occured:
    java.lang.IllegalArgumentException: FreeMind base dir 'C:\Program Files\ Information\FreeMind\lib\freemind.jar' does not exist.
    at freemind.main.FreeMindCommon.getFreemindBaseDir(FreeMindCommon.java:291)
    at freemind.main.FreeMind.getFreemindBaseDir(FreeMind.java:1038)
    at freemind.extensions.ImportWizard.buildClassList(ImportWizard.java:80)
    at freemind.modes.mindmapmode.hooks.MindMapHookFactory.actualizePlugins(MindMapHookFactory.java:154)
    at freemind.modes.mindmapmode.hooks.MindMapHookFactory.searchFor(MindMapHookFactory.java:116)
    at freemind.modes.mindmapmode.hooks.MindMapHookFactory.getPossibleNodeHooks(MindMapHookFactory.java:102)
    at freemind.modes.mindmapmode.MindMapController.createNodeHookActions(MindMapController.java:723)
    at freemind.modes.mindmapmode.MindMapController.<init>(MindMapController.java:388)
    at freemind.modes.mindmapmode.MindMapMode.createModeController(MindMapMode.java:59)
    at freemind.modes.mindmapmode.MindMapMode.init(MindMapMode.java:54)
    at freemind.modes.ModesCreator.getMode(ModesCreator.java:93)
    at freemind.controller.Controller.createNewMode(Controller.java:569)
    at freemind.main.FreeMind.init(FreeMind.java:279)
    at freemind.main.FreeMind.main(FreeMind.java:749)
    at freemind.main.FreeMindStarter.main(FreeMindStarter.java:53)

    I installed FM in C:\Program Files\+Information\FreeMind\ .

    May it be possible, that there's some URL-decoding (which would lead to "+" replaced by space)?

  • Eric L.

    Eric L. - 2008-03-29

    Logged In: YES
    Originator: NO

    I confirm the bug also under Linux (though it doesn't appear because freemind.sh sets the base dir) but it's a quite special setup, and there is an easy workaround (rename the path), so I'll look into it after 0.9.0. A less obvious workaround is to adapt the java call with -Dfreemind.base.dir=<installationpath>, e.g. adding the paramter to freemind.bat.

    Developer's note: the issue seems to come from the URL mungling done to find FreeMind's base directory. See function getFreemindBaseDir() in file freemind/main/FreeMindCommon.java


  • Eric L.

    Eric L. - 2008-03-29
    • priority: 5 --> 2
    • assigned_to: nobody --> ewl
    • status: open --> open-later
  • Christian Foltin

    • status: open-later --> closed-postponed
  • Christian Foltin


    sounds like a very special case.
    A workaround for these cases: Set freemind.base.dir
    (for an exampe, consult freemind.sh which already does that).

    HTH, Chris


Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.

No, thanks