dotty hangs

Bug #192590 reported by Erik de Castro Lopo
16
Affects Status Importance Assigned to Milestone
graphviz (Ubuntu)
Fix Released
Low
Unassigned
Nominated for Hardy by psk

Bug Description

Regression from gutsy to hardy.

I have a tivial dot file:
---------------------------------------------
digraph name {
rankdir = LR ;

node [shape = circle]; s00
node [shape = circle]; s01
node [shape = circle]; s02
node [shape = doublecircle]; s03_one
node [shape = doublecircle]; s06_two
node [shape = doublecircle]; s09_three

s00 -> s01 [label = "a"];
s00 -> s01 [label = "b"];
s00 -> s01 [label = "c"];
s00 -> s01 [label = "d"];
s00 -> s01 [label = "e"];
s01 -> s02 [label = "f"];
s01 -> s02 [label = "g"];
s01 -> s02 [label = "h"];
s01 -> s02 [label = "i"];
s01 -> s02 [label = "j"];
s02 -> s03_one [label = "a"];
s02 -> s06_two [label = "b"];
s02 -> s09_three [label = "c"];
}
---------------------------------------------

The dotty shipped with gutsy displays this file without a problem. Dotty on hardy hangs and never renders.

Impact on users: dot files can trigger a bug that causes dotty to hang.
The bug has been fixed in upstream 2.16.1, and is fixed in all versions in Ubuntu from Intrepid onwards
A minimal patch from 2.16.1 was provided previously, as was a debdiff. The debdiff has been reformatted to address a previous complaint.

The bug can be reproduced using the simple dot file described above.

The only potential for regression is if the patch introduced some new bug from 2.16.1 in the code being patched (but the patch is fairly minimal)

Tags: patch
Revision history for this message
John Ellson (john-ellson) wrote :

can't reproduce this with the latest version of graphviz upstream

what version of dot are you using? (dot -V)

can you save your graph to tst.dot and attach the results of
    dot -v tst.dot >tst.out 2>tst.err

Iulian Udrea (iulian)
Changed in graphviz:
importance: Undecided → Low
status: New → Incomplete
Revision history for this message
Erik de Castro Lopo (erikd) wrote :
Download full text (3.7 KiB)

The command "dot -V" gives:

    dot - Graphviz version 2.16 (Fri Feb 8 12:52:03 UTC 2008)

but I'm not having trouble with dot (which seems to work here), but with dotty.Dotty -V gives:

    dotty version 96c (09-24-96)
    lefty version 10 Mar 2005
    graphviz version 2.16 (Fri Feb 8 12:52:03 UTC 2008)

If I save the dot commands in my original post to a file, a.dot and run "dot -v a.dot >a.out 2>a.err" I get:

--------------------------------------------------- a.out ---------------------------------------------------
digraph name {
 graph [rankdir=LR];
 node [label="\N", shape=circle];
 graph [bb="0,0,388,336"];
 s00 [pos="25,173", width="0.69", height="0.69"];
 s01 [pos="119,173", width="0.69", height="0.69"];
 s02 [pos="211,173", width="0.69", height="0.69"];
 s03_one [shape=doublecircle, pos="334,288", width="1.33", height="1.35"];
 s06_two [shape=doublecircle, pos="334,173", width="1.36", height="1.38"];
 s09_three [shape=doublecircle, pos="334,53", width="1.47", height="1.49"];
 s00 -> s01 [label=a, pos="e,110,197 36,196 43,208 54,222 68,229 84,236 96,221 105,206", lp="72,237"];
 s00 -> s01 [label=b, pos="e,97,185 48,184 54,186 61,189 68,190 75,191 81,190 87,189", lp="72,198"];
 s00 -> s01 [label=c, pos="e,94,169 50,168 58,167 68,166 76,167 79,167 81,167 84,167", lp="72,175"];
 s00 -> s01 [label=d, pos="e,100,157 43,155 52,147 65,141 76,145 81,146 86,149 91,152", lp="72,153"];
 s00 -> s01 [label=e, pos="e,109,150 37,151 45,140 55,128 68,122 83,115 95,127 104,141", lp="72,130"];
 s01 -> s02 [label=f, pos="e,202,197 130,196 137,208 148,222 162,229 177,236 189,221 198,206", lp="165,237"];
 s01 -> s02 [label=g, pos="e,188,184 141,186 149,189 159,192 168,190 171,190 175,189 178,187", lp="165,198"];
 s01 -> s02 [label=h, pos="e,186,170 144,169 152,169 160,168 168,169 171,169 173,169 176,169", lp="165,177"];
 s01 -> s02 [label=i, pos="e,193,155 139,157 146,153 154,149 162,147 170,145 177,147 184,150", lp="165,155"];
 s01 -> s02 [label=j, pos="e,201,150 132,151 139,141 150,129 162,124 176,118 187,129 196,141", lp="165,132"];
 s02 -> s03_one [label=a, pos="e,299,255 229,190 246,205 270,228 292,248", lp="258,224"];
 s02 -> s06_two [label=b, pos="e,284,173 236,173 247,173 261,173 274,173", lp="258,181"];
 s02 -> s09_three [label=c, pos="e,296,90 229,155 244,140 267,117 289,97", lp="258,138"];
}
--------------------------------------------------- a.out ---------------------------------------------------

