Fixed Bugs

In the following we use "crash" to mean an uncaught exception which triggers a "crash report" dialog in jGRASP. This may or may not be a real problem - some uncaught exceptions do not cause any harm.




Bugs in Version 1.7.0 Beta 4 Fixed in Version 1.7.0

A bug that was causing an occasional crash at start-up was fixed.



New Features in Version 1.7.0

CLASSPATH is passed to appletviewer commands (Run Applet and Debug Applet for Java).

Detailed messages are now given when a compiler or program fails to run on UNIX/Linux.



Bugs in Version 1.7.0 Beta 3 Fixed in Version 1.7.0 Beta 4

Paste of plain text was broken in Beta 3 (rtf still worked though).

For the Java debugger, watch markers on inaccessible fields are the same color as the field marker instead of black, which can make them hard to see.



Bugs in Version 1.7.0 Beta 2 Fixed in Version 1.7.0 Beta 3

Printing may crash when part of the text is folded.

Closing the UML window while compiling from the UML window causes a crash.



New Features in Version 1.7.0 Beta 3

"Auto-Step" feature that allows automatic repeated stepping or resuming has been added to the Java debugger.



Bugs in Version 1.7.0 Beta Fixed in Version 1.7.0 Beta 2

Long lines in PostScript printouts may contain added spaces.

UML print preview fails (display is incorrect) when the size of the previewed pages is smaller than a certain size.

Text can be dragged and dropped into compile messages window and jGRASP messages window, which can result in mangled output.

Debug "eval" gives incorrect results for == and != when applied to Objects.



New Features in Version 1.7.0 Beta 2

The default project has been eliminated, and users can now use jGRASP "projectless".

Expression evaluation in the Java debugger now supports varargs and autoboxing/unboxing.

Values in the Java debugger can now be dragged to anywhere and released to pop up a "view by name" viewer.

Shortcut operators -- && || ?: -- can now be used in eval expressions, method arguments, etc. in the integrated Java debugger.



New Features in Version 1.7.0 Beta

Multiple projects can be open simultaneously.

Workspaces can be saved and loaded.

Project level run and debug commands are available on the UML window.

Methods can be invoked while debugging from within the workbench.

Numerous other small features were added, menus reorganized, etc.



Bugs in Version 1.6.6 Fixed in Version 1.6.7

In a CSD window, undoing edits on a saved file then doing an equal number of edits will mark the file as unmodified, even though it is modified. This may cause unexpected behavior, and lost edits.

In the debugger and workbench, doubles and floats with NaN values will always be shown in red text (indicating change) even when the values were previously NaN.

In 1.6.6, timeouts were added to kill the debugger if it did not respond for 10 seconds. This proved to be a problem because of modal dialogs. If jGRASP locks up while using the debugger or workbench, you should kill the target process externally using Task Manager on Windows, "kill" on UNIX/Linux, etc.



Bugs in Version 1.6.5 Fixed in Version 1.6.6

Switched default debug attacher from shared memory to socket on Windows NT/2000/XP, since the shared memory attacher tends to lock up under Sun Java 1.5 beta.



Bugs in Version 1.6.4 Fixed in Version 1.6.5

Some compatibility issues when running under Sun Java 1.5 beta are resolved. There probably are other problems.

Some characters with valid font mappings, such as curly double quotes on Windows, may show up as hex codes in the CSD and Run I/O windows.

After doing a "find" in the Run I/O window, the cursor may move into the output region, which will allow editing of previous output, and may lead to other problems.

If a "clear" or "File / Open" is done from a CSD window, settings for the previous file will not be saved, and the file will not be added to the "Recent Files" menu.

If text above the screen which contains all bookmarks or breakpoints is cut, the on-screen text will not be shifted, and the display may be temporarily corrupted.

In the jar and documentation generating tools, some of the files are not stored as relative, and will become absolute when jGRASP is restarted. This means that if a project is move, the jar target file and documentation target directory will not move with it, and will have to be reset.

Command paths for compile, run, etc. are not quoted on Windows. This can cause "C:\Program Files\etc\etc\something.exe" to fail if the file" C:\Program" exists, for example.

Selecting both files and the project in the project tab and using "Open" from the popup menu will cause a harmless crash, and some or all of the files may not open.



Bugs in Version 1.6.3 Fixed in Version 1.6.4

Workbench does not work on Linux, and may not work on Mac OS X.

Absolute compiler environment category commands ("Run" "Compile" etc.) in "Environment" settings do not exclude other commands as they should.

For certain configurations of thread groups and threads, the integrated debugger may crash when a thread group is deleted.

