Uploaded image for project: 'REEF (Retired)'
  1. REEF (Retired)
  2. REEF-75

Local runtime drops the last classpath entry when creating Driver

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • None
    • REEF Runtime Local
    • None
    • Seen on Mac OS X, probably applies to other environments.

    Description

      I've noticed that the local runtime drops the last classpath entry when creating the Driver command.

      TLDR; The fix is removing double quotes from the classpath. Apparently, java does not do any quote removal or anything of that sort for its options.

      JavaLaunchCommandBuilder#setClassPath adds double quotes to the classpath. But, LocalClasspathProvider doesn't remove these double quotes, so the first and last entry have a fleeting quote (e.g. last-entry.jar") and thus discarded when the file is not found. By chance, the first entry is always reef/local/* which isn't a file, and gets added back anyway via ClasspathProvider!

      As far as I can tell, LocalClasspathProvider isn't wrong to use the string as-is (with the quotes). It's really JavaLaunchCommandBuilder#setClassPath's fault for adding them.

      I found this while tracking down a bug with yunseong. Ironically, we've also been discussing JavaLaunchCommandBuilder at REEF-69.

      Attachments

        Activity

          People

            chobrian Brian Cho
            chobrian Brian Cho
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: