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

remove need for libestr #12

Open
rgerhards opened this issue Jan 20, 2014 · 2 comments
Open

remove need for libestr #12

rgerhards opened this issue Jan 20, 2014 · 2 comments

Comments

@rgerhards
Copy link
Member

This is a non-pressing, longer term byline activity. The need for libestr came from libee, which we no longer need. As such, we can remove libestr as well. This will offer a reduced malloc/free rate and as such be benefitial to performance.

@rgerhards rgerhards added bug and removed bug labels Feb 12, 2014
@mbiebl
Copy link
Contributor

mbiebl commented Feb 13, 2014

Doesn't liblognorm also depend on libestr?

@flicker581
Copy link
Member

Yes, this dependency will be removed also. But I do not think that this will boost performance noticeably. Almost the same core functions will need to be duplicated elsewhere.
The main goal is to get rid of redundant dynamic loadable library and the corresponding package.

onceking added a commit to onceking/rsyslog that referenced this issue May 3, 2016
curl use SIGALRM to timeout handling. but it doesn't work in linux
threads and the signal is delivered to an *arbitary* threads which
almost guarantees crashing if a wrong thread picks up the signal.

```
(gdb) bt
 #0  0x00007f8b8859aa6d in addbyter () from libcurl.so.4
 rsyslog#1  0x00007f8b8859b993 in dprintf_formatf () from libcurl.so.4
 rsyslog#2  0x00007f8b8859bfd5 in curl_mvsnprintf () from libcurl.so.4
 rsyslog#3  0x00007f8b8859ac42 in curl_msnprintf () from libcurl.so.4
 rsyslog#4  0x00007f8b8858bbf6 in Curl_failf () from libcurl.so.4
 rsyslog#5  0x00007f8b885826ef in Curl_resolv_timeout () from libcurl.so.4
 rsyslog#6  0x00007f8b88cf2dfd in clock_gettime () from /lib64/libc.so.6
 rsyslog#7  0x00007f8b6c01b1e0 in ?? ()
 rsyslog#8  0x00007f8b887d58e8 in Curl_crealloc () from libcurl.so.4
 rsyslog#9  0x00007f8b6c01a5a0 in ?? ()
 rsyslog#10 0x00007f8b887d58e8 in Curl_crealloc () from libcurl.so.4
 rsyslog#11 0x00007f8b6c002860 in ?? ()
 rsyslog#12 0x000000000000000a in ?? ()
 rsyslog#13 0x00007f8b6c01b5b0 in ?? ()
 rsyslog#14 0x00007f8b6c0028c0 in ?? ()
 rsyslog#15 0x00007f8b6c00c630 in ?? ()
 rsyslog#16 0x000000000000000a in ?? ()
 rsyslog#17 0x00007f8b6c0028c0 in ?? ()
 rsyslog#18 0x0000000000000018 in ?? ()
 rsyslog#19 0x00007f8b885a5432 in Curl_llist_remove () from libcurl.so.4
 rsyslog#20 0x0000000004000000 in ?? ()
 rsyslog#21 <signal handler called>
 rsyslog#22 0x0000006e0000005b in ?? ()
Cannot access memory at address 0x0
```

References
* https://curl.haxx.se/libcurl/c/threadsafe.html
* https://curl.haxx.se/libcurl/c/CURLOPT_NOSIGNAL.html
* https://www.redhat.com/archives/libvir-list/2012-October/msg00008.html
rgerhards added a commit that referenced this issue Nov 14, 2019
The new parameter permits to specify a replacement to be configured
when "escapeLF" is set to "on". Previously, a fixed replacement string
was used ("#12"/"\n") depending on circumstances. If the parameter is
set to an empty string, the LF is simply discarded.

closes #3889
jbatista pushed a commit to jbatista/rsyslog that referenced this issue Jan 28, 2020
The new parameter permits to specify a replacement to be configured
when "escapeLF" is set to "on". Previously, a fixed replacement string
was used ("rsyslog#12"/"\n") depending on circumstances. If the parameter is
set to an empty string, the LF is simply discarded.

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

No branches or pull requests

3 participants