Commit 05020883 authored by Arnaud Fontaine's avatar Arnaud Fontaine

OpenOffice 3.1.1 sometimes SIGSEGV on Debian stable on customer environment at

startup when trying to get the list of filters and thus Cloudooo ends up being
not reachable at all, so implement retry for such cases.

0  0x00007ffff5ab6265 in uno_getIdOfCurrentThread () from /opt/openoffice.org3/basis-link/program/../ure-link/lib/libuno_cppu.so.3
1  0x00007ffff071c20c in ?? () from /opt/openoffice.org/ure/lib/liburp_uno.so
2  0x00007ffff0725775 in ?? () from /opt/openoffice.org/ure/lib/liburp_uno.so
3  0x00007ffff0725898 in ?? () from /opt/openoffice.org/ure/lib/liburp_uno.so
4  0x00007ffff0715f2a in ?? () from /opt/openoffice.org/ure/lib/liburp_uno.so
5  0x00007ffff5405c18 in ?? () from /opt/openoffice.org3/basis-link/program/../ure-link/lib/libuno_sal.so.3
6  0x00007ffff781a0a4 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
7  0x00007ffff6e4704d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
parent 5c67568c
...@@ -119,10 +119,17 @@ class MimeMapper(object): ...@@ -119,10 +119,17 @@ class MimeMapper(object):
"--hostname=%s" % hostname, "--hostname=%s" % hostname,
"--port=%s" % port] "--port=%s" % port]
import time
for _ in range(20):
process = Popen(command, stdout=PIPE, stderr=STDOUT, close_fds=True) process = Popen(command, stdout=PIPE, stderr=STDOUT, close_fds=True)
stdout, stderr = process.communicate() stdout, stderr = process.communicate()
if process.returncode: if process.returncode == 0:
break
time.sleep(2)
else:
raise ValueError(stdout) raise ValueError(stdout)
filter_dict, type_dict = json.loads(stdout) filter_dict, type_dict = json.loads(stdout)
ooo_disable_filter_name_list = kw.get("ooo_disable_filter_name_list") or [] + [ ooo_disable_filter_name_list = kw.get("ooo_disable_filter_name_list") or [] + [
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment