Opened 9 years ago

Closed 8 years ago

#39 closed defect (fixed)

File blacklisting for files that repeatedly crash applications

Reported by: michiel Owned by: sander
Priority: blocker Milestone: Public release
Component: Central server Keywords:
Cc: Time estimate:

Description

A number of files are handled very badly by some applications (i.e. make them hang/crash), including quite some files in the test suite. Of course this happens without a proper error response from the application. Also, in principle the factory works but just not for these files - taking out the entire worker is not very elegant, since that means any of the workers that have this application cannot stay up for more than one hour.

The same would go for their respective factories. Since these persistent failures cause the entire factory to become unusable until manual intervention, it would be very useful to be able for factory owners to mark specific files as 'don't hammer this one on my factory indefinitely'. These could be shown with a warning (say a little skull) in the results page, and would be blocked until a version update of the application - or manual deblocking.

Attachments (1)

innovatievoucher-2010.odt (12.1 KB) - added by michiel 9 years ago.
file die Officeshots.org onderuit haalt via OpenOffice?.org

Download all attachments as: .zip

Change History (6)

comment:1 Changed 9 years ago by michiel

4bb54e18-cc1c-4270-bac2-67eba171557e.odp

The file contains an error:

<draw:frame draw:name="Object 1" presentation:class="object" svg:x="2.058cm"
svg:y="5.838cm" svg:width="23.912cm" svg:height="13.23cm"/>
<draw:object xlink:href="./Object 1" xlink:type="simple" xlink:show="embed"
xlink:actuate="onLoad"/>
</draw:frame>

The problem is that the first draw frame is already ended with a />.

comment:2 Changed 9 years ago by michiel

Other applications block this broken file (originally called classObject.odp) as well.

comment:3 Changed 9 years ago by michiel

I don't know which document this is, but it crashes the server as well:

send: 'POST /xmlrpc HTTP/1.0\r\nHost: www.officeshots.org\r\nUser-Agent: M2Crypt
o_XMLRPC/0.19.1 - xmlrpclib.py/1.0.1 (by www.pythonware.com)\r\nContent-Type: te
xt/xml\r\nContent-Length: 157\r\n\r\n'
send: "<?xml version='1.0'?>\n<methodCall>\n<methodName>jobs.poll</methodName>\n
<params>\n<param>\n<value><string>Raam</string></value>\n</param>\n</params>\n</
methodCall>\n"
reply: 'HTTP/1.1 200 OK\r\n'
header: Date: Wed, 07 Apr 2010 15:59:43 GMT
header: Server: Apache/2.2.9 (Debian) DAV/2 SVN/1.5.1 PHP/5.2.6-1+lenny6 with Su
hosin-Patch mod_python/3.3.1 Python/2.5.2 mod_ssl/2.2.9 OpenSSL/0.9.8g
header: X-Powered-By: PHP/5.2.6-1+lenny6
header: Set-Cookie: CAKEPHP=670b67fcf9f5c84e2c3a6fc7e9fdefcf; expires=Wed, 14 Ap
r 2010 15:59:43 GMT; path=/; secure
header: P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
header: Vary: Accept-Encoding
header: Content-Length: 7036
header: Connection: close
header: Content-Type: text/html
body: '\n<pre class="cake-debug">\n<a href=\'javascript:void(0);\' onclick=\'doc
ument.getElementById("CakeStackTrace1").style.display = (document.getElementById
("CakeStackTrace1").style.display == "none" ? "" : "none")\'><b>Warning</b> (2)<
/a>: fopen(/home/www.officeshots.org/trunk/www/app/tmp/cache/cake_model_default_
galleries_requests) [<a href=\'http://php.net/function.fopen\'>function.fopen</a

]: failed to open stream: No such file or directory [<b>CORE/cake/libs/file.php

</b>, line <b>156</b>]\n</pre>\n<div id="CakeStackTrace1" class="cake-stack-trac
e" style="display: none;"><a href=\'javascript:void(0);\' onclick=\'document.get
ElementById?("CakeErrorCode1").style.display = (document.getElementById("CakeErro?
rCode1").style.display == "none" ? "" : "none")\'>Code</a> | <a href=\'javascrip
t:void(0);\' onclick=\'document.getElementById("CakeErrorContext1").style.displa
y = (document.getElementById("CakeErrorContext1").style.display == "none" ? "" :

"none")\'>Context</a><pre id="CakeErrorContext1" class="cake-context" style="di

splay: no'
Traceback (most recent call last):

File "factory.py", line 223, in <module>

factory.run()

File "factory.py", line 208, in run

while self.loop():

File "factory.py", line 151, in loop

job = self.proxy.jobs.poll(self.name)

File "C:\Program Files\so92\Sun\StarOffice? 9\Basis\program\python-core-2.6.1\l

ib\xmlrpclib.py", line 1199, in call

return self.send(self.name, args)

File "C:\Program Files\so92\Sun\StarOffice? 9\Basis\program\python-core-2.6.1\l

ib\xmlrpclib.py", line 1489, in request

verbose=self.verbose

File "c:\Downloads\factory\src\transports\m2crypto.py", line 43, in request

return m2xmlrpclib.SSL_Transport.request(self, host, handler, request_body,

verbose)

File "C:\Python26\lib\site-packages\M2Crypto\m2xmlrpclib.py", line 64, in requ

est

return self.parse_response(h.getfile())

File "C:\Program Files\so92\Sun\StarOffice? 9\Basis\program\python-core-2.6.1\l

ib\xmlrpclib.py", line 1361, in parse_response

return self._parse_response(file, None)

File "C:\Program Files\so92\Sun\StarOffice? 9\Basis\program\python-core-2.6.1\l

ib\xmlrpclib.py", line 1387, in _parse_response

p.feed(response)

File "C:\Program Files\so92\Sun\StarOffice? 9\Basis\program\python-core-2.6.1\l

ib\xmlrpclib.py", line 601, in feed

self._parser.Parse(data, 0)

xml.parsers.expat.ExpatError?: junk after document element: line 5, column 0

comment:4 Changed 9 years ago by michiel

tF8PrGmwgouWkU7rA26Vxzn+4pQi8fVeEqulH2sNtMx3Vx1WkeHvfsJKyh11l7nluDzW96t3zOsuE0oL
xr6Nv7G84vPtEotEAVhFLbVMr2gFx6fj0B0IY6T5YklCULuF6vEGH2hyMWHS4PwjlQyUeZF'
body: 'Ycvk4lmxysUZXe6eDhxWCCtKE42sa/pvE0XcO1SNhXFGXnlH2g0XMl/PG4etw739vc4hl3QMf
SNX9w5POr0TGuJNbji2EO4UA3Xla8yI6UUku63eydFJ96hctWpSWvvHRwfcQBQG6BR6Cb4wPh05NQA56
cjnTmXt/rHsRASdvd7BSbPbjQfN437/oCmPjk6OB/3O4RFfEPLUYHWm00lSjWUjujRUsDguhySWlh6S1
lxaSex51p778aLy8jxa87G1IUT1u/jVGDsFpNTU5tFIuaxMXHRpfafkGLuVCbECPp8o/Ii2iJWwU+Xgs
1hoM1WZV6gqeCvoKlNkTHRgOrxX5ZjNXaQKVWn5DdUuG6ntpH9DRgGgsaTfMsnE+3evmsqJ5zeWTjlkw
NRa56SMoa1TYTjpB0jMXQOOA7lWNWXgxVEgubCoWPH1SsHJaIM2SBMkZndN2pkoSyAwuw0BSvtDz2d
gqZL40vpadYfwi9RYIgGzFTDuMvxGsoOsasmGalOo5VwqtAzxs7VEbKFG/17fC1xNpwoXr+vUhWI32eu
0Rfj8WNSgYi1g6ZD9P6Ltdj3mshNvcsG2sUgryfabxBoVds/jYLsHNb4iVCc62E0eARGey1jizNdhlhM
6UQLDywAzgTAVSLeCKWvyZDyIBAR6lSYqYTKr0qN7TJZ4RyKDRFTlwDlrzIOFFA/VY6qxBdtDWe4MMhI
K0R0yHt87b+IBMpBU5460W3A2XycQZ3RzbtY1/lYjEjS81uqQloVMosuKIJjaEn5RBcwQ6AJxzmkw6a1
u3r65j2DUAzNtbD1lbWvMc+tFxfKY8QkAPzmfBYtqT3HgpaBwmMgiQOqGQKlTsLjBrK9p+22u1nNmSV/
oXqVyh0I2rvizAmauiDbXHNp4S7qZY0llUTgiPp77U32A+5OsJ8V5ASJMGu2Ek8n5AHF4JXWAirdijRv
Ryo5JYXvwNJfYQ/7vNXcAJcxh4jkojF0KoY3gc1pEXsXn549Su6A+Q28oXIbkSIYb4qaBkd'
body: 'EFGXNTdEH3T3RvyRYR8DYiLvcTYxeUdJnmk1IHYa2TwmSBMvYUeCHyEk12HfEEI4PGA8UB49B
DZ4/S2guNe4+BwQx0rWkrvIbXwOLUbg16/eSZElcjh2EgDYBUEaymw2XxFuScOI/gw/tplvbYNS8Zu+J
l1AG2IV35asXiX9rujjiAOOD05QbmoTDGdUCtnJRUFJWTENAz3ZQxGZ24mXgZ/hXCZu1c7nWBCm7czrB
TrgmR6PaUMQJNl9Y9W4eAhpRzmhmC6hf8HuKDqaEoHYn0s25Xq1Z7U2FXTLRPaQFPi4tzH89+6H/y8qR
A9OY85gSOPVyHzGdmTMVLuBJxk4c7SUAZRmfIN4gtUKWIpRHgpzrJBEjOsykwKsYpsh5WYKq2Q4mkwmv
FdZuylsvAKHnhzXVyjtM16Q6ozR/KdOr7QvOp8yQrUugeHc73POABkEWaZAgj4FbYLuAhHVQ4aXKnqCl
Wjso6aRi0YBrnASSrHhEENVSgi8QM0CdcAk0Dj2GrapioBDWtXhWEehzmjHlviXpZzjOhSAXUCaK4jL0
dLkWRbU4BYHjo95JfzGNBxYeOQhyKpdwLyjFtkzEe6KGexLLbHkmGP54rtw9T5qV/BRaN1op92SmMczc
KwOxXOKTgiYdZ5KE0EnRG9kcTgkZwuVjAmsadmBTPiTNrkPYCK8A0Yr9KLz4bJq5eG7fvoG8NIwuMakg
3vyb79yDkfpS54EIMMsaRhnQ/rGAZHcLqXngFKMbKM+AsyD83I7lZpmZQvWLJx356p+Z/2J06d05K6ac
joQaPTkLlWxltqR/lWAddUJ/5lKoyQ6fT0M5MTOTFWob9OC85HamnGTWKIKYo+1G0ABxO61HtKfnZWoj
oJfil7o5WSS6Ihp8jnBeIbO+/WvX17uEIrhoCrq2JK+5+ZsQv1V686E/oMcd7jouPt88FnELgeHwF1yP
CbqZvsAWmoYQHFuW4tqg/dzyeass9aQIzJkpIhaFB8y1BDH2iyyxcGWaPcdRB1T0ztrJyNK'
body: '3SSUGvH8XNyg5yYwvA7y1CPra8R3B8PqprrieU65wicvY4ehFvO2OwVdJdaiLhq6QZh3Rdyij
6fjlkno9FUgmdpvxVAGmrRh2BaQIjbE0wlVfNpCRl4zONkgsg48i/NrvEVfeURHHCw673r5RCnibVZQ4
ur2KXfpDoWKAZ0p+HaRcFV8Q8okaOHhgvaKY/tn+i4Y1VdubX1x5kGzwxTUD11LSUmnxKii0+uI4+Njs
d876LFXuWW2Y3Y2d0DUeZSxqNM01qHrR8c944DZhFsp6U6Xmoq/lVo
BDUfJSftZE5fqxdwlbf+7yHb
H7F+TXI6CYnCHrZL2/b+O2/f8/P5oq8jHEyXq3B0tu7vf8Yym5zuIDiH0EOTAdPR2NUE78m4j+gyv9QO
D9mVBGejs7vpu+EyVMUuyej8vMMHvZF0R3sPB1IP1L7ctK4eFtWJ+olUe9R/+EU85Cbh630eqtwjgXIy
2b5LgZ83/6y+aKfUHmTp0iqX4DDhG4H3Nqa8EPp/IlvGqZoCjOVPB21X9LNnHtS1eBNbtCIq6cI7E8qU
QPwyRMrDD9Tcy7va9H+cJWLB+G7AuGLC4vfPKg+h28mVB9v/2fcxf8BUEsHCKYcGg5nDAAAWzcAAFBLA
QIXAxQACAAAAG+thzxexjIMJwAAACcAAAAIAAAAAAAAAAAAAACkAQAAAABtaW1ldHlwZVBLAQIXAxQAC
AAIAG+thzw/VqWk3wAAALIBAAAIAAAAAAAAAAAAAACkAU0AAABtZXRhLnhtbFBLAQIXAxQACAAIAG+th
zyR7XdlrQAAAEsBAAAMAAAAAAAAAAAAAACkAWIBAABzZXR0aW5ncy54bWxQSwECFwMUAAgACABvrYc8u
TMMbjIaAAAkSwAALQAAAAAAAAAAAAAApAFJAgAAUGljdHVyZXMvYjhhMGNhY2UtMzI1OS0xMWRmLThiY
jUtYTc3OThmYjA2N2NlUEsBAhcDFAAIAAgAb62HPBgGKnM4AQAAiAMAABUAAAAAAAAAAAAA'
body: 'AKQB1hwAAE1FVEEtSU5GL21hbmlmZXN0LnhtbFBLAQIXAxQACAAIAG+thzxtT3aGfwMAADEPA
AAKAAAAAAAAAAAAAACkAVEeAABzdHlsZXMueG1sUEsBAhcDFAAIAAgAb62HPKYcGg5nDAAAWzcAAAsAA
AAAAAAAAAAAAKQBCCIAAGNvbnRlbnQueG1sUEsFBgAAAAAHAAcAtQEAAKguAAAAAA==</string>\n

</value>\n </member>\n </struct>\n </value>\n </param>\n</params>\n</me

thodResponse>\n'
2010-04-07 21:56:42,967 DEBUG: Temporary filename: c:\officeshots\4bbce279-3d2c-
41a2-879d-79a8c1acb699.odt
Traceback (most recent call last):

File "factory.py", line 223, in <module>

factory.run()

File "factory.py", line 208, in run

while self.loop():

File "factory.py", line 171, in loop

(format, document) = backend.process(job)

File "c:\Downloads\factory\src\backends\oooserver.py", line 124, in process

document = self.desktop.loadComponentFromURL(src_file_url, "_blank", 0, _uno

Props(Hidden=True, ReadOnly?=True, UpdateDocMode?=QUIET_UPDATE))
backends.oooserver.IllegalArgumentException?: URL seems to be an unsupported one.

Changed 9 years ago by michiel

file die Officeshots.org onderuit haalt via OpenOffice?.org

comment:5 Changed 8 years ago by sander

  • Resolution set to fixed
  • Status changed from new to closed

This has been resolved. Factory owners can manually mark a job as failed, preventing it from being sent to their factory. On top of that, Officeshots tracks the number of failures. A document will never be sent out more than five times.

Note: See TracTickets for help on using tickets.