Changing the CSD color or background color may not work for editing windows that are already open.



Bugs in Version 1.6.2 Fixed in Version 1.6.3

When selecting a color using a color choser, if you have changed the font scale, a white area may appear under the color choices. Moving the mouse over or clicking on this area will cause a crash. (JDK bug)

Editing may leave behind garbage on the screen due to characters that extend beyond their "stringBounds". This is fixed, but reversed (highlighted, etc.) characters will still be cut off in some places - this will not be fixed until 1.7.0.

Under Windows, saving a file using the automatic extension when a file with the same name but different case exists will save under the existing file's name instead of the chosen name.

The user is allowed to (attempt to) create new compiler environments when running in safe mode, and this leads to a crash.

jGRASP may crash under Java 1.3 beta. Version 1.6.3 will refuse to run under 1.6.3 beta.

Entering a unicode escape with code greater than 255 in a Java CSD Window can cause a crash.

Focus-follows-mouse defaults to "on" in Windows.

Auto-scroll (dragging past the edges of the screen to scroll) is broken for CPG windows, and auto-scrolling to the right can cause a crash.

If a Java source file is open for which the corresponding class file is obfuscated or corrupted so that it contains line number "0" in a line number map, the integrated Java debugger and workbench will fail.



Bugs in Version 1.6.1 Fixed in Version 1.6.2

Having any windows outside the virtual desktop can cause various crashes.

Generating a jar file when a class file that was directly added to the project is missing, or one of the class files is corrupted, can cause a crash.



New Features in Version 1.6.2

In the browse window and in file choosers, Windows directory shortcuts can be navigated, and actions on a file shortcut will typically act on the target rather than the shortcut.



Bugs in Version 1.6.0 Fixed in Version 1.6.1

When running or debugging cygwin applications using the (default) cygwin wedge, an extra command line argument will usually be added at position 1, and other arguments shifted up by 1.

If a fixed transport argument is used in a compiler environment for "Debug Applet" in Java, debugging will not work.

"Compile All" from the UML window will fail with a stack dump if one of the source files is missing (has been deleted or renamed).



Bugs in Version 1.6.0 Beta 7 Fixed in Version 1.6.0

Breakpoints in files that were not open when a debug or workbench session started are not recognized.

Opening global settings may cause a stack dump on OS X (JDK bug). The bug will make CSD window font choice unavailable under jGRASP 1.6.0.



Bugs in Version 1.6.0 Beta 6 Fixed in Version 1.6.0 Beta 7

Two-line files with DOS terminators will be opened in binary mode ("0D" character visible). Pasting a two-line item with DOS terminators will paste in the "0D".

Shutting down the workbench while a method or constructor is in progress will cause a harmless stack dump.



New Features in Version 1.6.0 Beta 7

On Windows, applications may be run or debugged in an "always on top" mode (and this is the default).



Bugs in Version 1.6.0 Beta 5 Fixed in Version 1.6.0 Beta 6

In the last few Beta versions of jGRASP, after killing the debugger or workbench, the debugger or workbench will usually not run again (the target Java process will crash).



Bugs in Version 1.6.0 Beta 4 Fixed in Version 1.6.0 Beta 5

Cursor in CSD window is sometimes changes into a "black" version of the bookmark or breakpoint cursor (JDK bug).



New Features in Version 1.6.0 Beta 5

Windowbar button positions are remembered when jGRASP is shut down and restarted.

CSD Windows and UML Window show run, compile, workbench, etc. status.



Bugs in Version 1.6.0 Beta 3 Fixed in Version 1.6.0 Beta 4

When running a Java program under Windows, hitting CTRL-Break in the "Wedge" console will usually kill the process being run before the whole stack dump is printed.

Many of the built-in compiler environments will not recognize errors in which the file path contains more than one consecutive space.



New Features in Version 1.6.0 Beta 3

Added Windowbar (similar to Windows Taskbar) to virtual desktop.

Added CSD support for proposed JDK 1.5 features - generics, enums, new for syntax, varargs, static member imports.



Bugs in Version 1.6.0 Beta 2 Fixed in Version 1.6.0 Beta 3

Using the system menu "Quit" on Mac OS X 10.2 will kill jGRASP, so settings will not be saved and the lock file warning will come up the next time jGRASP is run.

Using a mouse scroll wheel on a CSD window under Mac OS X 10.2 will fail and cause a stack dump.

If the virtual desktop is off when the UML window is opened, the Info/Goto/Workbench tab pane will usually be missing.

