Bugs item #1909245, was opened at 2008-03-06 18:37
Message generated for change (Comment added) made by zelgadis_ksee
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=757416&aid=1909245&group_id=144022

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: dooglus (dooglus)
Assigned to: Nobody/Anonymous (nobody)
Summary: cycles in "BLine Tangent" ValueNodes cause a crash

Initial Comment:
If BLine1 has one of its tangents converted to be a "BLine Tangent" ValueNode 
which links it to a position on BLine2, and BLine 2 in turn has one of its 
tangents linked in the same way to a position on BLine1, then Synfig gets into 
an infinite recursion and crashes:

#20556 0xb7d1ef29 in synfig::ValueNode::on_changed (this=0x905c000) at 
valuenode.cpp:292
#20557 0xb7cf6d69 in synfig::Node::changed (this=0x905c000) at node.cpp:201
#20558 0xb7cf6ddc in synfig::Node::on_changed (this=0x90b67a0) at node.cpp:302
#20559 0xb7d1ef29 in synfig::ValueNode::on_changed (this=0x90b67a0) at 
valuenode.cpp:292

It's possible to fix this by getting Node::changed() to check whether it has 
visited this Node already, but then another infinite recursion happens:

(this is from an example with 3 BLines, A -> B -> C -> A - just a single BLine 
A -> A is enough to trigger the bug, however):

#2373 0xb7bd0771 in synfig::ValueNode_BLineCalcVertex::operator() 
(this=0x8830558, t={value_ = 0}) at valuenode_blinecalcvertex.cpp:90
#2374 0xb7bd7eb9 in synfig::ValueNode_Composite::operator() (this=0x906a218, 
t={value_ = 0}) at valuenode_composite.cpp:151
#2375 0xb7bc10db in synfig::ValueNode_BLine::operator() (this=0x9064778, 
t={value_ = 0}) at valuenode_bline.cpp:366

#2376 0xb7bd0771 in synfig::ValueNode_BLineCalcVertex::operator() 
(this=0x9201f00, t={value_ = 0}) at valuenode_blinecalcvertex.cpp:90
#2377 0xb7bd7eb9 in synfig::ValueNode_Composite::operator() (this=0x9063928, 
t={value_ = 0}) at valuenode_composite.cpp:151
#2378 0xb7bc10db in synfig::ValueNode_BLine::operator() (this=0x905fb70, 
t={value_ = 0}) at valuenode_bline.cpp:366

#2379 0xb7bd0771 in synfig::ValueNode_BLineCalcVertex::operator() 
(this=0x9212480, t={value_ = 0}) at valuenode_blinecalcvertex.cpp:90
#2380 0xb7bd7eb9 in synfig::ValueNode_Composite::operator() (this=0x905dd98, 
t={value_ = 0}) at valuenode_composite.cpp:151
#2381 0xb7bc10db in synfig::ValueNode_BLine::operator() (this=0x905aff8, 
t={value_ = 0}) at valuenode_bline.cpp:366

#2382 0xb7bd0771 in synfig::ValueNode_BLineCalcVertex::operator() 
(this=0x8830558, t={value_ = 0}) at valuenode_blinecalcvertex.cpp:90


----------------------------------------------------------------------

Comment By: Konstantin Dmitriev (zelgadis_ksee)
Date: 2012-12-26 04:16

Message:
This bugtracker is no longer active. The issue is moved to the new
bugtracker - http://synfig.org/issues/thebuggenie/synfig

----------------------------------------------------------------------

Comment By: dooglus (dooglus)
Date: 2008-03-06 19:23

Message:
Logged In: YES 
user_id=1546005
Originator: YES

A simpler way to reproduce the crash:

* create a new document
* draw a circle
* right-click the circle's 'amount' parameter and 'convert' to 'add'
* right-click again and 'export' as 'a'
* open the child panel, open 'valuebase nodes' and select 'a'
* open the amount parameter in the 'params' panel
* right-click 'lhs' and 'connect'

amount a = a + RHS = (a + RHS) + RHS = ((a + RHS) + RHS) + RHS = ... bang

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=757416&aid=1909245&group_id=144022

------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl

Reply via email to