See 
<https://ci-builds.apache.org/job/Guacamole/job/guacamole-server-main-coverity/161/display/redirect?page=changes>

Changes:

[Mike Jumper] GUACAMOLE-377: Establish public guac_display API for efficient 
rendering via Guacamole protocol.

[Mike Jumper] GUACAMOLE-377: Tighten dirty rects down to the individual pixel, 
rather than whole 64-pixel lines.

[Mike Jumper] GUACAMOLE-377: Update layer list head upon layer removal only if 
non-empty.

[Mike Jumper] GUACAMOLE-377: Do NOT acquire the ops lock before any frame lock.

[Mike Jumper] GUACAMOLE-377: Correct logic and lock order around deferred frame 
flushing (caused deadlock).

[Mike Jumper] GUACAMOLE-377: Clarify logic around opaque layers.

[Mike Jumper] GUACAMOLE-377: Ensure regions outside last frame bounds are 
considered dirty.

[Mike Jumper] GUACAMOLE-377: Migrate guac_mem_*() assertions to GUAC_ASSERT().

[Mike Jumper] GUACAMOLE-377: Do not render frames while users are joining.

[Mike Jumper] GUACAMOLE-377: Flush an automatic frame for mouse changes only if 
there are no other graphical changes pending.

[Mike Jumper] GUACAMOLE-377: Updates to cursor must occur within the boundary 
of their relevant frame (before "sync").

[Mike Jumper] GUACAMOLE-377: Ensure all layers supporting transparency are 
properly cleared before receiving data that also supports transparency 
(including WebP).

[Mike Jumper] GUACAMOLE-377: Add ability to "hint" that a drawing operation 
copied data from another layer.

[Mike Jumper] GUACAMOLE-377: Use 2 worker threads per available processor.

[Mike Jumper] GUACAMOLE-377: Do not use threaded WebP encoder given that 
guac_display will already make use of a worker thread pool.

[Mike Jumper] GUACAMOLE-377: Migrate VNC support to guac_display API.

[Mike Jumper] GUACAMOLE-377: Group all guac_display documentation together 
under a shared Doxygen topic.

[Mike Jumper] GUACAMOLE-377: Migrate RDP to guac_display.

[Mike Jumper] GUACAMOLE-377: Replace RDP settings string (rather than reuse 
storage of unknown size).

[Mike Jumper] GUACAMOLE-377: Use FreeRDP's built-in GDI handling of bitmap 
cache.

[Mike Jumper] GUACAMOLE-377: Migrate terminal emulator to guac_display.

[Mike Jumper] GUACAMOLE-377: Work around libssh2 usage of strlen() on key data 
(otherwise encumbering testing of terminal emulator refactor).

[Mike Jumper] GUACAMOLE-377: Increase maximum number of streams.

[Mike Jumper] GUACAMOLE-377: Ignore directories and files used by Clang 
compilation database.

[Mike Jumper] GUACAMOLE-377: Correct return value confusion in handling of 
timeout vs. general failure of WaitForMultipleObjects().

[Mike Jumper] GUACAMOLE-377: Prefer GUAC_COMP_OVER to GUAC_COMP_SRC for 
performance-critical operations (~3x faster).

[Mike Jumper] GUACAMOLE-377: Remove all old surface, display, cursor, and rect 
code from src/common/.

[Mike Jumper] GUACAMOLE-377: Ensure frame boundaries are sent even for frames 
containing no graphics.

[Mike Jumper] GUACAMOLE-377: Migrate from timer to thread for pending users.

[Mike Jumper] GUACAMOLE-377: Restore heuristic detection of RDP frame 
boundaries.

[Mike Jumper] GUACAMOLE-377: Restore heuristic detection of VNC frame 
boundaries.

[Mike Jumper] GUACAMOLE-377: Allow the pending frame buffer for a 
guac_display_layer to be external.

[Mike Jumper] GUACAMOLE-377: Allow external guac_display buffers to be replaced 
with NULL if necessary for external cleanup tasks.

[Mike Jumper] GUACAMOLE-377: Migrate RDP to direct access of FreeRDP's GDI 
buffer.

[Mike Jumper] GUACAMOLE-377: Migrate VNC to direct access of RFB framebuffer.

[Mike Jumper] GUACAMOLE-377: Wrap all VNC message handling within drawing 
context.

[Mike Jumper] GUACAMOLE-377: Remove unnecessary locking of last frame during 
resize.