--------------------------------------------------- a.err ---------------------------------------------------
Activated plugin library: libgvplugin_pango.so.5
Using textlayout: textlayout:cairo
Activated plugin library: libgvplugin_dot_layout.so.5
Using layout: dot:dot_layout
Activated plugin library: libgvplugin_core.so.5
Using render: dot:core
Using device: dot:dot:core
The plugin configuration file:
 /usr/lib/graphviz/config4
  was successfully loaded.
    render : cairo dot fig gd map ps svg vml vrml xdot
    layout : circo dot fdp neato nop nop1 nop2 twopi
    textlayout : textlayout
    device : canon cmap cmapx cmapx_np dia dot fig gd gd2 gif hpgl imap imap_np ismap jpe jpeg jpg mif mp pcl pdf pic plain plain-ext png ps ps2 svg sv...

Read more...

Revision history for this message
John Ellson (john-ellson) wrote :

Thanks, yes, dot looks fine.

Ah!, OK, the bug doesn't happen with latest 2.17, but it does with 2.16.
I'll go find what has been fixed.....

Revision history for this message
John Ellson (john-ellson) wrote :

OK. This bug is fixed in the current stable release, graphviz-2.16.1, from www.graphviz.org.

I'll attach the specific patch for this bug.

Iulian Udrea (iulian)
Changed in graphviz:
status: Incomplete → Confirmed
Revision history for this message
Erik de Castro Lopo (erikd) wrote :

Thanks for the patch.

I apt-got the sources, applied the patch, built it and then installed the resulting graphviz and libgraphviz packages and I can confirm that this does indeed fix the problem.

Revision history for this message
Daniel Holbach (dholbach) wrote :

To get your fix included in Ubuntu, it would help if you tried transforming it into a debdiff (http://wiki.ubuntu.com/PackagingGuide/Recipes/Debdiff) and submit it for review (http://wiki.ubuntu.com/SponsorshipProcess). If you prefer somebody else to do that, that's fine - please just indicate if you're available to do that.

Revision history for this message
Erik de Castro Lopo (erikd) wrote : Re: [Bug 192590] Re: dotty hangs

I've give it a try over the next couple of days.

Revision history for this message
Daniel Holbach (dholbach) wrote :

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Erik de Castro Lopo schrieb:
> I've give it a try over the next couple of days.

Rock On!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHuUY5RjrlnQWd1esRAo/vAJwI0b35JGQztpIeZAmYmp0EpzJIkgCaAi+e
jPkjdyoZ3qKSi1M6ReSD3k8=
=3IUJ
-----END PGP SIGNATURE-----

Revision history for this message
Erik de Castro Lopo (erikd) wrote :

Well I've generated a debdiff (attached), but Martin Pitt's requestsponsor script is not available (HTTP forbidden) so I'm stuck, but would still very much like to see this fixed.

Revision history for this message
Andrea Colangelo (warp10) wrote :

Subscribing Ubuntu Sponsors for universe.

Revision history for this message
Siegfried Gevatter (rainct) wrote :

Erik: You can subscribe "ubuntu-universe-sponsors" manually from Launchpad (left "Actions" list, "Subscribe someone else") ;).

Changed in graphviz:
assignee: nobody → erikd
status: Confirmed → In Progress
Revision history for this message
Siegfried Gevatter (rainct) wrote :

There are some little problems with the patch:

- Please add "(LP: #192590)" (without the quotation marks) to the end of your changelog entry for this bug to be closed automatically.

- I might be wrong but it doesn't seem to me that your changelog entry is really related with the changes you did; perhaps you could improve it a bit to make it clearer.

- I didn't look at the source of the package but it seems to me that it is using a patch system (if you have "ubuntu-dev-tools" installed you can check if it really is using one and which one it running the command "what-patch" inside the package's source directory). If it is using one, please create a patch instead of just applying the changes directly to the source; you'll find instructions for all different patch system in the Packaging Guide (on the wiki).

- This package is in main, so you'll have to subscribe ubuntu-main-sponsors once you have a new debdiff ready (you can check in which component a package is with the command "apt-cache madison graphviz", replacing this last word with whatever package name you want).

Thanks for contributing to Ubuntu!

Revision history for this message
psk (pskasten) wrote :

What's the next step fort this issue? I would very much like to be able to update dotty on my Hardy Ubuntu -- but the version of GraphViz in the Hardy package manager does not have this fix.

Thanks!

Revision history for this message
dfg (daniel-gutson) wrote :

So? Any update? C'mon people, somebody answer psk so the fix is in!!

Revision history for this message
John Ellson (john-ellson) wrote :

Side note for people in a hurry: there are now nightly builds of graphviz for Ubuntu (hardy i386) available from http://www.graphviz.org/

But if you find problems with it, report them directly upstream , and not into this bug system.

Changed in graphviz:
assignee: erikd → nobody
status: In Progress → Triaged
Daniel T Chen (crimsun)
Changed in graphviz:
status: Triaged → Fix Released
Revision history for this message
Andrew Pollock (apollock) wrote :
description: updated
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.