| 1 | <html><head><title>web.Server Traceback (most recent call last)</title></head><body><b>web.Server Traceback (most recent call last):</b> |
|---|
| 2 | |
|---|
| 3 | |
|---|
| 4 | <style type="text/css"> |
|---|
| 5 | p.error { |
|---|
| 6 | color: red; |
|---|
| 7 | font-family: Verdana, Arial, helvetica, sans-serif; |
|---|
| 8 | font-weight: bold; |
|---|
| 9 | } |
|---|
| 10 | |
|---|
| 11 | div { |
|---|
| 12 | font-family: Verdana, Arial, helvetica, sans-serif; |
|---|
| 13 | } |
|---|
| 14 | |
|---|
| 15 | div.stackTrace { |
|---|
| 16 | } |
|---|
| 17 | |
|---|
| 18 | div.frame { |
|---|
| 19 | padding: 1em; |
|---|
| 20 | background: white; |
|---|
| 21 | border-bottom: thin black dashed; |
|---|
| 22 | } |
|---|
| 23 | |
|---|
| 24 | div.firstFrame { |
|---|
| 25 | padding: 1em; |
|---|
| 26 | background: white; |
|---|
| 27 | border-top: thin black dashed; |
|---|
| 28 | border-bottom: thin black dashed; |
|---|
| 29 | } |
|---|
| 30 | |
|---|
| 31 | div.location { |
|---|
| 32 | } |
|---|
| 33 | |
|---|
| 34 | div.snippet { |
|---|
| 35 | margin-bottom: 0.5em; |
|---|
| 36 | margin-left: 1em; |
|---|
| 37 | background: #FFFFDD; |
|---|
| 38 | } |
|---|
| 39 | |
|---|
| 40 | div.snippetHighlightLine { |
|---|
| 41 | color: red; |
|---|
| 42 | } |
|---|
| 43 | |
|---|
| 44 | span.code { |
|---|
| 45 | font-family: "Courier New", courier, monotype; |
|---|
| 46 | } |
|---|
| 47 | |
|---|
| 48 | span.function { |
|---|
| 49 | font-weight: bold; |
|---|
| 50 | font-family: "Courier New", courier, monotype; |
|---|
| 51 | } |
|---|
| 52 | |
|---|
| 53 | table.variables { |
|---|
| 54 | border-collapse: collapse; |
|---|
| 55 | margin-left: 1em; |
|---|
| 56 | } |
|---|
| 57 | |
|---|
| 58 | td.varName { |
|---|
| 59 | vertical-align: top; |
|---|
| 60 | font-weight: bold; |
|---|
| 61 | padding-left: 0.5em; |
|---|
| 62 | padding-right: 0.5em; |
|---|
| 63 | } |
|---|
| 64 | |
|---|
| 65 | td.varValue { |
|---|
| 66 | padding-left: 0.5em; |
|---|
| 67 | padding-right: 0.5em; |
|---|
| 68 | } |
|---|
| 69 | |
|---|
| 70 | div.variables { |
|---|
| 71 | margin-bottom: 0.5em; |
|---|
| 72 | } |
|---|
| 73 | |
|---|
| 74 | span.heading { |
|---|
| 75 | font-weight: bold; |
|---|
| 76 | } |
|---|
| 77 | |
|---|
| 78 | div.dict { |
|---|
| 79 | background: #cccc99; |
|---|
| 80 | padding: 2px; |
|---|
| 81 | float: left; |
|---|
| 82 | } |
|---|
| 83 | |
|---|
| 84 | td.dictKey { |
|---|
| 85 | background: #ffff99; |
|---|
| 86 | font-weight: bold; |
|---|
| 87 | } |
|---|
| 88 | |
|---|
| 89 | td.dictValue { |
|---|
| 90 | background: #ffff99; |
|---|
| 91 | } |
|---|
| 92 | |
|---|
| 93 | div.list { |
|---|
| 94 | background: #7777cc; |
|---|
| 95 | padding: 2px; |
|---|
| 96 | float: left; |
|---|
| 97 | } |
|---|
| 98 | |
|---|
| 99 | div.listItem { |
|---|
| 100 | background: #9999ff; |
|---|
| 101 | } |
|---|
| 102 | |
|---|
| 103 | div.instance { |
|---|
| 104 | background: #cc7777; |
|---|
| 105 | padding: 2px; |
|---|
| 106 | float: left; |
|---|
| 107 | } |
|---|
| 108 | |
|---|
| 109 | span.instanceName { |
|---|
| 110 | font-weight: bold; |
|---|
| 111 | display: block; |
|---|
| 112 | } |
|---|
| 113 | |
|---|
| 114 | span.instanceRepr { |
|---|
| 115 | background: #ff9999; |
|---|
| 116 | font-family: "Courier New", courier, monotype; |
|---|
| 117 | } |
|---|
| 118 | |
|---|
| 119 | div.function { |
|---|
| 120 | background: orange; |
|---|
| 121 | font-weight: bold; |
|---|
| 122 | float: left; |
|---|
| 123 | } |
|---|
| 124 | </style> |
|---|
| 125 | <a href="#tbend"> |
|---|
| 126 | <p class="error"><type 'exceptions.AttributeError'>: 'tuple' object has no attribute 'sort'</p> |
|---|
| 127 | </a><div class="stackTrace"><div class="firstFrame"> |
|---|
| 128 | <div class="location">/usr/lib/python2.5/site-packages/twisted/web/server.py, line 150 in <span class="function">process</span></div> |
|---|
| 129 | <div class="snippet"> |
|---|
| 130 | <div class="snippetLine"><span class="lineno">148</span><span class="code"> try:</span></div> |
|---|
| 131 | |
|---|
| 132 | <div class="snippetLine"><span class="lineno">149</span><span class="code"> resrc = self.site.getResourceFor(self)</span></div> |
|---|
| 133 | |
|---|
| 134 | <div class="snippetHighlightLine"><span class="lineno">150</span><span class="code"> self.render(resrc)</span></div> |
|---|
| 135 | |
|---|
| 136 | <div class="snippetLine"><span class="lineno">151</span><span class="code"> except:</span></div> |
|---|
| 137 | </div><div class="variables"><b>Self</b><table class="variables"> |
|---|
| 138 | <tr class="varRow"><td class="varName">site</td><td class="varValue"><div class="instance"><span class="instanceName">twisted.web.server.Site instance @ 0x23773f8</span> |
|---|
| 139 | <span class="instanceRepr"><twisted.web.server.Site instance at 0x23773f8></span></div> |
|---|
| 140 | </td></tr> |
|---|
| 141 | </table></div><div class="variables"><b>Locals</b><table class="variables"> |
|---|
| 142 | <tr class="varRow"><td class="varName">resrc</td><td class="varValue"><div class="instance"><span class="instanceName">buildbot.status.web.console.ConsoleStatusResource instance @ 0x2604710</span> |
|---|
| 143 | <span class="instanceRepr"><buildbot.status.web.console.ConsoleStatusResource instance at 0x2604710></span></div> |
|---|
| 144 | </td></tr> |
|---|
| 145 | |
|---|
| 146 | <tr class="varRow"><td class="varName">self</td><td class="varValue"><div class="instance"><span class="instanceName">twisted.web.server.Request instance @ 0x2a63518</span> |
|---|
| 147 | <span class="instanceRepr"><GET /console HTTP/1.0></span></div> |
|---|
| 148 | </td></tr> |
|---|
| 149 | </table></div></div><div class="frame"> |
|---|
| 150 | <div class="location">/usr/lib/python2.5/site-packages/twisted/web/server.py, line 157 in <span class="function">render</span></div> |
|---|
| 151 | <div class="snippet"> |
|---|
| 152 | <div class="snippetLine"><span class="lineno">155</span><span class="code"> def render(self, resrc):</span></div> |
|---|
| 153 | |
|---|
| 154 | <div class="snippetLine"><span class="lineno">156</span><span class="code"> try:</span></div> |
|---|
| 155 | |
|---|
| 156 | <div class="snippetHighlightLine"><span class="lineno">157</span><span class="code"> body = resrc.render(self)</span></div> |
|---|
| 157 | |
|---|
| 158 | <div class="snippetLine"><span class="lineno">158</span><span class="code"> except UnsupportedMethod, e:</span></div> |
|---|
| 159 | </div><div class="variables"><b>Locals</b><table class="variables"> |
|---|
| 160 | <tr class="varRow"><td class="varName">resrc</td><td class="varValue"><div class="instance"><span class="instanceName">buildbot.status.web.console.ConsoleStatusResource instance @ 0x2604710</span> |
|---|
| 161 | <span class="instanceRepr"><buildbot.status.web.console.ConsoleStatusResource instance at 0x2604710></span></div> |
|---|
| 162 | </td></tr> |
|---|
| 163 | |
|---|
| 164 | <tr class="varRow"><td class="varName">self</td><td class="varValue"><div class="instance"><span class="instanceName">twisted.web.server.Request instance @ 0x2a63518</span> |
|---|
| 165 | <span class="instanceRepr"><GET /console HTTP/1.0></span></div> |
|---|
| 166 | </td></tr> |
|---|
| 167 | </table></div><div class="variables"><b>Globals</b><table class="variables"> |
|---|
| 168 | <tr class="varRow"><td class="varName">UnsupportedMethod</td><td class="varValue"><code><class 'twisted.web.server.UnsupportedMethod'></code></td></tr> |
|---|
| 169 | </table></div></div><div class="frame"> |
|---|
| 170 | <div class="location">/usr/local/lib/python2.5/site-packages/buildbot/status/web/base.py, line 195 in <span class="function">render</span></div> |
|---|
| 171 | <div class="snippet"> |
|---|
| 172 | <div class="snippetLine"><span class="lineno">193</span><span class="code"> ctx = self.getContext(request)</span></div> |
|---|
| 173 | |
|---|
| 174 | <div class="snippetLine"><span class="lineno">194</span><span class="code"></span></div> |
|---|
| 175 | |
|---|
| 176 | <div class="snippetHighlightLine"><span class="lineno">195</span><span class="code"> data = self.content(request, ctx)</span></div> |
|---|
| 177 | |
|---|
| 178 | <div class="snippetLine"><span class="lineno">196</span><span class="code"> if isinstance(data, unicode):</span></div> |
|---|
| 179 | </div><div class="variables"><b>Locals</b><table class="variables"> |
|---|
| 180 | <tr class="varRow"><td class="varName">ctx</td><td class="varValue"><div class="dict"><span class="heading">Dictionary instance @ 0x2818610</span><table class="dict"><tr><td class="dictKey">'project_name'</td><td class="dictValue">'Synecdoche'</td></tr><tr><td class="dictKey">'tz'</td><td class="dictValue">'ART'</td></tr><tr><td class="dictKey">'welcomeurl'</td><td class="dictValue">''</td></tr><tr><td class="dictKey">'path_to_root'</td><td class="dictValue">''</td></tr><tr><td class="dictKey">'title'</td><td class="dictValue">'BuildBot: Synecdoche'</td></tr><tr><td class="dictKey">'metatags'</td><td class="dictValue"><div class="list"><span class="heading">List instance @ 0x2a7ad88</span></div></td></tr><tr><td class="dictKey">'project_url'</td><td class="dictValue">'http://synecdoche.googlecode.com/'</td></tr><tr><td class="dictKey">'debuginfo'</td><td class="dictValue"><div class="dict"><span class="heading">Dictionary instance @ 0x27448e0</span><table class="dict"><tr><td class="dictKey">'revision_final'</td><td class="dictValue"><code>29</code></td></tr><tr><td class="dictKey">'builds_scanned'</td><td class="dictValue"><code>1</code></td></tr><tr><td class="dictKey">'source_all'</td><td class="dictValue"><code>29</code></td></tr><tr><td class="dictKey">'source_len'</td><td class="dictValue"><code>29</code></td></tr><tr><td class="dictKey">'last_revision'</td><td class="dictValue"><code>1288</code></td></tr><tr><td class="dictKey">'load_time'</td><td class="dictValue"><code>1262819707.2321601</code></td></tr></table></div></td></tr><tr><td class="dictKey">'stylesheet'</td><td class="dictValue">'default.css'</td></tr><tr><td class="dictKey">'version'</td><td class="dictValue">'latest'</td></tr><tr><td class="dictKey">'refresh'</td><td class="dictValue"><code>60</code></td></tr><tr><td class="dictKey">'time'</td><td class="dictValue">'Wed 06 Jan 2010 20:15:07'</td></tr></table></div></td></tr> |
|---|
| 181 | |
|---|
| 182 | <tr class="varRow"><td class="varName">self</td><td class="varValue"><div class="instance"><span class="instanceName">buildbot.status.web.console.ConsoleStatusResource instance @ 0x2604710</span> |
|---|
| 183 | <span class="instanceRepr"><buildbot.status.web.console.ConsoleStatusResource instance at 0x2604710></span></div> |
|---|
| 184 | </td></tr> |
|---|
| 185 | |
|---|
| 186 | <tr class="varRow"><td class="varName">request</td><td class="varValue"><div class="instance"><span class="instanceName">twisted.web.server.Request instance @ 0x2a63518</span> |
|---|
| 187 | <span class="instanceRepr"><GET /console HTTP/1.0></span></div> |
|---|
| 188 | </td></tr> |
|---|
| 189 | </table></div></div><div class="frame"> |
|---|
| 190 | <div class="location">/usr/local/lib/python2.5/site-packages/buildbot/status/web/console.py, line 675 in <span class="function">content</span></div> |
|---|
| 191 | <div class="snippet"> |
|---|
| 192 | <div class="snippetLine"><span class="lineno">673</span><span class="code"> categories,</span></div> |
|---|
| 193 | |
|---|
| 194 | <div class="snippetLine"><span class="lineno">674</span><span class="code"> builders,</span></div> |
|---|
| 195 | |
|---|
| 196 | <div class="snippetHighlightLine"><span class="lineno">675</span><span class="code"> debugInfo)</span></div> |
|---|
| 197 | |
|---|
| 198 | <div class="snippetLine"><span class="lineno">676</span><span class="code"></span></div> |
|---|
| 199 | </div><div class="variables"><b>Locals</b><table class="variables"> |
|---|
| 200 | <tr class="varRow"><td class="varName">categories</td><td class="varValue"><div class="list"><span class="heading">List instance @ 0x2a7a488</span></div></td></tr> |
|---|
| 201 | |
|---|
| 202 | <tr class="varRow"><td class="varName">debugInfo</td><td class="varValue"><div class="dict"><span class="heading">Dictionary instance @ 0x27448e0</span><table class="dict"><tr><td class="dictKey">'revision_final'</td><td class="dictValue"><code>29</code></td></tr><tr><td class="dictKey">'builds_scanned'</td><td class="dictValue"><code>1</code></td></tr><tr><td class="dictKey">'source_all'</td><td class="dictValue"><code>29</code></td></tr><tr><td class="dictKey">'source_len'</td><td class="dictValue"><code>29</code></td></tr><tr><td class="dictKey">'last_revision'</td><td class="dictValue"><code>1288</code></td></tr><tr><td class="dictKey">'load_time'</td><td class="dictValue"><code>1262819707.2321601</code></td></tr></table></div></td></tr> |
|---|
| 203 | |
|---|
| 204 | <tr class="varRow"><td class="varName">builders</td><td class="varValue"><div class="list"><span class="heading">List instance @ 0x2a7a248</span></div></td></tr> |
|---|
| 205 | </table></div></div><div class="frame"> |
|---|
| 206 | <div class="location">/usr/local/lib/python2.5/site-packages/buildbot/status/web/console.py, line 385 in <span class="function">getAllBuildsForRevision</span></div> |
|---|
| 207 | <div class="snippet"> |
|---|
| 208 | <div class="snippetLine"><span class="lineno">383</span><span class="code"> lastRevision,</span></div> |
|---|
| 209 | |
|---|
| 210 | <div class="snippetLine"><span class="lineno">384</span><span class="code"> numBuilds,</span></div> |
|---|
| 211 | |
|---|
| 212 | <div class="snippetHighlightLine"><span class="lineno">385</span><span class="code"> debugInfo)</span></div> |
|---|
| 213 | |
|---|
| 214 | <div class="snippetLine"><span class="lineno">386</span><span class="code"></span></div> |
|---|
| 215 | </div><div class="variables"><b>Locals</b><table class="variables"> |
|---|
| 216 | <tr class="varRow"><td class="varName">debugInfo</td><td class="varValue"><div class="dict"><span class="heading">Dictionary instance @ 0x27448e0</span><table class="dict"><tr><td class="dictKey">'revision_final'</td><td class="dictValue"><code>29</code></td></tr><tr><td class="dictKey">'builds_scanned'</td><td class="dictValue"><code>1</code></td></tr><tr><td class="dictKey">'source_all'</td><td class="dictValue"><code>29</code></td></tr><tr><td class="dictKey">'source_len'</td><td class="dictValue"><code>29</code></td></tr><tr><td class="dictKey">'last_revision'</td><td class="dictValue"><code>1288</code></td></tr><tr><td class="dictKey">'load_time'</td><td class="dictValue"><code>1262819707.2321601</code></td></tr></table></div></td></tr> |
|---|
| 217 | |
|---|
| 218 | <tr class="varRow"><td class="varName">numBuilds</td><td class="varValue"><code>40</code></td></tr> |
|---|
| 219 | |
|---|
| 220 | <tr class="varRow"><td class="varName">lastRevision</td><td class="varValue"><code>1288</code></td></tr> |
|---|
| 221 | </table></div></div><div class="frame"> |
|---|
| 222 | <div class="location">/usr/local/lib/python2.5/site-packages/buildbot/status/web/console.py, line 305 in <span class="function">getBuildsForRevision</span></div> |
|---|
| 223 | <div class="snippet"> |
|---|
| 224 | <div class="snippetLine"><span class="lineno">303</span><span class="code"> # Now break if we have enough builds.</span></div> |
|---|
| 225 | |
|---|
| 226 | <div class="snippetLine"><span class="lineno">304</span><span class="code"> current_revision = self.getChangeForBuild(</span></div> |
|---|
| 227 | |
|---|
| 228 | <div class="snippetHighlightLine"><span class="lineno">305</span><span class="code"> builder.getBuild(-1), revision)</span></div> |
|---|
| 229 | |
|---|
| 230 | <div class="snippetLine"><span class="lineno">306</span><span class="code"> if self.comparator.isRevisionEarlier(</span></div> |
|---|
| 231 | </div><div class="variables"><b>Self</b><table class="variables"> |
|---|
| 232 | <tr class="varRow"><td class="varName">comparator</td><td class="varValue"><code><buildbot.status.web.console.IntegerRevisionComparator object at 0x2375190></code></td></tr> |
|---|
| 233 | </table></div><div class="variables"><b>Locals</b><table class="variables"> |
|---|
| 234 | <tr class="varRow"><td class="varName">builds</td><td class="varValue"><div class="list"><span class="heading">List instance @ 0x2a7a098</span><div class="listItem"><div class="instance"><span class="instanceName">buildbot.status.web.console.DevBuild instance @ 0x2a427a0</span> |
|---|
| 235 | <span class="instanceRepr"><buildbot.status.web.console.DevBuild instance at 0x2a427a0></span></div> |
|---|
| 236 | </div></div></td></tr> |
|---|
| 237 | |
|---|
| 238 | <tr class="varRow"><td class="varName">builder</td><td class="varValue"><div class="instance"><span class="instanceName">buildbot.status.builder.BuilderStatus instance @ 0x26a7560</span> |
|---|
| 239 | <span class="instanceRepr"><buildbot.status.builder.BuilderStatus instance at 0x26a7560></span></div> |
|---|
| 240 | </td></tr> |
|---|
| 241 | |
|---|
| 242 | <tr class="varRow"><td class="varName">self</td><td class="varValue"><div class="instance"><span class="instanceName">buildbot.status.web.console.ConsoleStatusResource instance @ 0x2604710</span> |
|---|
| 243 | <span class="instanceRepr"><buildbot.status.web.console.ConsoleStatusResource instance at 0x2604710></span></div> |
|---|
| 244 | </td></tr> |
|---|
| 245 | |
|---|
| 246 | <tr class="varRow"><td class="varName">revision</td><td class="varValue"><code>1288</code></td></tr> |
|---|
| 247 | </table></div><div class="variables"><b>Globals</b><table class="variables"> |
|---|
| 248 | <tr class="varRow"><td class="varName">builder</td><td class="varValue"><code><module 'buildbot.status.builder' from '/usr/local/lib/python2.5/site-packages/buildbot/status/builder.pyc'></code></td></tr> |
|---|
| 249 | </table></div></div><div class="frame"> |
|---|
| 250 | <div class="location">/usr/local/lib/python2.5/site-packages/buildbot/status/web/console.py, line 332 in <span class="function">getChangeForBuild</span></div> |
|---|
| 251 | <div class="snippet"> |
|---|
| 252 | <div class="snippetLine"><span class="lineno">330</span><span class="code"> # No matching change, return the last change in build</span></div> |
|---|
| 253 | |
|---|
| 254 | <div class="snippetLine"><span class="lineno">331</span><span class="code"> changes = build.getChanges()[:]</span></div> |
|---|
| 255 | |
|---|
| 256 | <div class="snippetHighlightLine"><span class="lineno">332</span><span class="code"> changes.sort(key=self.comparator.getSortingKey())</span></div> |
|---|
| 257 | |
|---|
| 258 | <div class="snippetLine"><span class="lineno">333</span><span class="code"> return changes[-1]</span></div> |
|---|
| 259 | </div><div class="variables"><b>Self</b><table class="variables"> |
|---|
| 260 | <tr class="varRow"><td class="varName">comparator</td><td class="varValue"><code><buildbot.status.web.console.IntegerRevisionComparator object at 0x2375190></code></td></tr> |
|---|
| 261 | </table></div><div class="variables"><b>Locals</b><table class="variables"> |
|---|
| 262 | <tr class="varRow"><td class="varName">self</td><td class="varValue"><div class="instance"><span class="instanceName">buildbot.status.web.console.ConsoleStatusResource instance @ 0x2604710</span> |
|---|
| 263 | <span class="instanceRepr"><buildbot.status.web.console.ConsoleStatusResource instance at 0x2604710></span></div> |
|---|
| 264 | </td></tr> |
|---|
| 265 | |
|---|
| 266 | <tr class="varRow"><td class="varName">changes</td><td class="varValue"><code>(<buildbot.changes.changes.Change instance at 0x26fb998>, <buildbot.changes.changes.Change instance at 0x26fbb00>)</code></td></tr> |
|---|
| 267 | |
|---|
| 268 | <tr class="varRow"><td class="varName">build</td><td class="varValue"><div class="instance"><span class="instanceName">buildbot.status.builder.BuildStatus instance @ 0x26fb7a0</span> |
|---|
| 269 | <span class="instanceRepr"><BuildStatus #25></span></div> |
|---|
| 270 | </td></tr> |
|---|
| 271 | |
|---|
| 272 | <tr class="varRow"><td class="varName">change</td><td class="varValue"><div class="instance"><span class="instanceName">buildbot.changes.changes.Change instance @ 0x26fbb00</span> |
|---|
| 273 | <span class="instanceRepr"><buildbot.changes.changes.Change instance at 0x26fbb00></span></div> |
|---|
| 274 | </td></tr> |
|---|
| 275 | </table></div></div></div><a name="tbend"> </a> |
|---|
| 276 | <p class="error"><type 'exceptions.AttributeError'>: 'tuple' object has no attribute 'sort'</p> |
|---|
| 277 | |
|---|
| 278 | |
|---|
| 279 | </body></html> |
|---|