Anonymous | Login | 2025-01-24 17:47 CST | ![]() |
My View | View Issues |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||||||
0000221 | Rosetta | [All Projects] Crash | public | 2013-03-19 16:58 | 2013-03-21 15:09 | ||||||||
Reporter | rmoretti | ||||||||||||
Assigned To | |||||||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||||||
Status | new | Resolution | open | ||||||||||
Platform | OS | OS Version | |||||||||||
Product Version | Trunk | ||||||||||||
Fixed in Version | |||||||||||||
Summary | 0000221: Crashes on blank command line | ||||||||||||
Description | No programs should segfault or die with inscrutable errors when no flags (or just -database) are passed on the command line. (Actually that last bit should be "ever", but we'll start with "when no flags are passed".) | ||||||||||||
Steps To Reproduce | Quick and *very* dirty way to evaluate these for released applications from within python (in rosetta_source directory): import os exec(open("src/apps.src.settings").read()) for k in sources: for p in sources[k]: print "====", p, "====" os.system("./bin/%s.default.linuxgccrelease -database ../rosetta_database -overwrite > /dev/null"%p) (you'll need to examine the ones that "fail" closely, as some may be exiting with reasonable error messages). | ||||||||||||
Additional Information | Segmentation Faults (definitely not good) in r54387 : supercharge antibody_assemble_CDRs antibody_model_CDR_H3 fragment_picker remodel doug_dock_design_min_mod2_cal_cal FloppyTail hbs_design oop_design rna_database There are many others that don't have useful information printed to stderr, though those may have helpful information printed to stdout. | ||||||||||||
Tags | No tags attached. | ||||||||||||
Application(s) Affected | many | ||||||||||||
Command Line Used | see above | ||||||||||||
Developer Options | |||||||||||||
Fixed in SVN Version | |||||||||||||
Attached Files | |||||||||||||
![]() |
|||||||||||
|
![]() |
|
(0000187) momeara (Attentive Developer) 2013-03-19 18:59 |
Once these apps have been fixed, can we make this "quick and *very* dirty script" into an integration test that tests all the compiled apps in bin? |
(0000188) smlewis (Administrator) 2013-03-20 08:59 |
I'll take care of FloppyTail. Is fixing this per-app correct? Is there *any* application that can run with no flags, or with only -database? Should we catch this case at option system read time? |
(0000197) rmoretti (Attentive Developer) 2013-03-20 22:21 |
I'd probably recommend that some time be spent on making the script a little less hacky (better program discovery, better execution launch) and figuring out what to do about the files it litters the directory with, but I don't have a fundamental objection to making it an integration test. The one concern is that the pass/fail evaluation isn't automatic - there's some judgement call involved, especially if you want it do more than just segfault/no segfault testing. Fixing it per app - specifically, fixing the issue that's causing the segfaults - is certainly something that needs to be done. This particular case is more illustrative of brittleness in handling user input (e.g. what happens if a user forgets a flag, or supplies an empty PDB, etc.), rather than a specific use-case to consider. Making a no flag run do something else (e.g. print the application help) might be something to consider, but it would be a separate issue from fixing the missing-flag brittleness. |
(0000198) momeara (Attentive Developer) 2013-03-20 22:51 |
There's a thing called "fuzz testing" (http://en.wikipedia.org/wiki/Fuzz_testing [^]) that tries to induce crashes, by providing nonsensical inputs. I can imagine that this would turn up quite a few problems with Rosetta. |
![]() |
|||
Date Modified | Username | Field | Change |
2013-03-19 16:58 | rmoretti | New Issue | |
2013-03-19 17:02 | rmoretti | Relationship added | related to 0000218 |
2013-03-19 18:59 | momeara | Note Added: 0000187 | |
2013-03-20 08:59 | smlewis | Note Added: 0000188 | |
2013-03-20 22:21 | rmoretti | Note Added: 0000197 | |
2013-03-20 22:51 | momeara | Note Added: 0000198 | |
2013-03-21 09:07 | smlewis | Relationship added | related to 0000200 |
Copyright © 2000 - 2012 MantisBT Group |