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.21.17

  • Gerber file reader

    SR command (step-and-repeat) is not supported currently. "AM" macro expansion does not work as expected: parameter expansion sometimes fails and the macro expansion does not use the units at defintion but at instantiation.

  • Copy & and paste of layers in layer tree

    Layers are not copied to the current position but rather at the end of the layer tree.

  • CIF writer does not correctly write OASIS circles

    OASIS circles are represented as single-point paths with round ends. Such paths should be written as "R" round flash primitives to CIF.

Version 0.21.16

  • "Save Current Cell As"

    "Save Current Cell As" alters the state of the view. In effect, another "Save" or "Save Current Cell As" does not give the expected result. In particular, "Save" will repeat "Save Current Cell As" and not save the whole layout.

  • Images take much memory

    Images consume more memory than they are expected to. A single RGB pixel has a footprint of 15 Bytes.

Version 0.21.15

  • No timestamps in GDS files

    Currently, the time written into the GDS timestamp entries for BGNLIB and BGNSTR is a dummy value.

  • DXF writer creates layer names with blanks

    In some cases, in particular when writing layers with GDS layer/datatype plus a name, the DXF writer will create layer names with blanks in it. AutoCAD does not accept such files.

  • Rendering of foreground objects

    Foreground objects (i.e. rulers) are not rendered correctly in the printout.

Version 0.21.14

  • Initial cell not selected correctly in some cases

    The largest cell is selected which may not necessarily a top cell.

  • Excellon drill files not read

    The PCB importer does not accept many Excellon drill files, in particular when they contain routes.

Version 0.21.13

  • Cells can be copied and pasted in viewer mode

    That feature is not intended and does not work correctly.

  • Resetting the configuration requires a restart of the application

    Currently, Reset does not immediately reset the configuration.

  • OASIS reader: overflow in g-deltas

    Due to internal 32bit-processing, some g-deltas can be subject to overflow which gives wrong coordinates.

Version 0.21.12

  • Clip bug

    The clip function does not work correctly if empty cells are present.

  • CIF does not support command 93 (AREF)
  • Ruby scripts and Ruby 1.9

    Some problems have been reported when using Ruby script and the Ruby 1.9 interpreter. This is in particular the case in the Windows executable. "Dir.glob" does not work correctly for example.

Version 0.21.11

  • GDS2Text format not correctly recognized in some cases

    The automatic detection of the GDS2Text format fails in some cases.

  • Texts: strings with line breaks cannot be edited

Version 0.21.10

  • Command line option -p does not work correctly
  • OASIS writer problem

    Layouts with large coordinates are not written to OASIS correctly in some cases.

Version 0.21.9

  • Moving a cell

    The geometrical content of the instance is not drawn correctly in some cases.

  • PCB import problems

    When directly reading a PCB project (without using the assistant), some functions are broken (Bottom mounting mode, top cell, DBU).

  • RVE file reader

    The reader does not correctly handle check names with a dot.

Version 0.21.8

  • Layer properties files with tabs

    The first tab's name is not read.

Version 0.21.7

  • Navigator

    The navigator is broken. It is not functional if KLayout is closed with the navigator open.

Version 0.21.6

  • DXF reader

    Arc interpolation of polylines does not work correctly.

Version 0.21.5

  • DXF reader

    Bulges are not supported for polylines.

  • Performance issues on select

    Select (transient or on click) is slow in some cases. This happens in particular if cells in the hierarchy overlap heavily and many layers are present.

  • RBA: Edge.intersect? delivers wrong results when the edges are collinear

    The edges will be reported to intersect even if they don't. A workaround is to test if the bounding boxes overlap and the edges intersect.

Version 0.21.4

  • DXF reader

    Some POLYLINE examples were using a global width which was overridden by a per-vertex width. In that case the global width is taken rather than the correct local one.

  • Problems with non-english locales and UTF-8 file names on Linux

    On KDE, files cannot be opened when the path contains non-ASCII characters on UTF-8 file systems. In some cases, the decimal point is inconsistently ',' instead of '.' which is the standard for KLayout.

Version 0.21.3

  • CIF reader

    The CIF reader currently does not understand "DS" commands without a scale specification (i.e. "DS 20"). It always requires two additional numbers specifying the scale as a ratio of two integers (i.e. "DS 20 1 10").

  • Rotate methods swapped

    The clockwise rotate method rotates counterclockwise and vice versa.

  • "Draw border instances of arrays" feature broken

    Much is drawn and much more isn't ...

  • Ruby crash

    On some systems, the program crashes when a ruby script is loaded (i.e. with the "-rm" option) with a message "[BUG] terminated node (0x2a9708ca70)" or similar. This seems in particular to

Version 0.21.2

  • DXF reader still not complete

    In particular, interpretation of POLYLINE and LWPOLYLINE entities is not clear yet. In comparison to other converters, no merging of separate lines into polygons is provided.

Version 0.21.1

  • RBA: RdbItem.each_value is not working on const objects

    This is important, because const RdbItem objects are commonly encountered when scanning through a marker database with RBA.

  • DXF reader still not complete

    The interpretation of certain features (i.e. array instances, extrusion direction) is not clear yet.

  • Layer mapping broken for DXF and CIF readers, writers

    Incorrect layers are written for example when a layer subset is written. In addition, mapping or selection of input layers does not work correctly for DXF and CIF readers.

Version 0.21

  • Persistency of reader options is broken

    The program does not remember reader options when the dialog is closed.

  • RBA: each_selected is broken

    A segmentation fault occurs on Windows in the "each_selected" method of LayoutView.

  • DXF and CIF readers and writers incomplete

    DXF and CIF readers and writers implement only very basic features. Some important capabilities are missing, in particular for the DXF part.

Version 0.20.1

  • Program crashes when the marker browser is opened

    When the marker browser is opened with a maximum number of markers set to a value not equal to 1000 (the default), the program crashes if the marker browser window is opened from the menu (it works when the marker database is loaded from the command line with the -m switch).

Version 0.20

  • Net tracing does not extract net correctly

    This bug is related to branching conditions. In such cases, a net might not be extracted correctly.

  • Gerber reader does not correctly read certain macros

    The "outline" macro is read as a thin outline also in the "closed" case by the RS274X reader.

Version 0.19.3

  • Polygon cut algorithm for reducing the number of points per polygon in the GDS2 writer

    When the GDS2 writer has to reduce the number of points of a polygon, it will cut the polygon into smaller pieces. Under some circumstances, this algorithm fails. To avoid this problem, use the Multi XY record mode if possible.

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.