Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Segmentation fault when adding "BAYES_SPAM" to symbols_disabled #4900

Open
1 task done
fhtw20 opened this issue Apr 2, 2024 · 4 comments
Open
1 task done
Labels

Comments

@fhtw20
Copy link

fhtw20 commented Apr 2, 2024

Prerequisites

Describe the bug

When I add BAYES_SPAM to symbols_disabled rspamd will crash.

authenticated {
  priority = high;
  authenticated = yes;
  apply {
    groups_disabled = ["rbl", "spf"];
    symbols_disabled = [
      "CUSTOM_SYMBOL1",
      "CUSTOM_SYMBOL2",
      "BAYES_SPAM",
    ];
  }
}

rspamd.log

(rspamd_proxy) rspamd_crash_sig_handler: caught fatal signal 11(Segmentation fault), pid: xxxxx, trace:
(rspamd_proxy) log_backtrace: #0: /usr/lib/rspamd/librspamd-server.so in rspamd::log_backtrace()
(rspamd_proxy) log_backtrace: #1: /usr/lib/rspamd/librspamd-server.so in rspamd_worker_check_controller_presence
(rspamd_proxy) log_backtrace: #2: /lib/x86_64-linux-gnu/libpthread.so.0 in __funlockfile
(rspamd_proxy) log_backtrace: #3: /usr/lib/rspamd/librspamd-server.so in rspamd_mempool_delete
(rspamd_proxy) log_backtrace: #4: /usr/bin/rspamd in
(rspamd_proxy) log_backtrace: #5: /usr/bin/rspamd in
(rspamd_proxy) log_backtrace: #6: /usr/bin/rspamd in
(rspamd_proxy) log_backtrace: #7: /usr/lib/rspamd/librspamd-server.so in rspamd_session_pending
(rspamd_proxy) log_backtrace: #8: /usr/lib/rspamd/librspamd-server.so in luaopen_regexp
(rspamd_proxy) log_backtrace: #9: /usr/lib/rspamd/librspamd-server.so in redisProcessCallbacks
(rspamd_proxy) log_backtrace: #10: /usr/lib/rspamd/librspamd-ev.so in ev_invoke_pending
(rspamd_proxy) log_backtrace: #11: /usr/lib/rspamd/librspamd-ev.so in ev_run
(rspamd_proxy) log_backtrace: #12: /usr/bin/rspamd in
(rspamd_proxy) log_backtrace: #13: /usr/lib/rspamd/librspamd-server.so in rspamd_fork_worker
(rspamd_proxy) log_backtrace: #14: /usr/bin/rspamd in
(rspamd_proxy) log_backtrace: #15: /usr/lib/rspamd/librspamd-ev.so in ev_invoke_pending
(rspamd_proxy) log_backtrace: #16: /usr/lib/rspamd/librspamd-ev.so in ev_run
(rspamd_proxy) log_backtrace: #17: /usr/bin/rspamd in
(rspamd_proxy) log_backtrace: #18: /lib/x86_64-linux-gnu/libc.so.6 in __libc_start_main
(rspamd_proxy) log_backtrace: #19: /usr/bin/rspamd in
(rspamd_proxy) log_backtrace: #20: in
(main) main; rspamd_srv_handler: cannot read from worker's srv pipe connection closed; command = heartbeat
(main) main; rspamd_check_termination_clause: rspamd_proxy process xxxxx terminated abnormally with exit code 0 by signal: Segmentation fault
(main) main; rspamd_cld_handler: respawn process rspamd_proxy in lieu of terminated process with pid xxxxx

coredumps

Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007fb97871dde2 in freeReplyObject (reply=0x70626a7a74757438) at ../contrib/hiredis/./contrib/hiredis/hiredis.c:81
81	../contrib/hiredis/./contrib/hiredis/hiredis.c: file or directory not found.

Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007fb978619a98 in redis_stat_runtime<float, true>::process_tokens (tokens=<optimized out>, this=<optimized out>) at ./src/libstat/backends/redis_backend.cxx:155
155	./src/libstat/backends/redis_backend.cxx: file or directory not found.

Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007fb97831b339 in g_atomic_ref_count_dec () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0

Steps to Reproduce

  1. Adding "BAYES_SPAM" to a settings.conf rule
  2. Restarting rspamd daemon

Expected behavior

  • No rspamd crash

Versions

  • Rspamd daemon version 3.8.4
  • CPU architecture x86_64

Additional Information

How can I disable the BAYES_SPAM check for authenticated users?

@fhtw20 fhtw20 added the bug label Apr 2, 2024
@vstakhov
Copy link
Member

vstakhov commented Apr 2, 2024

Nice, it might be probably the issue with the Bayes we have observed previously but were unable to reproduce.

@fhtw20
Copy link
Author

fhtw20 commented Apr 2, 2024

Thanks for the quick reply. Please tell me if you need more information.

@fatalbanana
Copy link
Member

fatalbanana commented Apr 17, 2024

Adding BAYES_HAM to symbols_disabled should help avoid the issue (another approach could be rescoring BAYES_SPAM instead of disabling it).

Likely related to #4787 and #4799

@A1bi
Copy link

A1bi commented May 25, 2024

We're experiencing the same issue. Frequent crashes with BAYES_SPAM present in symbols_disabled. Adding BAYES_HAM as well did indeed fix it for us, thank you @fatalbanana.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants