Anonymous | Login | 2024-10-11 12:29 CDT |
My View | View Issues |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||||||
0000230 | Rosetta | [All Projects] Crash | public | 2013-03-25 09:05 | 2013-04-11 15:14 | ||||||||
Reporter | smlewis | ||||||||||||
Assigned To | smlewis | ||||||||||||
Priority | high | Severity | major | Reproducibility | always | ||||||||
Status | new | Resolution | open | ||||||||||
Platform | OS | OS Version | |||||||||||
Product Version | All | ||||||||||||
Fixed in Version | |||||||||||||
Summary | 0000230: LoopMover_CCD (perturb_CCD) does not allow terminal loops; appears to be typo | ||||||||||||
Description | https://www.rosettacommons.org/node/3231#comment-5952 [^] The line of code in question: runtime_assert( !loop.is_terminal( pose ) || pose.fold_tree().is_cutpoint( loop_cut ) ); LoopMover_CCD.cc:212 I think this is a bug and is_terminal should not be negated...there are several other is_terminal checks in this code that all suggest the Mover works just fine with terminal loops; Tim agrees. | ||||||||||||
Tags | No tags attached. | ||||||||||||
Application(s) Affected | loop_model | ||||||||||||
Command Line Used | loop_model -perturb perturb_ccd | ||||||||||||
Developer Options | |||||||||||||
Fixed in SVN Version | |||||||||||||
Attached Files | |||||||||||||
Relationships | ||||||
|
Notes | |
(0000215) smlewis (Administrator) 2013-03-25 09:56 |
It appears that with an invalid cutpoint, the cutpoint auto-setter picks the thing that is already a cutpoint (the terminus), which normally lets this assert pass - except that the downstream code never actually modifies the loop. (oops.) With a valid (but unused) cutpoint, the assertion fails. |
(0000216) smlewis (Administrator) 2013-03-25 10:38 |
After repairing the assertion, the code appears to simply do nothing. I modified the 4fxn-based ccd-based loop_closure test (including changing to -loops:remodel perturb_ccd from quick_ccd) to use a terminal loop...but "for all fragments" loop for ( std::vector< FragmentMoverOP >::const_iterator it = fragmover.begin(),it_end = fragmover.end(); it != it_end; it++ ) { never gets entered for some reason. |
(0000217) smlewis (Administrator) 2013-03-25 10:39 |
unassigning |
Issue History | |||
Date Modified | Username | Field | Change |
2013-03-25 09:05 | smlewis | New Issue | |
2013-03-25 09:05 | smlewis | Status | new => assigned |
2013-03-25 09:05 | smlewis | Assigned To | => smlewis |
2013-03-25 09:56 | smlewis | Note Added: 0000215 | |
2013-03-25 10:38 | smlewis | Note Added: 0000216 | |
2013-03-25 10:38 | smlewis | Assigned To | smlewis => |
2013-03-25 10:39 | smlewis | Note Added: 0000217 | |
2013-03-25 10:39 | smlewis | Assigned To | => smlewis |
2013-03-25 10:39 | smlewis | Status | assigned => new |
2013-04-11 15:14 | smlewis | Relationship added | related to 0000249 |
Copyright © 2000 - 2012 MantisBT Group |