Opened 12 years ago

Closed 12 years ago

#3172 closed defect (fixed)

Glibc bug

Reported by: Armin Owned by: lfs-book@…
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:

https://projects.archlinux.org/svntogit/packages.git/plain/trunk/glibc-2.15-fix-res_query-assert.patch?h=packages/glibc

Attachments (1)

glibc-test.patch (1.6 KB ) - added by bdubbs@… 12 years ago.

Download all attachments as: .zip

Change History (8)

comment:1 by Armin, 12 years ago

And now even Firefox crashed with the very same error.

by bdubbs@…, 12 years ago

Attachment: glibc-test.patch added

comment:2 by bdubbs@…, 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 Armin, 12 years ago

I am unable to reproduce it. It just happened twice last night. Not anymore ...I am not sure what triggers it.

comment:4 by ken@…, 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.

in reply to:  4 ; comment:5 by bdubbs@…, 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.

in reply to:  5 comment:6 by ken@…, 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 bdubbs@…, 12 years ago

Resolution: fixed
Status: newclosed

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.

Note: See TracTickets for help on using tickets.