Known Bugs and Issues

These are some lists of known, more or less, serious issues.

Please give me a hint, if there are some more. Or as Einstein said: "The only source of knowledge is experience" ...

Version 0.19.2

  • Crashes on Qt 4.6.0

    Due to a bug in Qt's QPixmap constructor in Qt 4.6.0, KLayout does not work with this version.

  • Ruby modules not loaded from the installation path on UNIX

    In most cases, ruby modules are not looked for in the wrong path. The intention was to search for ".rbm" files in the directory where KLayout is installed. Instead, the current or any other directory is searched depending on how the KLayout executable is specified on the command line.

  • OASIS reader too picky

    The OASIS reader does not accept files with forward references of the special "S_GDS_PROPNAME" property name.

Version 0.19.1

  • "Test for shapes in view" feature does not work properly for AREF's

    In some cases, array references are not considered and layers appear to be empty even if they are not.

  • RBA scripts crash in tight loops on Ruby 1.8.7 (i.e. Ubuntu 9.10)

    That is a ruby problem (http://www.ruby-forum.com/topic/198545). The problem is known and a new libruby version should be available soon.

  • GDS text reader problems

    In some build environments, problems have been encountered with GDS text files with negative values.

  • Interactive stretching of images is broken

    The interactive stretching of images with the square handles is sometimes leading to invalid results and does not work properly.

Version 0.19

  • Crash when selecting "..." node in the marker browser item list

    The item list is abbreviated using a dummy item labelled "...". When clicking at this item, the application crashes.

  • "Test for shapes in view" feature in layer list is extremely slow in some cases

    This feature marks a layer "unused" when now shape is shown on that layer in the view area. Currently, the application becomes very slow in some cases when this option is used.

Version 0.18

  • Crash when selecting "instance" mode on empty layout

    When the layout is empty (no cell present, i.e. top cell was deleted) and "Instance" mode is selected in editor mode, the program crashes with an internal error.

  • Issues on Mac OS X

    There are still some issues on Mac OS X, as well for the build as for the program itself - in particular with Qt 4.5.x. For example, with accessibility enabled, the program crashes when a file is loaded. This will be fixed in version 0.18.1.

Version 0.17.2

  • Sizing bugs

    The sizing function sometimes produces invalid results, in particular when doing a strong undersize.

  • Build not working for Mac OS X

    The 'ar' call has been changed such that the Mac OS X build should work now (not tested since no test system was available).

  • Crash when double-clicking a path end in partial mode

    When double-clicking on a path end in partial edit mode (dragging just the path end), the program crashed in some cases.

  • 'Fit selection' is not working properly

    Not all instances are taken into account.

  • Wrong DBU read from GDS2 files

    The DBU per user unit is used, which is not correct. Instead the DBU per meter unit should be used.

  • Round paths are not written properly to OASIS files

  • Windows repaint problem for hidden canvas content

    Strange effects occure when a non-modal front dialog is moved over the canvas area.

  • Space representation in vector fonts

    Space characters are not represented.

Version 0.17.1

  • Program hangs if the properties dialog is closed with the system menu

    When the properties dialog is closed using the system menu (the "X" button in the window title bar), KLayout goes into an unusable state. This does not happen if the dialog is closed using the "Close" button.

  • Program crashes if many text objects have identical location

    This happens if more than 100 text objects are present that have identical locations.

  • OASIS reader problems when property name and string ID's are defined after they are used

    This was a known limitation but came up recently in a certain application.

  • AREF row and column description was swapped and misleading

    In GDS files, row and column vectors can be arbitrary x/y value pairs. However, some tools implement a more strict interpretation in which only orthogonal row and column vectors are allowed. Also, row and column must be oriented in a certain way. In addition, the description of row and column vectors is swapped.

Version 0.17

  • Display freezes on some Windows installations

    Apparently due to a problem with Qt's grabMouse function on some Windows installations the display freezes when a zoom box or selection box is opened. By switching to the Task manager using "Ctrl+Alt+Del", the display can be unfrozen but zoom or selection operations a not possible. This problem existed in all previous versions as well and apparently occured in particular on Windows XP.

Version 0.16.1

  • Some flaws in partial edit mode and polygon or path creation

    In certain cases, the closing point of polygons was not created correctly, path segments did not snap correctly to 45 degree edges or partial edit mode was behaving in a strange way.

  • Order of recent file list was latest last

    ... which is contrary to what other programs implement.

  • Selection of very large arrays happened to be very slow

    This happened because many markers have been drawn for such arrays. This has been changed such that the array is not drawn as individual markers for large arrays. Instead, a representative geometrical description is given.

Version 0.16

  • Compile problems when ruby support is not enabled

    KLayout won't link unless ruby support is enabled (-rblib, -rbinc on build.sh given).

  • "open recent" function is not working correctly on Windows

    The file names are not stored properly in the config file - thus "open recent" does not work since backslashes are dropped.

  • "change layer" function is not working properly

    Sometimes an error is issued saying that the requested layer already exist (but it does not). Undo support is not implemented correctly.

Version 0.15

  • Child cells are shown multiple times in cell hierarchy

    Under certain circumstances, child cells are shown multiple times in the cell tree, i.e. a cell "A" which is a child of "TOP" might appear multiple times in the tree below "TOP". This is not intended - child cells are supposed to appear just once, even if instantiated multiple times.

  • "Save" saves all layers if none should be saved

    If the layers to be saved are confined, i.e. to visibles ones, it may happen that, if no layer is visible for example, all layers are saved instead. A workaround is to create a new layer (i.e. layer 1000, datatype 0) and save it. Such an empty layer will be saved but won't appear in the OASIS or GDS2 file, since it does not contain any shapes.

  • Text objects are not shown correctly if a scalable font is selected for them

    Depending on the transformation of the text, the text may appear at unexpected locations for example. A workaround is to use the "default" font.

Version 0.14

  • Crash on Windows the first time when the program is called:

    On windows, crashes have been observed, when the program is started the first time after installation. This indicates some problem with Qt installation in the registry. However, this bug was not tracked down yet, because it is not easy to reproduce. Since it only happens once, it is not considered pretty serious.

Version 0.13

  • Crash on Windows when the layer list becomes very small:

    The program crashes on Windows, if the layer list becomes too small to be displayed. This happens for example, if at the default size of the program window, the color panel, the frame color panel and the stipple panel are opened in that order. Then, the height of the layer list becomes a few pixels and the program crashes.

  • KLayout does not start on some platforms and exits with a segmentation fault:

    This problem has been found on the 64bit Ubuntu 7.10 platform for example. The program does not start up and exits immediately with a segmentation fault.

    Here is a small patch that fixes that problem:

    layApplication.h:53
      Application (int &argc, char *argv []);
    instead of:
      Application (int argc, char *argv []);
    
    layApplication.cc:50
      Application::Application (int &argc, char *argv [])
    instead of:
      Application::Application (int argc, char *argv [])
    

General

  • The viewer internally builds lookup tables for fast geometrical lookup in huge data sets. This "sorting" procedure takes considerable amount of time when loading a layout. How much time it takes depends on the "flatness" of a layout. On the other hand, these structures allow fast access to small clips of the layout.
  • The objective of high display precision sometimes competes with high drawing speed. Usually however, drawing performance is quite good.
  • The OASIS implementation still has some restrictions (fewer with each release however).