Uploaded image for project: 'BlueJ'
  1. BlueJ
  2. BLUEJ-37

Compiler does not show error messages



    • Type: Bug
    • Status: Closed
    • Priority: Low
    • Resolution: Cannot Reproduce
    • Affects Version/s: None
    • Fix Version/s: 3.0.6
    • Component/s: Compiler


      If the project is in a path which contains one of the danish letters '?' '?' or
      '?' (and probably many other characters as well) the following problem occur:

      If a a class has a syntax error, it doesn't report it. The editor status bar
      just says "File saved" and the main BlueJ window shows "Compiling..." in the
      status bar.
      From that point on, it is no longer possible to compile
      - even if the syntax
      error is removed.

      If there are no syntax errors everything works fine.

      This has been observed with jdk 1.4.2_09 and 1.5.0_02 on OS X.
      It seems to work on Linux with jdk 1.4.2_09

      ------ Comment BLUEJ-1 From Davin McCall 2005-10-12 07:49:06 [reply] ------

      At least a small part of the problem seems to be a java bug. Mac filenames seem
      to be UTF-8 encoded, but it seems that the File.listFiles() method doesn't
      correctly decode the '?' character (it comes back as "a?"
      - maybe because its
      UTF8 representation is two bytes), which causes some problems.

      '?' and '?' on the other hand didn't cause me any problems, once I had set the
      compiler type to "internal" (it was set to "javac" in the bluej.properties file,
      not sure how that ever happened, but it may have been causing the problems as
      well). Not that setting to "javac" should really cause too much of a problem;
      will have to investigate further.

      - Davin

      ------ Comment BLUEJ-2 From Michael K?lling 2006-04-26 12:02:21 [reply] ------

          • Bug 1014 has been marked as a duplicate of this bug. ***

      ------ Comment BLUEJ-3 From Davin McCall 2006-08-30 02:21:29 [reply] ------

      It appears that this is a general problem which can occur on all platforms. The
      output of the compiler when an error occurs includes the full path to the source
      file which contains the error. This string is encoded using the system character
      encoding (when output) and is then decoded, hopefully using the same encoding,
      by BlueJ to get the file path.

      The problem occurs when the file path contains characters which aren't
      representable in the system character encoding. Then, characters are lost during
      output (normally turned into '?') and BlueJ never sees the proper path to the file.

      The easiest way to work around the problem at the moment is to change the system
      character encoding (on Windows, this can be done through the control panel) or
      to avoid the use of project paths and package/class names with non-ascii characters.

      As a proper fix, the way BlueJ executes the compiler can be modified to avoid
      the encoding/decoding step.

      ------ Comment BLUEJ-4 From Poul Henriksen 2006-08-30 08:37:07 [reply] ------

      Subject: Re: Compiler does not show error messages

      I am pretty sure that this is not the reason for the problem on the mac,
      as the character encoding I am using (MacRoman) can represent the danish

      I just tried creating a folder named "???" from the BlueJ "New Project".
      To make any sense, that must be created with the system character
      encoding, and should not fail if what you describe is the problem. But
      is does fail.




            • Assignee:
              davmac Davin McCall
              mik Michael K├Âlling
            • Votes:
              0 Vote for this issue
              0 Start watching this issue


              • Created: