Bug 1465039
| Summary: | fluentd crashes when reading from journald after 3.4 to 3.5 upgrade | ||
|---|---|---|---|
| Product: | OpenShift Container Platform | Reporter: | Sergi Jimenez Romero <sjr> |
| Component: | Logging | Assignee: | Noriko Hosoi <nhosoi> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Anping Li <anli> |
| Severity: | high | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 3.5.0 | CC: | aos-bugs, cheimes, fcami, jcantril, nhosoi, pportant, pweil, rmeggins, saime, sjr, smunilla, wsun |
| Target Milestone: | --- | Keywords: | Reopened, UpcomingRelease |
| Target Release: | 3.9.z | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | rubygem-ffi-1.9.21-2.el7 | Doc Type: | Bug Fix |
| Doc Text: |
fluent-plugin-systemd calls the C systemd library via ffi.
In rubygem-ffi, there was a code which was not compatible with the PaX effort.
The problem was if selinux deny_execmem is enabled, fluentd configured with journald was not allowed to start.
The PaX uncompliant code was fixed and the problem is solved.
|
Story Points: | --- |
| Clone Of: | Environment: | ||
| Last Closed: | 2018-06-18 18:03:54 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Sergi Jimenez Romero
2017-06-26 13:11:13 UTC
If you rsh into the fluentd pod, can you use journalctl to view the journal logs? journalctl should be using the exact same libraries as fluentd to read from the journal. I'm at a loss to explain this. Perhaps it is some sort of LANG or LOCALE env. var. or other setting? Could there be any way to check the library dependency on a ruby module? Something equivalent to ldd? (In reply to Noriko Hosoi from comment #20) > Could there be any way to check the library dependency on a ruby module? > Something equivalent to ldd? If a ruby module wraps a C shared library, those files will be listed e.g. rpm -ql rubygem-systemd-journal. One or more of those files will be a .so. Then you can use ldd on those .so files. Hi François, Could you please find out the version of libffi on the fluentd pod? # oc exec $FLUENTDPOD -- rpm -q libffi libffi-3.0.13-18.el7.x86_64 # oc exec $FLUENTDPOD -- rpm -ql libffi /usr/lib64/libffi.so.6 /usr/lib64/libffi.so.6.0.1 /usr/share/doc/libffi-3.0.13 /usr/share/doc/libffi-3.0.13/LICENSE /usr/share/doc/libffi-3.0.13/README Hi Noriko, Here is the data: $ oc exec logging-fluentd-fhqpg -- rpm -q libffi libffi-3.0.13-18.el7.x86_64 $ oc exec logging-fluentd-fhqpg -- rpm -ql libffi /usr/lib64/libffi.so.6 /usr/lib64/libffi.so.6.0.1 /usr/share/doc/libffi-3.0.13 /usr/share/doc/libffi-3.0.13/LICENSE /usr/share/doc/libffi-3.0.13/README $ oc exec logging-fluentd-fhqpg -- rpm -V libffi $ Thank you, François. libffi looks flawless... Could you please try one more thing? When you switch the input to journald, could you set this environment variable DEFAULT_ENCODING to ASCII-8BIT? oc set env daemonset logging-fluentd DEFAULT_ENCODING=ASCII-8BIT Hi Noriko, We've tried and it doesn't change anything apparently. Pass on logging-fluentd/images/v3.9.0-0.50.0.0 |