[Libreoffice-commits] online.git: loolwsd/PROBLEMS
Tor Lillqvist
tml at collabora.com
Fri Feb 26 11:27:51 UTC 2016
loolwsd/PROBLEMS | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
New commits:
commit 188ca79a6babfe58551caa0fc18613168ac7b2c7
Author: Tor Lillqvist <tml at collabora.com>
Date: Fri Feb 26 13:26:21 2016 +0200
Always complaining
diff --git a/loolwsd/PROBLEMS b/loolwsd/PROBLEMS
new file mode 100644
index 0000000..02929e8
--- /dev/null
+++ b/loolwsd/PROBLEMS
@@ -0,0 +1,42 @@
+- The /dev/random and /dev/urandom devices created with mknod() in the
+ chroots don't work as they are not chowned to root:root.
+
+- There is way too much of busy waiting for fairly arbitrarily chosen
+ timeout periods in the code.
+
+- The use of the fifoCV condition variable and its associated mutex
+ fifoMutex in createLibreOfficeKit() in LOOLBroker.cpp are pointless
+ as there is no code that would notify the condition variable
+ anywhere.
+
+- The --clientport= option to a lookit process (when spawning them,
+ not forking) can not work as intended. The ClientPortNumber variable
+ is declared *static* in ChildProcessSession.hpp and thus is a
+ separate variable in each compilation unit (object file) that
+ includes ChildProcessSession.hpp. The variable that is assigned in
+ main() in LOOLKit.cpp is not the variable used in
+ ChildProcessSession::downloadAs() in ChildProcessSession.cpp.
+
+- Recursive mutexes are evil. In general, I think the consensus is
+ that recursive mutexes should be avoided. One should use them only
+ when absolutely necessary because the code-base is so complex that
+ one has no idea how it works. That was hopefully not the case when
+ recursive mutexes were introduced here? But probably it is by now...
+
+- The use of separate "disconnect" messages over the WebSocket
+ connections is not good. It should be perfectly enough to just close
+ the WebSocket connection gracefully using the WebSocket mechanism,
+ i.e. a frame with the CLOSE opcode. Or just tearing down the socket
+ without a CLOSE frame. The code needs to be prepared to handle these
+ situations anyway, especially for the socket talking to the
+ client. For the internal communication in the process tree,
+ "disconnect" messages are barely acceptable, if the code is already
+ written to generate and expect them. But they should never be sent
+ to a client (or expected from it).
+
+- 'make check' does not work, or fails randomly, unless you have a
+ freshly started loolwsd with a --numprespawn option that is big
+ enough, 8 or so. Running 'make check' again without waiting for some
+ time (or re-starting loolwsd) fails most of the times. But
+ occasionally it passes. Clearly this is a sign that things do not
+ work as they should.
More information about the Libreoffice-commits
mailing list