Generating documentation from UML for a Java file that has never been opened in jGRASP will fail and cause a stack dump.

Some lines in the UML diagram which should be vertical are off-vertical by one pixel, which makes them appear fuzzy.

Saving a file when a file with the same name but a different case exists on Windows file systems will not change the file name.

Under JDK 1.3, clicking on a project file in a file chooser will select the filename with "[P]" appended. The [P] will no longer be shown under JDK 1.3, since there is no way to show it and not have this problem.



Bugs in Version 1.6.0 Beta Fixed in Version 1.6.0 Beta 2

If the UML window is in the virtual desktop and is closed, focus will sometimes transfer to this "invisible" window when another desktop window is closed, iconified, etc. Also, the UML window will become visible again when the virtual desktop is turned on or off.

Under the Mac Look-And-Feel, the file name field of all file chooser dialogs is not visible.

In block cut/paste mode, "Select All" selects the number of columns in the last line of the text instead of all text.

Actions in the virtual desktop do not always behave according to the current L&F. For example, Ctrl-F6 should maximize the next active frame if the current active frame is maximized under the Windows L&F. Under 1.6.0 Beta, this happens only on the second try.

Under the Windows L&F, using Ctrl-F6 to navigate internal frames after a frame is closed can lead to a harmless stack dump.



Bugs in Version 1.5.3 Fixed in Version 1.6.0 Beta

Generating a CSD on a C++ file containing an unnamed namespace will fail and cause a stack dump.

Changing the sort type in the jar/zip extractor without a file selected will cause a harmless stack dump.

Generating a CSD will reset the default line terminator type for a "save" to UNIX (\n) terminators.

Regular expression "find" with cursor at end of text may cause a crash. Regular expression multi-file search may cause a crash if some files are empty.

"Backup As" does not save settings of current file to the backed-up file.

"Backup As" will cause a stack dump if the file is unnamed.

Multi-line untab (shift-Tab) with varying-depth CSD in selecton may cause a stack dump.

Renaming the current browse window directory then hitting the "Up" button will fail and cause a stack dump.

Native windows print of a file without a header or filename after printing one with a header or filename will fail and cause a stack dump.

Go to next or previous use from UML may go to the wrong line if CSD boxes are on and a CSD has been generated.

Debug mode connection for compile/run (%<CX> flag) does not work on Windows XP.

For the Windows self-installing exes, if the .java extension is not associated with any program or the user chooses to associate .java with jGRASP, .m files will be associated with jGRASP regardless of user choice.

The UML diagram will miss dependencies for a class if only the class itself is referenced (no fields or methods of the class are referenced).

Java syntax coloring and CSD generation do not process unicode escapes.

Java syntax coloring and CSD generation do not process line feed (\r) characters within a line.

Generic GNAT compiler environments do not handle new GNAT error formats with line and column numbers.

Marking a single character selection will mark to the end of the text and cause a stack dump.

The debug variables display in the Java integrated debugger is not recursively updated when a node is expanded by clicking on it, only the expanded node is updated. This is only a problem if another thread is modifying the values.

If array contents are viewed during Java integrated debugging and the array becomes null, a stack dump is generated.

During Java integrated debugging, if an expanded value changes from an array to a non-array or vice-versa, a stack dump is generated.

All tree displays may have unreadable text in Windows L&F if the system background color is very dark.

Not all legal Java identifier characters are allowed in Java identifiers for CSD generation and keyword coloring. We do not yet support 16 bit characters, but all 8 bit identifier characters are now allowed.



Bugs in Version 1.5.3 Beta 3 Fixed in Version 1.5.3

No new bugs of any importance have been found since 1.5.3 Beta 3 was released.



Bugs in Version 1.5.3 Beta 2 Fixed in Version 1.5.3 Beta 3

Native Windows printing may fail with a "file not found" error on some systems/JVMs.

Navigating to the root directory in any filechooser on Solaris or Linux will cause a crash with some JVMs.



Bugs in Version 1.5.3 Beta Fixed in Version 1.5.3 Beta 2

Using UML navigation on UML diagram generated by some older versions of jGRASP can cause a crash.

JVM print not starting at the first page will cause a crash.



Bugs in Version 1.5.2 Fixed in Version 1.5.3 Beta

Copying and printing folded text may cause a crash or a corrupted clipboard text or printout in some rare cases.

Regular expression searches that lead to deep recursion may cause stack overflow crashes.

Due to use of multiple threads in JFileChooser, jGRASP may crash with a concurrent modification exception when file choosers are popping up, changing directories, refreshing, etc.

