Skip to content

Openvas blow redis connection and databases #1841

@tenaz3

Description

@tenaz3

Expected behavior

I expect a task does not get interrupted every time even if I resume it and get it completed.

Actual behavior

The task does not get completed, and the openvas makes redis fail til restarts regarding databases. I post the issue here as well

Steps to reproduce

  1. Using docker compose of: https://greenbone.github.io/docs/latest/22.4/container/index.html#
  2. Start a task of a specific target (can not expose the target since it's customer)
  3. Task gets interrupted as 99%

GVM versions

gsa: (gsad --version)
Greenbone Security Assistant 22.12.0
gvm: (gvmd --version)
Greenbone Vulnerability Manager 24.0.0
Manager DB revision 256
Compliance reports enabled
Copyright (C) 2009-2021 Greenbone AG
License: AGPL-3.0-or-later
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
openvas: (openvas --version)
OpenVAS 23.8.5
gvm-libs 22.11.0
Most new code since 2005: (C) 2024 Greenbone AG
Nessus origin: (C) 2004 Renaud Deraison deraison@nessus.org
License GPLv2: GNU GPL version 2
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
gvm-libs:
gvm-libs 22.11.0

Environment

Operating system:
CentOS 9 / MacOS 15.0.1

Installation method / source: (packages, source installation)
docker-compose and podman-compose

Logfiles

I also increased the redis.conf databases 50500 and redis-server container to 12 cores. Before redis stop to work and restart the CPU usage get’s high(100%).

redis.log

# oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
 # Redis version=7.0.15, bits=64, commit=00000000, modified=0, pid=7, just started
 # Configuration loaded
 * monotonic clock: POSIX clock_gettime
 * Running mode=standalone, port=0.
 # Server initialized
 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
 * The server is now ready to accept connections at /run/redis/redis.sock
Killed
 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
 # Redis version=7.0.15, bits=64, commit=00000000, modified=0, pid=8, just started
 # Configuration loaded
 * monotonic clock: POSIX clock_gettime
 * Running mode=standalone, port=0.
 # Server initialized
 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
 * The server is now ready to accept connections at /run/redis/redis.sock

ospd-openvas.log

lib  misc:   [3650] gnutls_handshake: A TLS fatal alert has been received.
lib  misc:   [3650] release_connection_fd: fd > 0 fd=19
....

 libgvm util: Key 'HostDetails' already contained value 'EXIT_CODE'
 main:  pre_fn_call: called
libgvm util:   Key 'HostDetails/NVT' already contained value '1.3.6.1.4.1.25623.1.0.801957'
libgvm util:  Key 'HostDetails/NVT/1.3.6.1.4.1.25623.1.0.801957/EXIT_CODE' already contained value 'EXIT_NOTVULN'
....
post_fn_call: called
libgvm util:   get_redis_ctx: connected to redis:///run/redis/redis.sock/3
sd   main:  procs_cleanup_children: checking 5 ipc.
sd   main:  create_ipc_process: closed 0 fd.
sd   main:  pluginlaunch_wait_for_free_process. Number of running processes >= maximum running processes (4 >= 4). Waiting for free slot for processes.
....
libgvm util:CRITICAL: No redis DB available

openvas.log:

libgvm util: fetch_max_db_index: maximum DB number: 1025

gvmd.log:

Status of task Customer scan (2eb3ee34-26ee-4b0e-be91-f560ebc7ce17) has changed to Running
 BACKTRACE: gvmd(+0x6e574) [0xaaaad667e574]
 BACKTRACE: linux-vdso.so.1(__kernel_rt_sigreturn+0) [0xffff953ad7a0]
 BACKTRACE: /lib/aarch64-linux-gnu/libc.so.6(gsignal+0xdc) [0xffff94c88e6c]
 BACKTRACE: /lib/aarch64-linux-gnu/libc.so.6(abort+0x108) [0xffff94c75a60]
 BACKTRACE: gvmd(sql_string+0) [0xaaaad6690b80]
 BACKTRACE: gvmd(manage_db_empty+0x1c) [0xaaaad670b7bc]
 BACKTRACE: gvmd(manage_db_version+0x10) [0xaaaad66a7950]
 BACKTRACE: gvmd(manage_create_sql_functions+0x18) [0xaaaad670bdfc]
 BACKTRACE: gvmd(init_manage_process+0x68) [0xaaaad66a9cfc]
 BACKTRACE: gvmd(init_gmp_process+0x4c) [0xaaaad6743afc]
 BACKTRACE: gvmd(serve_gmp+0x6c) [0xaaaad66821f0]
 BACKTRACE: gvmd(+0x6e294) [0xaaaad667e294]
 BACKTRACE: gvmd(+0x6e850) [0xaaaad667e850]
 BACKTRACE: gvmd(gvmd+0x1ae4) [0xaaaad6681874]
 BACKTRACE: /lib/aarch64-linux-gnu/libc.so.6(__libc_start_main+0xe8) [0xffff94c75dd8]
 BACKTRACE: gvmd(+0x6deb8) [0xaaaad667deb8]
 Received Aborted signal
 Status of task Customer scan (2eb3ee34-26ee-4b0e-be91-f560ebc7ce17) has changed to Interrupted

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions