Opened 12 years ago
Closed 12 years ago
#3172 closed defect (fixed)
Glibc bug
Reported by: | Armin | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | 7.2 |
Component: | Book | Version: | SVN |
Severity: | normal | Keywords: | |
Cc: |
Description
$ thunderbird/thunderbird & [2] 22682 null:profile-after-change added added [object ChromeWindow]:mail-startup-done thunderbird: res_query.c:251: __libc_res_nquery: Assertion `hp != hp2' failed.
It is mentioned here:
http://sourceware.org/bugzilla/show_bug.cgi?id=13013
And as it says, it just happens under some conditions. This is at least 20th time today I started thunderbird and it just crashed once with that error.
Archlinux has a patch for it:
Attachments (1)
Change History (8)
comment:1 by , 12 years ago
by , 12 years ago
Attachment: | glibc-test.patch added |
---|
comment:2 by , 12 years ago
Armin,
That patch is for 2,15 and doesn't apply. I made a new patch by hand (attached). Can you see if it works for you.
comment:3 by , 12 years ago
I am unable to reproduce it. It just happened twice last night. Not anymore ...I am not sure what triggers it.
follow-up: 5 comment:4 by , 12 years ago
Apparently, it's been around since 2.14 (if what you now see is indeed the same bug). The arch patch *does* apply to 2.16.0 for me. Back in the old days of glibc maintenance, the testcase (using particular nameservers) apparently didn't trigger it.
follow-up: 6 comment:5 by , 12 years ago
Replying to ken@…:
The arch patch *does* apply to 2.16.0 for me.
The patch from the description that says glibc-2.15-fix-res_query-assert.patch or the attached patch? I attached the updated patch that I did by hand. There were some significant changes in the 2.16 code that prevented the 2.15 patch from applying.
comment:6 by , 12 years ago
Replying to bdubbs@…:
Replying to ken@…:
The arch patch *does* apply to 2.16.0 for me.
The patch from the description that says glibc-2.15-fix-res_query-assert.patch or the attached patch? I attached the updated patch that I did by hand. There were some significant changes in the 2.16 code that prevented the 2.15 patch from applying.
The one from arch, glibc-2.15-fix-res_query-assert.patch. Yours is created as -p0, and the only differences I can see are formatting at about line 248 hp2 = hp; (yours is not aligned with the other lines), and you kept in hp2 = hp; after the asset, before adding hp2 = (HEADER *) *answerp2; (the compiler will probably optimise theat first hp2= away).
comment:7 by , 12 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Fixed at revision 9965. This was a very tricky bug. The resolver code was not handling problem DNS packets properly. It was very intermittent and depended on the name server and even then didn't always fail.
And now even Firefox crashed with the very same error.