| 1 | <html><head> |
|---|
| 2 | <meta http-equiv="content-type" content="text/html; charset=UTF-8"><title>Exception</title></head><body><style type="text/css"> |
|---|
| 3 | p.error { |
|---|
| 4 | color: black; |
|---|
| 5 | font-family: Verdana, Arial, helvetica, sans-serif; |
|---|
| 6 | font-weight: bold; |
|---|
| 7 | font-size: large; |
|---|
| 8 | margin: 0.25em; |
|---|
| 9 | } |
|---|
| 10 | |
|---|
| 11 | div { |
|---|
| 12 | font-family: Verdana, Arial, helvetica, sans-serif; |
|---|
| 13 | } |
|---|
| 14 | |
|---|
| 15 | strong.variableClass { |
|---|
| 16 | font-size: small; |
|---|
| 17 | } |
|---|
| 18 | |
|---|
| 19 | div.stackTrace { |
|---|
| 20 | } |
|---|
| 21 | |
|---|
| 22 | div.frame { |
|---|
| 23 | padding: 0.25em; |
|---|
| 24 | background: white; |
|---|
| 25 | border-bottom: thin black dotted; |
|---|
| 26 | } |
|---|
| 27 | |
|---|
| 28 | div.firstFrame { |
|---|
| 29 | padding: 0.25em; |
|---|
| 30 | background: white; |
|---|
| 31 | border-top: thin black dotted; |
|---|
| 32 | border-bottom: thin black dotted; |
|---|
| 33 | } |
|---|
| 34 | |
|---|
| 35 | div.location { |
|---|
| 36 | font-size: small; |
|---|
| 37 | } |
|---|
| 38 | |
|---|
| 39 | div.snippet { |
|---|
| 40 | background: #FFFFDD; |
|---|
| 41 | padding: 0.25em; |
|---|
| 42 | } |
|---|
| 43 | |
|---|
| 44 | div.snippetHighlightLine { |
|---|
| 45 | color: red; |
|---|
| 46 | } |
|---|
| 47 | |
|---|
| 48 | span.lineno { |
|---|
| 49 | font-size: small; |
|---|
| 50 | } |
|---|
| 51 | |
|---|
| 52 | pre.code { |
|---|
| 53 | margin: 0px; |
|---|
| 54 | padding: 0px; |
|---|
| 55 | display: inline; |
|---|
| 56 | font-size: small; |
|---|
| 57 | font-family: "Courier New", courier, monotype; |
|---|
| 58 | } |
|---|
| 59 | |
|---|
| 60 | span.function { |
|---|
| 61 | font-weight: bold; |
|---|
| 62 | font-family: "Courier New", courier, monotype; |
|---|
| 63 | } |
|---|
| 64 | |
|---|
| 65 | table.variables { |
|---|
| 66 | border-collapse: collapse; |
|---|
| 67 | width: 100%; |
|---|
| 68 | } |
|---|
| 69 | |
|---|
| 70 | td.varName { |
|---|
| 71 | width: 1in; |
|---|
| 72 | vertical-align: top; |
|---|
| 73 | font-style: italic; |
|---|
| 74 | font-size: small; |
|---|
| 75 | padding-right: 0.25em; |
|---|
| 76 | } |
|---|
| 77 | |
|---|
| 78 | td.varValue { |
|---|
| 79 | padding-left: 0.25em; |
|---|
| 80 | padding-right: 0.25em; |
|---|
| 81 | font-size: small; |
|---|
| 82 | } |
|---|
| 83 | |
|---|
| 84 | div.variables { |
|---|
| 85 | margin-top: 0.5em; |
|---|
| 86 | } |
|---|
| 87 | |
|---|
| 88 | div.dict { |
|---|
| 89 | background: #cccc99; |
|---|
| 90 | padding: 2px; |
|---|
| 91 | float: left; |
|---|
| 92 | } |
|---|
| 93 | |
|---|
| 94 | td.dictKey { |
|---|
| 95 | background: #ffff99; |
|---|
| 96 | font-weight: bold; |
|---|
| 97 | } |
|---|
| 98 | |
|---|
| 99 | td.dictValue { |
|---|
| 100 | background: #ffff99; |
|---|
| 101 | } |
|---|
| 102 | |
|---|
| 103 | div.list { |
|---|
| 104 | background: #7777cc; |
|---|
| 105 | padding: 2px; |
|---|
| 106 | float: left; |
|---|
| 107 | } |
|---|
| 108 | |
|---|
| 109 | div.listItem { |
|---|
| 110 | background: #9999ff; |
|---|
| 111 | } |
|---|
| 112 | |
|---|
| 113 | div.instance { |
|---|
| 114 | width: 100%; |
|---|
| 115 | background: #efefef; |
|---|
| 116 | padding: 2px; |
|---|
| 117 | float: left; |
|---|
| 118 | } |
|---|
| 119 | |
|---|
| 120 | span.instanceName { |
|---|
| 121 | font-size: small; |
|---|
| 122 | display: block; |
|---|
| 123 | } |
|---|
| 124 | |
|---|
| 125 | span.instanceRepr { |
|---|
| 126 | font-family: "Courier New", courier, monotype; |
|---|
| 127 | } |
|---|
| 128 | |
|---|
| 129 | div.function { |
|---|
| 130 | background: orange; |
|---|
| 131 | font-weight: bold; |
|---|
| 132 | float: left; |
|---|
| 133 | } |
|---|
| 134 | </style><a href="#tracebackEnd"><p class="error"><type 'exceptions.AttributeError'>: MutableFileNode instance has no attribute '_writekey'</p></a><div class="stackTrace"><div class="firstFrame"><div class="location">/usr/lib/python2.5/site-packages/twisted/internet/defer.py, line 328 in <span class="function">_runCallbacks</span></div><div class="snippet"><div class="snippetLine"><span class="lineno">326</span><pre class="code"> self._runningCallbacks = True |
|---|
| 135 | </pre></div><div class="snippetLine"><span class="lineno">327</span><pre class="code"> try: |
|---|
| 136 | </pre></div><div class="snippetHighlightLine"><span class="lineno">328</span><pre class="code"> self.result = callback(self.result, *args, **kw) |
|---|
| 137 | </pre></div><div class="snippetLine"><span class="lineno">329</span><pre class="code"> finally: |
|---|
| 138 | </pre></div></div><div class="variables"><strong class="variableClass">Locals</strong></div><table class="variables"><tbody><tr class="varRow"><td class="varName">callback</td><td class="varValue"><bound |
|---|
| 139 | method MutableCheckAndRepairer._maybe_repair of |
|---|
| 140 | <allmydata.mutable.checker.MutableCheckAndRepairer instance at |
|---|
| 141 | 0x90a4c8c>></td></tr><tr class="varRow"><td class="varName">self</td><td class="varValue"><Deferred at 0x95332cc current result: None></td></tr><tr class="varRow"><td class="varName">args</td><td class="varValue">()</td></tr><tr class="varRow"><td class="varName">kw</td><td class="varValue">{}</td></tr></tbody></table></div><div class="frame"><div class="location">/usr/lib/python2.5/site-packages/allmydata/mutable/checker.py, line 301 in <span class="function">_maybe_repair</span></div><div class="snippet"><div class="snippetLine"><span class="lineno">299</span><pre class="code"> return |
|---|
| 142 | </pre></div><div class="snippetLine"><span class="lineno">300</span><pre class="code"> self.cr_results.repair_attempted = True |
|---|
| 143 | </pre></div><div class="snippetHighlightLine"><span class="lineno">301</span><pre class="code"> d = self._node.repair(self.results) |
|---|
| 144 | </pre></div><div class="snippetLine"><span class="lineno">302</span><pre class="code"> def _repair_finished(repair_results): |
|---|
| 145 | </pre></div></div><div class="variables"><strong class="variableClass">Locals</strong></div><table class="variables"><tbody><tr class="varRow"><td class="varName">self</td><td class="varValue"><allmydata.mutable.checker.MutableCheckAndRepairer instance at 0x90a4c8c></td></tr></tbody></table></div><div class="frame"><div class="location">/usr/lib/python2.5/site-packages/allmydata/mutable/filenode.py, line 263 in <span class="function">repair</span></div><div class="snippet"><div class="snippetLine"><span class="lineno">261</span><pre class="code"> assert ICheckResults(check_results) |
|---|
| 146 | </pre></div><div class="snippetLine"><span class="lineno">262</span><pre class="code"> r = Repairer(self, check_results) |
|---|
| 147 | </pre></div><div class="snippetHighlightLine"><span class="lineno">263</span><pre class="code"> d = r.start(force) |
|---|
| 148 | </pre></div><div class="snippetLine"><span class="lineno">264</span><pre class="code"> return d |
|---|
| 149 | </pre></div></div><div class="variables"><strong class="variableClass">Locals</strong></div><table class="variables"><tbody><tr class="varRow"><td class="varName">check_results</td><td class="varValue"><allmydata.check_results.CheckResults instance at 0x90a696c></td></tr><tr class="varRow"><td class="varName">r</td><td class="varValue"><allmydata.mutable.repairer.Repairer instance at 0x94a3f8c></td></tr><tr class="varRow"><td class="varName">force</td><td class="varValue">False</td></tr><tr class="varRow"><td class="varName">self</td><td class="varValue"><MutableFileNode 8c5feac RO j6huo2ln></td></tr></tbody></table><div class="variables"><strong class="variableClass">Globals</strong></div><table class="variables"><tbody><tr class="varRow"><td class="varName">ICheckResults</td><td class="varValue"><InterfaceClass allmydata.interfaces.ICheckResults></td></tr><tr class="varRow"><td class="varName">Repairer</td><td class="varValue"><class allmydata.mutable.repairer.Repairer at 0xb62ac02c></td></tr></tbody></table></div><div class="frame"><div class="location">/usr/lib/python2.5/site-packages/allmydata/mutable/repairer.py, line 89 in <span class="function">start</span></div><div class="snippet"><div class="snippetLine"><span class="lineno">87</span><pre class="code"> # say, added an smap.get_privkey() method. |
|---|
| 150 | </pre></div><div class="snippetLine"><span class="lineno">88</span><pre class="code"></pre></div><div class="snippetHighlightLine"><span class="lineno">89</span><pre class="code"> assert self.node.get_writekey() # repair currently requires a writecap |
|---|
| 151 | </pre></div><div class="snippetLine"><span class="lineno">90</span><pre class="code"></pre></div></div><div class="variables"><strong class="variableClass">Locals</strong></div><table class="variables"><tbody><tr class="varRow"><td class="varName">self</td><td class="varValue"><allmydata.mutable.repairer.Repairer instance at 0x94a3f8c></td></tr><tr class="varRow"><td class="varName">smap</td><td class="varValue"><allmydata.mutable.servermap.ServerMap instance at 0x90a1e0c></td></tr></tbody></table></div><div class="frame"><div class="location">/usr/lib/python2.5/site-packages/allmydata/mutable/filenode.py, line 172 in <span class="function">get_writekey</span></div><div class="snippet"><div class="snippetLine"><span class="lineno">170</span><pre class="code"></pre></div><div class="snippetLine"><span class="lineno">171</span><pre class="code"> def get_writekey(self): |
|---|
| 152 | </pre></div><div class="snippetHighlightLine"><span class="lineno">172</span><pre class="code"> return self._writekey |
|---|
| 153 | </pre></div><div class="snippetLine"><span class="lineno">173</span><pre class="code"> def get_readkey(self): |
|---|
| 154 | </pre></div></div><div class="variables"><strong class="variableClass">Locals</strong></div><table class="variables"><tbody><tr class="varRow"><td class="varName">self</td><td class="varValue"><MutableFileNode 8c5feac RO j6huo2ln></td></tr></tbody></table></div></div><a name="tracebackEnd"><p class="error"><type 'exceptions.AttributeError'>: MutableFileNode instance has no attribute '_writekey'</p></a></body></html> |
|---|