[Mike Jumper] GUACAMOLE-377: Restore good ol' guac_common_surface and 
guac_common_cursor for use by terminal.

[Mike Jumper] GUACAMOLE-377: Revert migration of terminal emulator to 
guac_display.

[Mike Jumper] GUACAMOLE-377: Make vertical combination more likely by limiting 
combinations to aligned boundaries.

[Mike Jumper] GUACAMOLE-377: Read lock should NOT be acquired at same time as 
write lock.

[Mike Jumper] GUACAMOLE-377: Do NOT combine display operations vertically 
unless edges match exactly.

[Mike Jumper] GUACAMOLE-377: Do not allow "img" instructions to break "rect" 
and "cfill" pairs.

[Mike Jumper] GUACAMOLE-377: Reduce number of worker threads to one per 
processor.

[Mike Jumper] GUACAMOLE-377: Synchronize layer contents only if non-empty.

[Mike Jumper] GUACAMOLE-377: Ignore alpha for rectangle operations on opaque 
layers.

[Mike Jumper] GUACAMOLE-377: Add convenient, default render thread 
implementation for guac_display.

[Mike Jumper] GUACAMOLE-377: Migrate RDP to default render thread.

[Mike Jumper] GUACAMOLE-377: Migrate VNC to default render loop.

[Mike Jumper] GUACAMOLE-377: Remove superfluous bounds check (now part of 
guac_pool).

[Mike Jumper] GUACAMOLE-377: Restore original NULL returns for alloc failures 
of streams/objects.

[Mike Jumper] GUACAMOLE-377: Fix regression causing RDP connections to always 
reconnect after closing.

[Mike Jumper] GUACAMOLE-377: Stream/object sentinel must be assigned BEFORE 
returning index to pool.


