-
Notifications
You must be signed in to change notification settings - Fork 481
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
plugin discovery: partial revert to bring back valgrind #1995
Conversation
success |
lib/plugin.c
Outdated
{ | ||
FILE *discovery; | ||
GList *candidate_plugins = NULL; | ||
gchar module_name[4096]; | ||
gint plugin_type; | ||
gchar plugin_name[256]; | ||
|
||
discovery = fdopen(input_fd, "r"); | ||
discovery = fmemopen(module_descriptors->str, module_descriptors->len, "r"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fmemopen
is not really portable. We should add a compat functions for this.
As discussed in an offline review, we will avoid fmemopen and increase the complexity of the revert instead. |
0eb221f
to
17a0a70
Compare
success |
1 similar comment
success |
I pushed the complete revert of 03771db as discussed. Removed the wip flag. Ready to review. |
17a0a70
to
5e67fd6
Compare
Force push to resolve conflict. |
failure |
The original code scanned the plugins (shared libraries) in a separate process and sent the list of plugins to the master process, then exited. This means the main process could selectively load the available plugins. Unfortunately due to unknown reasons, syslog-ng fails to start with this version. We are reverting the patch, and later we might try to reintroduce this functionality when the root cause of the sympthom is found. Running valgrind with --run-libc-freeres=no would start syslog-ng, but causes a lot of false positive results (even a simple printf appears in a log). The problem seems to be connected with the fork() and exit(), but the root cause is yet to be known. Signed-off-by: Antal Nemes <antal.nemes@balabit.com>
5e67fd6
to
f9f32c6
Compare
success |
Revert for 03771db.
The original code scanned the plugins (shared libraries) in a separate
process and sent the list of plugins to the master process, then
exited. This means the main process could selectively load the
available plugins. Unfortunately due to unknown reasons, syslog-ng
fails to start with valgrind with this version. We are reverting the patch, and
later we might try to reintroduce this functionality when the root
cause of the sympthom is found.
Running valgrind with --run-libc-freeres=no would start syslog-ng, but
causes a lot of false positive results (even a simple printf appears
in a log). The problem seems to be connected with the fork() and
exit(), but the root cause is yet to be known.
Fixes: #1953
CC: @juhaszviktor