daVinci V2.1 beta bugreport --------------------------- This file contains informations about all known bugs of the interactive graph visualization system daVinci V2.1. The bugreport is continuously updated on ftp.tzi.de (134.102.224.52) in file /tzi/biss/daVinci/BUGREPORT Subject Overview: ----------------- Bugs in daVinci V2.1: 18-V2.1: Self refering edges not selectable in horizontal orientations 17-V2.1: Structural navigation in cyclic graphs doesn't work correctly 16-V2.1: API command set(no_cache(true)) doesn't work without graph 15-V2.1: Arguments of command line option -startappl aren't checked 14-V2.1: Page size is always A4 at startup 13-V2.1: HP-UX: Edge selection doesn't work 12-V2.1: API commands graph(update...(mixed_updates,...)) don't work 11-V2.1: checkterm tool and parser complain about menu attribute 10-V2.1: Printing graph with abstractions may show invisible nodes 09-V2.1: Double click on a node or edge may result in a program error 08-V2.1: Printing graph with self-refering edges dumps core 07-V2.1: API command menu(file(new)) results in program error 06-V2.1: 'Disconnect Application' is activated for new contexts 05-V2.1: New window ignores activated 'File'-menu entries (API) 04-V2.1: Double click next to dummy node results in program error 03-V2.1: daVinci V2.1 distribution uses to much diskspace 02-V2.1: Applying layout algorithm after hiding node may result in error 01-V2.1: Memory leak Detailed Bug descriptions: -------------------------- ============================================================================= Bug Number: 18-V2.1 Found by: Michael Froehlich (former member of daVinci project) Date: 2000-07-03 Author: Mattias Werner Affected: daVinci V2.x Subject: Self refering edges not selectable in horizontal orientations Module: DaVinciWindowEvents.AS Problem: If a graph with self-refering edges is displayed in horizontal (i.e. left-to-right, right-to-left) orientations, the self refering edges can't be selected with the mouse. Reason: The selection algorithm doesn't consider the orientation correctly. Therefore the self-refering edge is still asumed at the left side of the node, where it would be in vertical orientations and if the user clicks there, the edge will be selected. Workaround: Try to select the edge by clicking at the left side of the node. State: Will not be fixed, because the selection algorithm has been reimplemented for the next version of daVinci. (2000-07-03). ============================================================================= Bug Number: 17-V2.1 Found by: Tom Young Date: 1999-12-6 Author: Mattias Werner Affected: daVinci V2.x Subject: Structural navigation in cyclic graphs doesn't work correctly Module: DaVinciNavigation.AS Problem: By using the navigator dialog or the keyboard commands of daVinci to navigate through a cyclic graph according to its structure, daVinci mixes up parents and childs. Against that, menus for selecting parents, children or sibling nodes are working correctly. Reason: The structural navigation was implemented on the internal graph structure of daVinci, in which some edges are inverted for dealing with cyclic graphs. Instead it has to be implemented on the real graph structure as it is already done for the above mentioned menu entries. Workaround: None. State: Fixed internally. (1999-12-6). ============================================================================= Bug Number: 16-V2.1 Found by: P.C.Callaghan Date: 1999-10-20 Author: Mattias Werner Affected: daVinci V2.x Subject: API command set(no_cache(true)) doesn't work without graph Module: DaVinciCommunicationUnit.AS Problem: If the API command set(no_cache(true)) is sent to daVinci before a graph is loaded, daVinci crashes with Arithmetic exception - core dumped Reason: Not analyzed. Workaround: Send the API command after loading a graph. This is no performance or memory problem, because immediately after loading the graph nothing is cached. Another workaround is to 'Save Options' of daVinci after setting 'No Pixmap Caching' in the 'General Settings ...' dialog of daVinci. This will always start daVinci with pixmap caching off. Than you could send 'set(no_cache(false))', which works without a graph, if you want pixmap caching again. State: Open, will not be fixed, because there will be no pixmap caching in daVinci V3.0. ============================================================================= Bug Number: 15-V2.1 Found by: Issac Alphonso Date: 1999-06-23 Author: Mattias Werner Affected: daVinci V1.x - V2.x Subject: Arguments of command line option -startappl aren't checked Module: DaVinciUserInterface.xc Problem: If the command line option -startappl isn't used with exactly two arguments, daVinci terminates without an error message. Reason: The function process_startappl_option has to report the error in interp->result, which is currently empty. Therefore we get an empty line from daVinci after termination. Workaround: Use -startappl with the two arguments 'directory' and 'name' of the application, which are concatenated to 'directory/name' and than executed. State: Open ============================================================================= Bug Number: 14-V2.1 Found by: David Musliner Date: 1999-02-17 Author: Mattias Werner Affected: daVinci V2.x Subject: Page size is always A4 at startup Module: dv_main.tcl Problem: Users can't set another page size than A4 as their default, although the page size is saved in the options file of daVinci with menu "Options->Save Options". Reason: The current page size is ignored in the Tcl part of daVinci. Workaround: None. State: Open ============================================================================= Bug Number: 13-V2.1 Found by: Olaf Michelsson Date: 1998-11-18 Author: Mattias Werner Affected: daVinci V2.1 Subject: HP-UX: Edge selection doesn't work Module: Real.xc Problem: On the UNIX platform HP-UX, the selection of regular edges in daVinci doesn't work. Only self-edges can be selected. Reason: The standard library of the programming language ASpecT contains a buggy implementation of real numbers, which has been corrected already for the next version. Workaround: None, please contact davinci@tzi.de if you need a new binary with only this bug fixed. State: Fixed on FTP server for HP-UX. (1998-11-18) ============================================================================= Bug Number: 12-V2.1 Found by: Laurent PIERRE Date: 1998-11-13 Author: Mattias Werner Affected: daVinci V2.0.x - V2.1 Subject: API commands graph(update...(mixed_updates,...)) don't work Module: DaVinciCommunicationSorts.AS Problem: The API commands graph(update(mixed_updates)) and graph(update_and_change_attr(mixed_updates,attr_changes)) don't work. If they are used, a communication_error ("Some syntax error found in API command, please correct and try again") is delivered. Reason: Obviously this is a bug in the read function of the programming language ASpecT. After changing the order of the overloaded constructors update and update_and_change_attr in sort graph_cmd, the above commands work, but the others don't. Therefore the API commands will have to be renamed in the next release. Workaround: Use API commands graph(update(node_updates,edge_updates)) and graph(update_and_change_attr (node_updates,edge_updates,attr_changes)) instead. Remember, that the mixed_updates commands will get new names in the next release (mixed_update, mixed_update_and_change_attr). State: Fixed internally. (1998-11-13) ============================================================================= Bug Number: 11-V2.1 Found by: Tomasz Ksiezyk Date: 1998-10-07 Author: Mattias Werner Affected: daVinci V2.1 Subject: checkterm tool and parser complain about menu attribute Module: DaVinciTermAnalysis.AS Problem: If a syntax error occurs in a graph term, the wrong error message maybe displayed, if the term contains the attribute 'm(...)'. This happens if the tool checkterm is used, even if the term contains no syntax errors at all and daVinci will display the graph correctly. The error message will always be: "unexpected 'm' while expecting 'a' or ']'" Reason: The new case 'm(...)' hasn't been added to the 'parse_attribute' function in DaVinciTermAnalysis.AS. Workaround: Try to remove all menu attributes from the graph term and check or load it again. If there is still an error, you'll get the correct error message. If the graph is correct afterwards, the error is in the 'menus' part. Please try to correct it according to the BNF in the documentation. You can't use checkterm for graphs containing menu attributes, it will always report the above error. State: Fixed internally. (1998-10-21) ============================================================================= Bug Number: 10-V2.1 Found by: Julian Rich Date: 1998-09-15 Author: Mattias Werner Affected: daVinci V2.1 Subject: Printing graph with abstractions may show invisible nodes Module: DaVinciPrinting.AS Problem: If a user prints a graph with hidden nodes (i.e. some nodes are abstracted and therefore some other nodes are invisible), the invisible nodes may appear in the printing (i.e the PostScript file) of the graph in the top left corner together with their invisible edges. Reason: The invisible flag of the nodes wasn't checked before printing it in function print_node. Workaround: None. State: Fixed internally. (1998-09-17) ============================================================================= Bug Number: 09-V2.1 Found by: Tim Ehlers Date: 1998-09-04 Author: Mattias Werner Affected: daVinci V2.1 Subject: Double click on a node or edge may result in a program error Module: DaVinciWindowEvents.AS. Problem: If a user double clicks on a node or edge and an application is connected to the API, that immediadiately deselects the node or edge after receiving API answers "node_selections_labels([...])" or "edge_selection_label(...)", daVinci sometimes terminates with: program error: "hd []" Reason: This happens, if the API command to deselect the node or edge is triggered before the second selection event to process the double click. Function process_double_click expected that the list of selected nodes contains at least one element. Workaround: Try to avoid double clicks if your API immediately deselects nodes and edges after receiving the above API answers or wait half a second to be sure, that the double click has been processed, before deselecting the node or edge. State: Fixed internally. (1998-09-04) ============================================================================= Bug Number: 08-V2.1 Found by: Scott Lipcon Date: 1998-08-07 Author: Mattias Werner Affected: daVinci V2.1 Subject: Printing graph with self-refering edges dumps core Module: DaVinciGraphicalLibrary.xc Problem: If a graph contains self-refering edges, printing it may result in a core dump on some UNIX platforms. Reason: malloc/free error, that didn't occur on Sun Solaris but especially on Linux. Workaround: None. State: Fixed internally. (1998-08-07) ============================================================================= Bug Number: 07-V2.1 Found by: Gero Streng <100336.1521@compuserve.com> Date: 1998-07-27 Author: Mattias Werner Affected: daVinci V2.1 Subject: API command menu(file(new)) results in program error Module: DaVinciUIFunctions.AS Problem: If a node is selected and the API sends the command menu(file(new)), one of the next API commands may result in a 'program error: "(!) on undefined domain in dictionary"'. Reason: The Grid, which stores the selected nodes isn't reset correctly, if there is no graph, which is true, after menu(file(new)). Workaround: Send command 'special(select_nodes([]))' immediately before menu(file(new)). State: Fixed internally. (1998-07-27) ============================================================================= Bug Number: 06-V2.1 Found by: Gero Streng <100336.1521@compuserve.com> Date: 1998-07-27 Author: Mattias Werner Affected: daVinci V2.x Subject: 'Disconnect Application' is activated for new contexts Module: dv_main.tcl Problem: If daVinci is started with -pipe and the API opens a new context, the menu 'File->Disconnect Application' is active, although it shouldn't because of option -pipe. Reason: Disconnect Application is already correctly deactivated in proc dv_setupWindow and needs no further treatment in proc dv_connect_ if an application is connected. Workaround: None. State: Fixed internally. (1998-08-06). ============================================================================= Bug Number: 05-V2.1 Found by: Gero Streng <100336.1521@compuserve.com> Date: 1998-07-27 Author: Mattias Werner Affected: daVinci V2.x Subject: New window ignores activated 'File'-menu entries (API) Module: DaVinciCommunicationUnit.AS Problem: If the API controls the 'File'-menus itself via API command app_menu(control_file_events) and no menus are added to the 'Edit'-menu, the active menus are ignored, if a new window for the current context is opened. Reason: There is a function to transfer menu settings to the new window, but it is only checked, if there are application menus under 'Edit', that have to be activated and not if control_file_events has been set. Workaround: Just add a small menu to the Edit menu with commands of category app_menu. State: Fixed internally. (1998-07-27) ============================================================================= Bug Number: 04-V2.1 Found by: Andreas Vox Date: 1998-07-21 Author: Mattias Werner Affected: daVinci V2.1 Subject: Double click next to dummy node results in program error Module: DaVinciWindowEvents.AS. Problem: If a user double clicks next to a dummy node (i.e. the dummy node would be selected and than clicks again), daVinci terminates with: program error: "hd []" Reason: A double click can only occur, if exactly one regular node or an edge is selected. This wasn't considered correctly in function terminate_selection. Workaround: Try to avoid double clicks next do dummy nodes. Dummy nodes are the nodes inserted for long edges crossing more than one level. State: Fixed internally. (1998-07-23) ============================================================================= Bug Number: 03-V2.1 Found by: Michael Froehlich (former member of daVinci project) Date: 1998-07-20 Author: Mattias Werner Affected: daVinci V2.1 Subject: daVinci V2.1 distribution uses to much diskspace Module: All distribution files on the FTP-Server Problem: In the documentation part of the daVinci V2.1 distribution are some temporary files contained, that can be removed and use more than 11MB of diskspace. Workaround: Please remove the directory $DAVINCIHOME/docs/user_interface/example_images/new State: Fixed on FTP-Server 1998-07-21. ============================================================================= Bug Number: 02-V2.1 Found by: Andreas Vox Date: 1998-07-20 Author: Mattias Werner Affected: daVinci V2.1 Subject: Applying layout algorithm after hiding nodes may result in error Module: DrawingGridFunctions.AS. Problem: If for example the root node of the graph all_features.daVinci is hidden with menu Abstraction/Hide Subgraph and than Layout/Improve All is called, daVinci terminates with the message: program error: "Unexpected case: Illegal coordinate ( -1 , 0 ). Module = Grid, function = ! (get)." Reason: In the function scan_node_to_grid, we don't consider if a node is currently invisible. This was no problem for small nodes, because in this case, they are still in grid coordinate (0,0) but if they get larger, they get an illegal grid coordinate. Therefore the apitester didn't find this bug. Workaround: None. State: Fixed. (1998-07-21) ============================================================================= Bug Number: 01-V2.1 Found by: daVinci project, Gero Streng <100336.1521@compuserve.com> Date: 1998-04-20 Author: Mattias Werner Affected: daVinci V2.x Subject: Memory leak Module: ASpecT runtime system Problem: There must be a memory leak in daVinci. If the apitester application runs, you can see the memory usage of daVinci and the apitester grow. Reason: We suppose, that the garbage collection of the implementation language ASpecT doesn't free the memory correctly. We couldn't find wrong memory handling in the C parts of daVinci. Workaround: None, terminate daVinci if it uses too much memory, we are sorry but there is no other solution. State: Remains Open. ============================================================================= -End-