------------------------------------------
[...truncated 221.83 KB...]
#8 46.14 rm -f channels/rdpdr/*.o
#8 46.14 rm -f channels/rdpdr/*.lo
#8 46.15 rm -f channels/rdpsnd/*.o
#8 46.16 rm -f channels/rdpsnd/*.lo
#8 46.16 rm -f plugins/*.o
#8 46.17 rm -f plugins/*.lo
#8 46.18 rm -f plugins/guac-common-svc/*.o
#8 46.18 rm -f plugins/guac-common-svc/*.lo
#8 46.19 rm -f plugins/guacai/*.o
#8 46.19 rm -f plugins/guacai/*.lo
#8 46.20 rm -f *.lo
#8 46.20 make[2]: Leaving directory '/build/guacamole-server/src/protocols/rdp'
#8 46.20 Making clean in tests
#8 46.21 make[2]: Entering directory 
'/build/guacamole-server/src/protocols/rdp/tests'
#8 46.21  rm -f test_rdp
#8 46.21 test -z "_generated_runner.c" || rm -f _generated_runner.c
#8 46.22 rm -rf .libs _libs
#8 46.22 rm -f *.o
#8 46.22 rm -f fs/*.o
#8 46.23 test -z "test_rdp.log" || rm -f test_rdp.log
#8 46.23 test -z "test_rdp.trs" || rm -f test_rdp.trs
#8 46.24 test -z "test-suite.log" || rm -f test-suite.log
#8 46.24 rm -f *.lo
#8 46.25 make[2]: Leaving directory 
'/build/guacamole-server/src/protocols/rdp/tests'
#8 46.25 make[1]: Leaving directory '/build/guacamole-server/src/protocols/rdp'
#8 46.25 Making clean in src/protocols/ssh
#8 46.26 make[1]: Entering directory '/build/guacamole-server/src/protocols/ssh'
#8 46.26 test -z "libguac-client-ssh.la" || rm -f libguac-client-ssh.la
#8 46.27 rm -f ./so_locations
#8 46.27 rm -rf .libs _libs
#8 46.27 rm -f *.o
#8 46.28 rm -f *.lo
#8 46.28 make[1]: Leaving directory '/build/guacamole-server/src/protocols/ssh'
#8 46.28 Making clean in src/protocols/telnet
#8 46.29 make[1]: Entering directory 
'/build/guacamole-server/src/protocols/telnet'
#8 46.29 test -z "libguac-client-telnet.la" || rm -f libguac-client-telnet.la
#8 46.30 rm -f ./so_locations
#8 46.31 rm -rf .libs _libs
#8 46.31 rm -f *.o
#8 46.31 rm -f *.lo
#8 46.32 make[1]: Leaving directory 
'/build/guacamole-server/src/protocols/telnet'
#8 46.32 Making clean in src/protocols/vnc
#8 46.33 make[1]: Entering directory '/build/guacamole-server/src/protocols/vnc'
#8 46.33 test -z "libguac-client-vnc.la" || rm -f libguac-client-vnc.la
#8 46.34 rm -f ./so_locations
#8 46.34 rm -rf .libs _libs
#8 46.34 rm -f *.o
#8 46.35 rm -f *.lo
#8 46.35 make[1]: Leaving directory '/build/guacamole-server/src/protocols/vnc'
#8 46.35 Making clean in src/guacd
#8 46.36 make[1]: Entering directory '/build/guacamole-server/src/guacd'
#8 46.36 test -z " " || rm -f  
#8 46.36 rm -rf .libs _libs
#8 46.37  rm -f guacd
#8 46.37 rm -f *.o
#8 46.38 rm -f *.lo
#8 46.38 make[1]: Leaving directory '/build/guacamole-server/src/guacd'
#8 46.38 Making clean in src/guacenc
#8 46.39 make[1]: Entering directory '/build/guacamole-server/src/guacenc'
#8 46.39  rm -f guacenc
#8 46.40 rm -rf .libs _libs
#8 46.40 rm -f *.o
#8 46.41 rm -f *.lo
#8 46.42 make[1]: Leaving directory '/build/guacamole-server/src/guacenc'
#8 46.42 Making clean in src/guaclog
#8 46.43 make[1]: Entering directory '/build/guacamole-server/src/guaclog'
#8 46.43  rm -f guaclog
#8 46.44 rm -rf .libs _libs
#8 46.44 rm -f *.o
#8 46.45 rm -f *.lo
#8 46.46 make[1]: Leaving directory '/build/guacamole-server/src/guaclog'
#8 46.46 make[1]: Entering directory '/build/guacamole-server'
#8 46.46 rm -rf .libs _libs
#8 46.46 rm -f *.lo
#8 46.47 make[1]: Leaving directory '/build/guacamole-server'
#8 46.47 + cov-build --dir cov-int make
#8 46.48 Coverity Build Capture (64-bit) version 2023.12.2 on Linux 
5.15.0-119-generic x86_64
#8 46.48 Internal version numbers: 78329b8295 p-2023.12-push-50
#8 46.48 
#8 46.65 
#8 46.69 make  all-recursive
#8 46.69 make[1]: Entering directory '/build/guacamole-server'
#8 46.70 Making all in src/libguac
#8 46.71 make[2]: Entering directory '/build/guacamole-server/src/libguac'
#8 46.73 Making all in .
#8 46.74 make[3]: Entering directory '/build/guacamole-server/src/libguac'
#8 46.74   CC       libguac_la-argv.lo
#8 64.04   CC       libguac_la-audio.lo
#8 65.68   CC       libguac_la-client.lo
#8 68.14   CC       libguac_la-display.lo
#8 69.74   CC       libguac_la-display-builtin-cursors.lo
#8 70.77   CC       libguac_la-display-cursor.lo
#8 72.41   CC       libguac_la-display-flush.lo
#8 74.54   CC       libguac_la-display-layer.lo
#8 76.46   CC       libguac_la-display-layer-list.lo
#8 78.33   CC       libguac_la-display-plan.lo
#8 80.40   CC       libguac_la-display-plan-combine.lo
#8 82.05   CC       libguac_la-display-plan-rect.lo
#8 83.50   CC       libguac_la-display-plan-search.lo
#8 85.10   CC       libguac_la-display-render-thread.lo
#8 86.52   CC       libguac_la-display-worker.lo
#8 88.31   CC       libguac_la-encode-jpeg.lo
#8 90.06   CC       libguac_la-encode-png.lo
#8 91.89   CC       libguac_la-error.lo
#8 93.19   CC       libguac_la-fifo.lo
#8 94.53   CC       libguac_la-fips.lo
#8 95.86   CC       libguac_la-flag.lo
#8 97.07   CC       libguac_la-hash.lo
#8 98.17   CC       libguac_la-id.lo
#8 99.19   CC       libguac_la-mem.lo
#8 100.5   CC       libguac_la-rwlock.lo
#8 101.7   CC       libguac_la-palette.lo
#8 103.3   CC       libguac_la-parser.lo
#8 105.0   CC       libguac_la-pool.lo
#8 106.4   CC       libguac_la-protocol.lo
#8 110.0   CC       libguac_la-raw_encoder.lo
#8 111.6   CC       libguac_la-recording.lo
#8 113.1   CC       libguac_la-rect.lo
#8 114.1   CC       libguac_la-socket.lo
#8 116.0   CC       libguac_la-socket-broadcast.lo
#8 117.5   CC       libguac_la-socket-fd.lo
#8 119.1   CC       libguac_la-socket-nest.lo
#8 120.5   CC       libguac_la-socket-tee.lo
#8 121.8   CC       libguac_la-string.lo
#8 122.9   CC       libguac_la-tcp.lo
#8 124.3   CC       libguac_la-timestamp.lo
#8 125.3   CC       libguac_la-unicode.lo
#8 126.4   CC       libguac_la-user.lo
#8 128.3   CC       libguac_la-user-handlers.lo
#8 130.5   CC       libguac_la-user-handshake.lo
#8 132.3   CC       libguac_la-wait-fd.lo
#8 133.2   CC       libguac_la-wol.lo
#8 134.6   CC       libguac_la-encode-webp.lo
#8 136.6   CC       libguac_la-socket-ssl.lo
#8 139.8   CCLD     libguac.la
#8 142.2 make[3]: Leaving directory '/build/guacamole-server/src/libguac'
#8 142.2 Making all in tests
#8 142.2 make[3]: Entering directory '/build/guacamole-server/src/libguac/tests'
#8 142.2 make[3]: Nothing to be done for 'all'.
#8 142.2 make[3]: Leaving directory '/build/guacamole-server/src/libguac/tests'
#8 142.2 make[2]: Leaving directory '/build/guacamole-server/src/libguac'
#8 142.2 Making all in src/common
#8 142.2 make[2]: Entering directory '/build/guacamole-server/src/common'
#8 142.3 Making all in .
#8 142.3 make[3]: Entering directory '/build/guacamole-server/src/common'
#8 142.3   CC       libguac_common_la-io.lo
#8 143.3   CC       libguac_common_la-blank_cursor.lo
#8 144.6   CC       libguac_common_la-clipboard.lo
#8 146.3   CC       libguac_common_la-cursor.lo
#8 148.0   CC       libguac_common_la-dot_cursor.lo
#8 149.2   CC       libguac_common_la-ibar_cursor.lo
#8 150.7   CC       libguac_common_la-iconv.lo
#8 151.9   CC       libguac_common_la-json.lo
#8 153.5   CC       libguac_common_la-list.lo
#8 154.8   CC       libguac_common_la-pointer_cursor.lo
#8 156.2   CC       libguac_common_la-rect.lo
#8 157.2   CC       libguac_common_la-string.lo
#8 158.4   CC       libguac_common_la-surface.lo
#8 161.7   CCLD     libguac_common.la
#8 162.1 make[3]: Leaving directory '/build/guacamole-server/src/common'
#8 162.1 Making all in tests
#8 162.2 make[3]: Entering directory '/build/guacamole-server/src/common/tests'
#8 162.2 make[3]: Nothing to be done for 'all'.
#8 162.2 make[3]: Leaving directory '/build/guacamole-server/src/common/tests'
#8 162.2 make[2]: Leaving directory '/build/guacamole-server/src/common'
#8 162.2 Making all in src/common-ssh
#8 162.2 make[2]: Entering directory '/build/guacamole-server/src/common-ssh'
#8 162.2 Making all in .
#8 162.2 make[3]: Entering directory '/build/guacamole-server/src/common-ssh'
#8 162.2   CC       libguac_common_ssh_la-buffer.lo
#8 163.7   CC       libguac_common_ssh_la-sftp.lo
#8 166.0   CC       libguac_common_ssh_la-ssh.lo
#8 169.6   CC       libguac_common_ssh_la-key.lo
#8 172.9   CC       libguac_common_ssh_la-user.lo
#8 174.4   CCLD     libguac_common_ssh.la
#8 174.9 make[3]: Leaving directory '/build/guacamole-server/src/common-ssh'
#8 174.9 Making all in tests
#8 174.9 make[3]: Entering directory 
'/build/guacamole-server/src/common-ssh/tests'
#8 174.9 make[3]: Nothing to be done for 'all'.
#8 174.9 make[3]: Leaving directory 
'/build/guacamole-server/src/common-ssh/tests'
#8 174.9 make[2]: Leaving directory '/build/guacamole-server/src/common-ssh'
#8 174.9 Making all in src/terminal
#8 174.9 make[2]: Entering directory '/build/guacamole-server/src/terminal'
#8 174.9   CC       libguac_terminal_la-buffer.lo
#8 177.1   CC       libguac_terminal_la-char-mappings.lo
#8 178.0   CC       libguac_terminal_la-color-scheme.lo
#8 179.9   CC       libguac_terminal_la-common.lo
#8 181.2   CC       libguac_terminal_la-display.lo
#8 185.8   CC       libguac_terminal_la-named-colors.lo
#8 187.3   CC       libguac_terminal_la-palette.lo
#8 188.3   CC       libguac_terminal_la-scrollbar.lo
#8 190.0   CC       libguac_terminal_la-select.lo
#8 193.3   CC       libguac_terminal_la-terminal.lo
#8 198.9   CC       libguac_terminal_la-terminal-handlers.lo
#8 200.6 terminal-handlers.c: In function 'guac_terminal_parse_numeric_param':
#8 200.6 terminal-handlers.c:145:5: error: 'errno' undeclared (first use in 
this function)
#8 200.6      errno = 0;
#8 200.6      ^~~~~
#8 200.6 terminal-handlers.c:145:5: note: 'errno' is defined in header 
'<errno.h>'; did you forget to '#include <errno.h>'?
#8 200.6 terminal-handlers.c:37:1:
#8 200.6 +#include <errno.h>
#8 200.6  
#8 200.6 terminal-handlers.c:145:5:
#8 200.6      errno = 0;
#8 200.6      ^~~~~
#8 200.6 terminal-handlers.c:145:5: note: each undeclared identifier is 
reported only once for each function it appears in
#8 200.7 make[2]: *** [Makefile:681: libguac_terminal_la-terminal-handlers.lo] 
Error 1
#8 200.7 make[2]: Leaving directory '/build/guacamole-server/src/terminal'
#8 200.7 make[1]: *** [Makefile:541: all-recursive] Error 1
#8 200.7 make[1]: Leaving directory '/build/guacamole-server'
#8 200.7 make: *** [Makefile:461: all] Error 2
#8 200.9 [WARNING] Build command make exited with code 2. Please verify that 
the build completed successfully.
#8 200.9 Emitted 153 C/C++ compilation units (100%) successfully
#8 200.9 [WARNING] Recoverable errors were encountered during 1 of these C/C++ 
compilation units.
#8 200.9 
#8 200.9 153 C/C++ compilation units (100%) are ready for analysis
#8 200.9  For more details, please look at: 
#8 200.9     /build/guacamole-server/cov-int/build-log.txt
#8 ERROR: process "/bin/sh -c /bin/bash -e -x /build/build.sh" did not complete 
successfully: exit code: 2
------
 > [4/4] RUN /bin/bash -e -x /build/build.sh:
200.7 make[1]: *** [Makefile:541: all-recursive] Error 1
200.7 make[1]: Leaving directory '/build/guacamole-server'
200.7 make: *** [Makefile:461: all] Error 2
200.9 [WARNING] Build command make exited with code 2. Please verify that the 
build completed successfully.
200.9 Emitted 153 C/C++ compilation units (100%) successfully
200.9 [WARNING] Recoverable errors were encountered during 1 of these C/C++ 
compilation units.
200.9 
200.9 153 C/C++ compilation units (100%) are ready for analysis
200.9  For more details, please look at: 
200.9     /build/guacamole-server/cov-int/build-log.txt
------

 4 warnings found (use docker --debug to expand):
 - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy 
"ENV key value" format (line 7)
 - SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data 
(ARG "COVERITY_TOKEN") (line 3)
 - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV 
key value" format (line 4)
 - SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data 
(ENV "COVERITY_TOKEN") (line 4)
Dockerfile:11
--------------------
   9 |       COPY . /build/
  10 |       RUN /bin/bash -e -x /build/install-deps.sh
  11 | >>>   RUN /bin/bash -e -x /build/build.sh
  12 |     
--------------------
ERROR: failed to solve: process "/bin/sh -c /bin/bash -e -x /build/build.sh" 
did not complete successfully: exit code: 2
+ docker rmi --force guac-jenkins-guacamole-guacamole-server-main-coverity-161
Error response from daemon: No such image: 
guac-jenkins-guacamole-guacamole-server-main-coverity-161:latest
Build step 'Execute shell' marked build as failure

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to