Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re^2: how to localise a problem?

by Dave Howorth (Scribe)
on Nov 27, 2012 at 12:24 UTC ( #1005845=note: print w/replies, xml ) Need Help??

in reply to Re: how to localise a problem?
in thread how to localise a problem?

Thanks for that. Do you have any links to reports about Graphviz crashes with similar messages? That could be very helpful.

Most of my graphs are pretty small (less than ten nodes). And which one fails seems to be random, and more importantly, it works perfectly and is not unusual when it is retried. So I don't think it is a data-dependent Graphviz error. The dot files look sensible.

FWIW, here's where I mess with Graphviz

    $self->{graph} = GraphViz2->new(
                    global  => {
                        name    => 'fold_graph_map',
                    node    => {
                        fontsize => 10,
                        shape    => 'box',

stuff adding nodes and edges omitted

    eval {
        $self->{graph}->run(format  => 'png');
        $png   = $self->{graph}->dot_output();
    die "Failed to create png for node #$id:\n$@\n"
        . $self->{graph}->dot_input()
      if $@;

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1005845]
[marinersk]: sub newtest{my $expected_result = &target('foo'); my $actual_result = &target('foo'); if ($actual_result eq $expected_result) { &tdd_success(); } else { &tdd_fail(); } } # Test works after three years!
[choroba]: or nobody bothered...
[choroba]: The problem was bigger, as the test tried to call a method that didn't exist anymore
[marinersk]: :: ducking ::
[choroba]: because, someone renamed the method, but didn't notice it was used in the test, as the test was skipped
[marinersk]: Well, if the method doesn't exist, it would be hard to pass the test.
[choroba]: later, someone removed the new method, as all its usage places were safe, but didn't notice the test still used the old name
[choroba]: fortunately, it wasn't that hard to replace the method and fix a few remaining failures due to the changes we did to the codebase over the years
[marinersk]: choroba Sounds like a process improvement opportunity; tests may not all need to be run, but they should all be compiled with perl -c before check-in/promotion happens.
[choroba]: so, now I have the test, so I can start making changes in the code. Back to the original ticket, yay!

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (15)
As of 2017-05-25 15:12 GMT
Find Nodes?
    Voting Booth?