Summary: | sys-libs/glibc-2.14 segfaults on __libc_res_nquery() | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Daniel Kluev <dan.kluev> |
Component: | [OLD] Core system | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | carlphilippreh, delan, radek |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
Backtrace for dig
Backtrace for firefox Backtrace for dig with dig func names Simple testcase Backtrace for testcase Backtrace for testcase, with debug glibc __libc_res_nquery() assertion `hp != hp2' failed firefox backtrace |
Description
Daniel Kluev
2011-06-14 12:32:00 UTC
Created attachment 277027 [details]
Backtrace for dig
Created attachment 277029 [details]
Backtrace for firefox
Created attachment 277031 [details]
Backtrace for dig with dig func names
Dig is from net-dns/bind-tools-9.7.3
http://sources.redhat.com/ml/libc-alpha/2011-06/msg00015.html reverting 4769ae77fc6c8dacea6476addb015c8797848cdd from glibc git helps *** Bug 371199 has been marked as a duplicate of this bug. *** are you guys using the latest glibc-2.14 ? i already added a patch that should have addressed this. run `/lib/libc.so.6` and if it doesnt say Gentoo patchset 2, then re-emerge glibc and see if things still crash. (In reply to comment #6) Yes, it seem to be latest version: #> /lib/libc.so.6 GNU C Library stable release version 2.14, by Roland McGrath et al. ... Compiled by GNU CC version 4.4.5. Compiled on a Linux 2.6.38 system on 2011-06-14. Available extensions: C stubs add-on version 2.1.2 crypt add-on version 2.1 by Michael Glad and others Gentoo patchset 2 GNU Libidn by Simon Josefsson Native POSIX Threads Library by Ulrich Drepper et al BIND-8.2.3-T5B libc ABIs: UNIQUE IFUNC i committed an updated version here: http://sources.gentoo.org/gentoo/src/patchsets/glibc/2.14/0050_all_glibc-2.14-leak-revert-crash.patch?revision=1.2 (might take some time to sync ... the new ver should only be ~40 lines long) does that `dig` always crash for you ? seems to work for me ... (In reply to comment #8) I've tried this patch - still segfaults for me. I hacked some simple testcase for it, which fails each time for me, attaching it below. Created attachment 277333 [details]
Simple testcase
Compile flags:
gcc -D_GNU_SOURCE -O2 -march=i686 -pipe -DDIG_SIGCHASE -W -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings -Wformat -Wpointer-arith -fno-strict-aliasing -std=c99 -ggdb nsquerytest.c -o nsquerytest
Created attachment 277335 [details]
Backtrace for testcase
that doesnt crash for me either, but i'm on a x86_64 system ... i'm guessing comment #4 doesnt apply to your system since that's what the patches i added did ... Created attachment 277339 [details]
Backtrace for testcase, with debug glibc
I was able to get it to segfault with -ggdb glibc, so this backtrace should be more informative, I hope.
ive pushed out patchset-3. if you want to update and try that out and see if it still crashes, that'd be good. No resolv-related crashes with patchset-3 so far, including testcase under heavy load. Created attachment 277755 [details]
__libc_res_nquery() assertion `hp != hp2' failed firefox backtrace
There is not exactly same, but similar problem with resolver, possibly caused by same error, so attaching backtrace here. This backtrace is from glibc with patchset 3.
to keep things simple, we'll consider this fixed. please start a new bug for the hp/hp2 assert failure. |