The real dependencies for synthetic UML dependencies are not remembered between executions.

Dropping files onto jGRASP may cause a lock-up on some JDKs if this pops up a modal dialog for any reason (such as choosing a language if the extension matches multiple languages).

Drag from file browser and project window may show drop cursor when a drop is not possible on some JDKs/systems.

When the last line of a selection starts with three spaces, shift-tab (reduce indent) with the cursor on column 2 or 3 of the last line of the selection will cause a crash.

Shift-tab (reduce indent) does not handle mixed spaces and tabs.

Generating a CSD for a C or C++ file that includes a file with no name (#include "") will cause a crash.

First-letter keyboard navigation does not work in browse, project, and debug thread windows.

If a compile or run command is not found on Windows 95/98/ME, the error message will indicate success.

For built-in Ada compiler environments, "Run" and "Debug" command line arguments are ignored.

Printing of text that contains undefined CSD characters will cause a crash if using "JVM Print".

Click-to-error on a non-existent line with line numbers frozen will cause a crash.

CSD window "Find" function will not find text containing CSD characters.

Some paste operations may cause a crash under some JDK 1.4.0 versions.

File chooser initial size will be large if directory name is long.

"Additional Files" from a jar file creation are not remembered between jGRASP executions (only the first file in the list is remembered).

If self and super references to a field or method exist in a Java class and that class does not shadow or override the field or method, a duplicate entry will appear in the UML dependency info pane.

Ctrl-F6 on a virtual desktop CSD window will cause a crash if the overall font scale or the look-and-feel has been changed.

Soft tabs do not tab correctly on lines containing real tabs.

Generating UML on a corrupted class or jar file may cause a crash.



New Features in Version 1.5.3 Beta

Added tabify, untabify, and strip-trailing-whitespace functions to "Edit" menu.

Various forms of navigation from UML dependencies to source code were added.



Bugs in Version 1.5.1 Fixed in Version 1.5.2

When jGRASP is started in an environment where the default character set is 16 bit, there are repeated crashes at startup.



Bugs in Version 1.5.1 Beta 3 Fixed in Version 1.5.1 Beta 4

Creating a jar file will fail with a crash or error message if there are no Java or class files in the project.

Jar extractor may corrupt binary files on Windows and other systems where the default character encoding is not Latin-1.

CSD window "Find" function may not work for binary data on Windows and other systems where the default character encoding is not Latin-1.



Bugs in Version 1.5.1 Beta 2 Fixed in Version 1.5.1 Beta 3

Lines may not recolor correctly after pasting text containing newlines onto the last line of a multi-line comment in Java, C, C++, and Objective-C.

In C, C++, and Objective-C, lines following a comment ending in */ , where the star and slash are separated by a backslash-newline, are not colored correctly. (Try other popular syntax-coloring editors to see if they handle this type of thing at all.)

Crash reporter reports unknown bugs as known JDK bugs after August 13, 2002.

jGRASP will not start under JDK 1.2.2.



New Features in Version 1.5.1 Beta 3

Multi-file search and autotest now run in a separate thread and can be aborted.



Bugs in Version 1.5.0 Fixed in Version 1.5.1 Beta 2

In block cut/paste mode, pasting or undoing a paste at the end of the text may cause a crash.

Block selection, cut, or paste of folded text may cause temporary corruption of the display.

Entering a lower-case drive letter in the browse window path field may cause an endless loop of "no disk in drive warnings" under JDK 1.3 or lower on Windows. The only way to stop it may be to put a disk in the A drive. Under JDK 1.4 the wrong drive letter is displayed on the drive combo-box, but there is no serious problem.

In rare circumstances jGRASP may generate a stack dump at startup or when font settings are changed. This may cause temporary display problems.

Pasting text that ends in a newline into the Run I/O panel will cause a stack dump. This may lead to further crashes.

Opening a file that is already opened as "unnamed" will cause a stack dump, and the CSD window for the opened file will not have the correct settings for the file, and may not have the correct language.

Document command does not work for Java compiler environment with "assertions".

File dialogs will take a very long time to pop up under JDK 1.4 if many files are selected (JDK bug).

Extra semicolons not allowed everywhere they should be for CSD generation under Java.

The CSD "Left Align" setting never worked correctly. It has been removed.



New Features in Version 1.5.1 Beta

CSD for try/finally in Java now shows "finally"s that will be executed when the try is exited (return, break, or continue).

All 8-bit character encodings are now supported. CSD window character encoding can be changed to other than the default on global CSD window settings "Font" page.

Lots of minor usability improvements.