Known Bugs in COGENT Version 1.10.04

XView Bugs

XView is the widget toolkit in which COGENT is built. XView gives COGENT its look and feel, a look and feel that is shared with many Sun applications. Indeed, XView was originally developed by Sun to simplify the process of porting older SunView programs to X windows. XView was chosen as the toolkit in which to implement COGENT because a) it is widely available (having been put into the public domain by Sun, by being part of many Linux installations, and by having been ported to a variety of other platforms); b) it is visually quite attractive; and c) it is a nice environment in which to program.

XView has two major disadvantages. It uses a variety of unusual mouse conventions (at least, unusual if you are a Windows or Mac user), and it is no longer being developed. Bugs in XView present major problems, because there is no chance that they will ever be addressed by a new release of XView. The only solution therefore is to attempt to work around them. Two bugs are currently proving troublesome:

  1. An XView error sometimes occurs when you close a model from the model's project's history window's Done button. This appears to happen when and only when the user left clicks in the model's box/arrow editor after selecting one of the panel buttons from the top of the window (e.g., Run... or Help...). It has something to do with shifting focus.
  2. Widgets for text fields don't always work correctly if the text being typed in overflows the available window space. Overflow text should just result in the appearance of a little scroll button and scrolling of part of the text off the widget (either to the left or the right). Sometimes, however, the insertion cursor is also (incorrectly) moved to the middle of the text being entered.

Some recent distributions of Linux (e.g., RedHat 5.1) do not include XView, so to compile and/or run COGENT on these it is necessary to obtain XView separately. In the case of RedHat, it is available online.

Bugs in the Interface

  1. Archive extraction should check for an existing directory before over-writing it.
  2. The archive/extract functions should be able to handle project names containing unusual characters (e.g., spaces). At the moment they don't because they just feed the project name as a character string straight to the Unix tar command (and if this character string contains spaces then those spaces are interpreted as signifying the end of the project's name).
  3. If a box's class is changed and the box's data is then reloaded (before the change of class is saved), the box's properties will be correctly updated, but the box's icon and mode menu will not be updated. (Reported by RC on Nov 4, 1998.)
  4. The location of syntax errors in imported files is incorrectly reported. (Reported by RC on Jan 24, 1999.)
  5. Cutting and pasting boxes between models tends to cause a fatal error. Bascially arrows from the pasted box may still point to boxes in the original model, even if that original model is no longer in memory. (Reported by RC on Jan 24, 1999.)

Bugs in the Execution Engine

  1. Aging of buffer elements (as used by buffer decay) is limited to within trials (i.e., it does not span blocks). Thus, an element added on the 2 last cycle of a trial, but which should decay after 10 cycles, will not decay on the 8th cycle of the next cycle.