-
Notifications
You must be signed in to change notification settings - Fork 148
Open
Labels
bugSomething isn't workingSomething isn't working
Description
The 5.0.0-beta reference manual says
In version 4.3 there existed also the
topologies_and thephi_functions to just generate topologies. This was before a complete implementation was made. For backward compatibility we have kept these functions, ...
but this is not the case and the test cases Diagrams_1, ..., Diagrams_4 in check/example.frm fail. For example, Diagrams_1 is
Vectors Q1,Q2,p1,...,p8;
Set QQ:Q1,Q2;
Set PP:p1,...,p8;
#define LOOPS "2"
Local F = topologies_(`LOOPS',2,{3,},QQ,PP);
Print +f +s;
.end
and should give, as in the manual,
F =
+ node_(0,-Q1)*node_(1,-Q2)*node_(2,Q1,-p1,-p2)*node_(3,Q2,p1,-p3)*
node_(4,p2,-p4,-p5)*node_(5,p3,p4,p5)
+ node_(0,-Q1)*node_(1,-Q2)*node_(2,Q1,-p1,-p2)*node_(3,p1,-p3,-p4)*
node_(4,p2,p3,-p5)*node_(5,Q2,p4,p5)
;
but it suffers from memory bugs:
==465138== Conditional jump or move depends on uninitialised value(s)
==465138== at 0x142CDF: ProcessTopology(EGraph*, void*) (diawrap.cc:537)
==465138== by 0x174419: MGraph::newGraph(MNodeClass*) (grcc.cc:4883)
==465138== by 0x174575: MGraph::connectClass(MNodeClass*) (grcc.cc:4524)
==465138== by 0x17476B: MGraph::connectNode(int, int, MNodeClass*) (grcc.cc:4543)
==465138== by 0x1747F8: MGraph::connectLeg(int, int, int, int, MNodeClass*) (grcc.cc:4591)
==465138== by 0x17475E: MGraph::connectNode(int, int, MNodeClass*) (grcc.cc:4552)
==465138== by 0x1747F8: MGraph::connectLeg(int, int, int, int, MNodeClass*) (grcc.cc:4591)
==465138== by 0x174B3D: MGraph::connectLeg(int, int, int, int, MNodeClass*) (grcc.cc:4715)
==465138== by 0x17475E: MGraph::connectNode(int, int, MNodeClass*) (grcc.cc:4552)
==465138== by 0x1745A7: MGraph::connectClass(MNodeClass*) (grcc.cc:4528)
==465138== by 0x17476B: MGraph::connectNode(int, int, MNodeClass*) (grcc.cc:4543)
==465138== by 0x1747F8: MGraph::connectLeg(int, int, int, int, MNodeClass*) (grcc.cc:4591)
==465138==
==465138== Use of uninitialised value of size 8
==465138== at 0x142D2C: ProcessTopology(EGraph*, void*) (diawrap.cc:543)
==465138== by 0x174419: MGraph::newGraph(MNodeClass*) (grcc.cc:4883)
==465138== by 0x174575: MGraph::connectClass(MNodeClass*) (grcc.cc:4524)
==465138== by 0x17476B: MGraph::connectNode(int, int, MNodeClass*) (grcc.cc:4543)
==465138== by 0x1747F8: MGraph::connectLeg(int, int, int, int, MNodeClass*) (grcc.cc:4591)
==465138== by 0x17475E: MGraph::connectNode(int, int, MNodeClass*) (grcc.cc:4552)
==465138== by 0x1747F8: MGraph::connectLeg(int, int, int, int, MNodeClass*) (grcc.cc:4591)
==465138== by 0x174B3D: MGraph::connectLeg(int, int, int, int, MNodeClass*) (grcc.cc:4715)
==465138== by 0x17475E: MGraph::connectNode(int, int, MNodeClass*) (grcc.cc:4552)
==465138== by 0x1745A7: MGraph::connectClass(MNodeClass*) (grcc.cc:4528)
==465138== by 0x17476B: MGraph::connectNode(int, int, MNodeClass*) (grcc.cc:4543)
==465138== by 0x1747F8: MGraph::connectLeg(int, int, int, int, MNodeClass*) (grcc.cc:4591)
==465138==
==465138== Invalid read of size 4
==465138== at 0x142D30: ProcessTopology(EGraph*, void*) (diawrap.cc:543)
==465138== by 0x174419: MGraph::newGraph(MNodeClass*) (grcc.cc:4883)
==465138== by 0x174575: MGraph::connectClass(MNodeClass*) (grcc.cc:4524)
==465138== by 0x17476B: MGraph::connectNode(int, int, MNodeClass*) (grcc.cc:4543)
==465138== by 0x1747F8: MGraph::connectLeg(int, int, int, int, MNodeClass*) (grcc.cc:4591)
==465138== by 0x17475E: MGraph::connectNode(int, int, MNodeClass*) (grcc.cc:4552)
==465138== by 0x1747F8: MGraph::connectLeg(int, int, int, int, MNodeClass*) (grcc.cc:4591)
==465138== by 0x174B3D: MGraph::connectLeg(int, int, int, int, MNodeClass*) (grcc.cc:4715)
==465138== by 0x17475E: MGraph::connectNode(int, int, MNodeClass*) (grcc.cc:4552)
==465138== by 0x1745A7: MGraph::connectClass(MNodeClass*) (grcc.cc:4528)
==465138== by 0x17476B: MGraph::connectNode(int, int, MNodeClass*) (grcc.cc:4543)
==465138== by 0x1747F8: MGraph::connectLeg(int, int, int, int, MNodeClass*) (grcc.cc:4591)
==465138== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==465138==
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working