Download presentation
Presentation is loading. Please wait.
Published byLionel Park Modified over 6 years ago
1
LibreOffice Online Debugging Collabora Productivity
Andras Timar Collabora Productivity @CollaboraOffice
2
Rendering issues Tiled rendering 256 × 256 px PNG tiles
OK in desktop Libreoffice, not OK in LibreOffice Online gtktiledviewer bin/run gtktiledviewer <absolute-path-to- libreoffice-install's-program-directory> <path-to- document> [<options> ... ]
3
Connectivity issues Browser, Web Developers Tool (F12)
Webserver, load balancer etc. logs Loolwsd logs Wireshark 1. plain HTTP, port 9980 2. reverse proxy 80 ↔ 9980 3. SSL (certs, self signed certs) 4. Load balancer 5. SSL offloading 6. Websocket timeouts File Sharing Solution Collabora Online server
4
loolwsd logging 8 levels
fatal, critical, error, warning, notice, information, debug, trace Set it in /etc/loolwsd/loolwsd.xml Systemd journal or separate log file or console
5
Running LOOL locally Configure online:
--with-lokit-path=bundled/include --enable-debug --with-lo-path=/path/to/libreoffice- master/instdir --disable-ssl sudo mkdir -p /usr/local/var/cache/loolwsd sudo chown `whoami` /usr/local/var/cache/loolwsd make run Click on the link presented … or do the ‘make run’ steps manually (see README)
6
Debug loolwsd with gdb --numprespawns=1
export SLEEPFORDEBUGGER=<number of seconds> Capabilities… run gdb as root chroot environment… symlink LibreOffice dir Set LOOL_DEBUG=1 to trap SIGSEGV and SEGBUS and prompt for debugger When debugging, you want to add --numprespawns=1 to the loolwsd parameters to limit the amount of concurrently running processes. When the crash happens too early, you also want to export SLEEPFORDEBUGGER=<number of seconds> so that you have time to attach to the process. Then run loolwsd, and attach your debugger to the process you are interested in. Note that as the loolforkit executable file has capabilities set, so when debugging that you need to run the debugger with super-user privilege. Also, note that as the child processes run in a chroot environment, they see the LibreOffice shared libraries as being in a directory tree /lo , but your debugger does not. So in order to be able to effectively debug the LibreOffice code as used through LibreOfficeKit by a child loolwsd process, you need to symlink the "lo" subdirectory of a running child loolwsd process's chroot jail as /lo. Something like: sudo ln -s ~/libreoffice/master/lool-child-roots/ /lo /lo Use the ps command to find out exactly the path to use. Set LOOL_DEBUG=1 to trap SIGSEGV and SEGBUS and prompt for debugger. In order to run and debug one unit test, set CPPUNIT_TEST_NAME to something non-empty: make check CPPUNIT_TEST_NAME="unit-prefork" make check CPPUNIT_TEST_NAME="HTTPWSTest::testCalcEditRendering"
7
trace, loolstress Record commands and notifications
Set in loolwsd.xml, <trace … > Replay the session with loolstress tool
8
Debug mode in Browser Ctrl + Shift + Alt + D
9
Let me show its features...
Always active Ping times Tile stats Typing Console log
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.