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

Crash while using multiple syslog-ng-otlp() or opentelemetry() drivers without persist-name() #264

Open
mitzkia opened this issue Aug 30, 2024 · 0 comments
Labels
bug Something isn't working

Comments

@mitzkia
Copy link
Contributor

mitzkia commented Aug 30, 2024

axosyslog version:

(dbld)micek@DESKTOP-0E9OKG3:/install/sbin$ ./syslog-ng -V
axosyslog 4 (4.8.0.217.g17b1fd8)
Config version: 4.2
Installer-Version: 4.8.0.217.g17b1fd8
Revision:
Compile-Date: Aug 26 2024 05:05:23

Reproduction:
Axosyslog got crahsed when started with the following configuration:

@version: 4.8

source group1 {
    syslog-ng-otlp();
    syslog-ng-otlp();
};

destination d_file {file("/tmp/out");};

log {
    source(group1);
    destination(d_file);
};

axosyslog start:

(dbld)micek@DESKTOP-0E9OKG3:/install/sbin$ ./syslog-ng -F -f axosyslog_otlp.conf
[2024-08-30T20:02:27.692708] Automatic assignment of persist names failed, as conflicting persist-names were found. Please override the automatically assigned identifier using an explicit perist-name() option or remove the duplicated configuration elements; persist_name='opentelemetry(4317)', location='axosyslog_otlp.conf:5:5', location='axosyslog_otlp.conf:4:5'
Segmentation fault

gdb:

[2024-08-30T19:57:50.031907] Automatic assignment of persist names failed, as conflicting persist-names were found. Please override the automatically assigned identifier using an explicit perist-name() option or remove the duplicated configuration elements; persist_name='opentelemetry(4317)', location='axosyslog_otlp.conf:22:5', location='axosyslog_otlp.conf:21:5'

Thread 1 "syslog-ng" received signal SIGSEGV, Segmentation fault.
0x00007ffff6e9c049 in std::__detail::_List_node_base::_M_transfer(std::__detail::_List_node_base*, std::__detail::_List_node_base*) () from /lib/x86_64-linux-gnu/libstdc++.so.6
(gdb) bt
#0  0x00007ffff6e9c049 in std::__detail::_List_node_base::_M_transfer(std::__detail::_List_node_base*, std::__detail::_List_node_base*) () from /lib/x86_64-linux-gnu/libstdc++.so.6
#1  0x00007ffff5b01854 in grpc::Server::ShutdownInternal(gpr_timespec) () from /lib/x86_64-linux-gnu/libgrpc++.so.1.51
#2  0x00007ffff5b01d8d in grpc::Server::~Server() () from /lib/x86_64-linux-gnu/libgrpc++.so.1.51
#3  0x00007ffff5b01e5d in grpc::Server::~Server() () from /lib/x86_64-linux-gnu/libgrpc++.so.1.51
#4  0x00007ffff62a775c in std::default_delete<grpc::Server>::operator() (this=0x5555555eeab8, __ptr=0x5555555f3260) at /usr/include/c++/14/bits/unique_ptr.h:93
#5  0x00007ffff62a5cce in std::unique_ptr<grpc::Server, std::default_delete<grpc::Server> >::~unique_ptr (this=0x5555555eeab8, __in_chrg=<optimized out>) at /usr/include/c++/14/bits/unique_ptr.h:398
#6  0x00007ffff62a3660 in syslogng::grpc::otel::SourceDriver::~SourceDriver (this=0x5555555eea00, __in_chrg=<optimized out>) at /source/modules/grpc/otel/otel-source.hpp:45
#7  0x00007ffff629df72 in _free (s=0x5555555863e0) at /source/modules/grpc/otel/otel-source.cpp:305
#8  0x00007ffff7e6a3f8 in _free (self=0x5555555863e0) at /source/lib/logpipe.c:118
#9  0x00007ffff7e6a4c4 in log_pipe_unref (self=0x5555555863e0) at /source/lib/logpipe.c:133
#10 0x00007ffff7e5a758 in _log_expr_node_free (self=0x555555586a30) at /source/lib/cfg-tree.c:306
#11 0x00007ffff7e5a200 in log_expr_node_unref (self=0x555555586a30) at /source/lib/cfg-tree.c:53
#12 0x00007ffff7e5a71a in _log_expr_node_free (self=0x555555586aa0) at /source/lib/cfg-tree.c:303
#13 0x00007ffff7e5a200 in log_expr_node_unref (self=0x555555586aa0) at /source/lib/cfg-tree.c:53
#14 0x00007ffff7e5a71a in _log_expr_node_free (self=0x555555586b10) at /source/lib/cfg-tree.c:303
#15 0x00007ffff7e5a200 in log_expr_node_unref (self=0x555555586b10) at /source/lib/cfg-tree.c:53
#16 0x00007ffff7cecf33 in g_hash_table_remove_all_nodes (hash_table=hash_table@entry=0x55555557f4a0, notify=notify@entry=1, destruction=destruction@entry=0) at ../../../glib/ghash.c:651
#17 0x00007ffff7ceea10 in g_hash_table_remove_all_nodes (hash_table=0x55555557f4a0, notify=1, destruction=0) at ../../../glib/ghash.c:573
#18 g_hash_table_remove_all (hash_table=0x55555557f4a0) at ../../../glib/ghash.c:1861
#19 0x00007ffff7ceea52 in g_hash_table_destroy (hash_table=0x55555557f4a0) at ../../../glib/ghash.c:1458
#20 0x00007ffff7e5d0ad in cfg_tree_free_instance (self=0x55555557f298) at /source/lib/cfg-tree.c:1679
#21 0x00007ffff7e521b9 in cfg_free (self=0x55555557f0c0) at /source/lib/cfg.c:703
#22 0x00007ffff7e7a38f in main_loop_free_config (self=0x7ffff7fbc460 <main_loop>) at /source/lib/mainloop.c:720
#23 0x00007ffff7e7a3b9 in main_loop_deinit (self=0x7ffff7fbc460 <main_loop>) at /source/lib/mainloop.c:727
#24 0x0000555555556a55 in main (argc=1, argv=0x7fffffffea18) at /source/syslog-ng/main.c:323
@mitzkia mitzkia added the bug Something isn't working label Aug 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant