Number: 1401
Title: Crash in dot when using "corner" ports.
Submitter: Aleksey Nogin
Date: Mon Jul 28 17:49:51 2008
Subsys: Dot
Version: 2.21.20080727.0445
System: x86-Linux-RHEL 5.2
Severity: critical
Problem:
The following crashes dot.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1208367424 (LWP 27778)]
makeFlatEnd (sp=0xbfdfa8b8, P=0x85c9348, n=0x8599b58, e=0x8599cd0, endp=0xbfdf5e5c, isBegin=0 '0')
    at dotsplines.c:982
982         b.UR.y = endp->boxes[endp->boxn - 1].UR.y;
(gdb) bt
#0  makeFlatEnd (sp=0xbfdfa8b8, P=0x85c9348, n=0x8599b58, e=0x8599cd0, endp=0xbfdf5e5c, isBegin=0 '0')
    at dotsplines.c:982
#1  0x00ed71de in make_flat_edge (sp=0xbfdfa8b8, P=0x85c9348, edges=0x85cac00, ind=1, cnt=1, et=8)
    at dotsplines.c:1217
#2  0x00ed5c52 in _dot_splines (g=0x85986f8, normalize=1) at dotsplines.c:393
#3  0x00eca9d6 in dot_layout (g=0x85986f8) at dotinit.c:212
#4  0x0030be18 in gvLayoutJobs (gvc=0x858d428, g=0x85986f8) at gvlayout.c:69
#5  0x08048992 in main (argc=2, argv=Cannot access memory at address 0x8e
) at dot.c:180
#6  0x00ae6dec in __libc_start_main () from /lib/libc.so.6
#7  0x08048801 in _start ()

Input:
strict digraph G {
   edge [constraint = false];
   Node1 -> Node2; Node1:sw -> Node3:ne;
};
Comments:
If I use "s" in place of "sw" _or_ "n" in place of "ne", it does not crash. This might be related to bugs 1370, 1372.

[erg] Works okay in 2.12.
Owner: *
Status: *