Bug 454500
| Summary: | unaligned access warnings from libresolv | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Doug Chapman <dchapman> |
| Component: | glibc | Assignee: | Jakub Jelinek <jakub> |
| Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | high | Docs Contact: | |
| Priority: | high | ||
| Version: | rawhide | CC: | drepper |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | ia64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | 2.8.90-9 | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2008-07-20 08:54:47 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 163350 | ||
Should now be fixed upstream. Should be fixed in 2.8.90-9. Reopen if necessary. |
Description of problem: Recent versions of libresolv from glibc-2.8.90 and above are hitting a massive number of unaligned access warnings. This are commonly seem when using yum. yum(6912): unaligned access to 0x60000fffffe5fdbe, ip=0x20000000069569f1 yum(6912): unaligned access to 0x60000fffffe5fdbe, ip=0x2000000006956a10 yum(6912): unaligned access to 0x60000fffffe5fdbe, ip=0x2000000006956a40 yum(6912): unaligned access to 0x60000fffffe5fdbe, ip=0x2000000006959350 yum(6912): unaligned access to 0x60000fffffe60885, ip=0x200000000695b6d0 The culprit appears to bit this bit of code in resolv/res_query.c 143 n = res_nmkquery(statp, QUERY, name, class, T_A, NULL, 0, NULL, 144 query1, bufsize); 145 if (n > 0) 146 { 147 if ((oflags & RES_F_EDNS0ERR) == 0 148 && (statp->options & RES_USE_EDNS0) != 0) 149 n = __res_nopt(statp, n, query1, bufsize, anslen / 2); 150 151 nquery1 = n; 152 query2 = buf + nquery1; 153 n = res_nmkquery(statp, QUERY, name, class, T_AAAA, NULL, 0, 154 NULL, query2, bufsize - n); I think what is happening here is the first call to res_nmkquery (line 153) returns a 1 and also the if statement on lines 147/148 is false. Then we add 1 to buf which is always going to give is an unaligned pointer. Much of this is a guess however. I am not quite sure what the code is trying to do here. It really looks like we are missing { } after the line 147/148 if statement. Version-Release number of selected component (if applicable): glibc-2.8.90-5 How reproducible: 100% Steps to Reproduce: 1. on ia64 with recent rawhide bits run yum 2. 3. Actual results: Expected results: Additional info: