View Ticket
Not logged in
Ticket UUID: 1a4109858891ee63f4a6129137d8921262cc717d
Title: Statically linked fossil failing to resolve DNS names?
Status: Open Type: Code_Defect
Severity: Critical Priority:
Subsystem: Resolution:
Last Modified: 2012-02-04 21:46:30
Version Found In: 002580c50d
Description & Comments:
Prebuilt (statically linked) fossil ver. 002580c50d is failing to resolve names:

"fossil: can't resolve host name: core.tcl.tk"

Prebuilt [a75e2d2504], however works.

** This Ticket filed on behalf of Alex F. (Alex's email included in ticket).

Transcript from discussion w/ Alex:

11:08 <@ijchain> <ferrieux> "fossil: can't resolve host name: core.tcl.tk" -- but ping core.tcl.tk resolves okay -- and libnss_dns.so.2 is properly loaded by fossil.
11:08 <@ijchain> <ferrieux> this is a fresh machine and the current prebuilt binary for linux
11:09 <@ijchain> <ferrieux> ?
11:10 < yukonbob> hi alex.
11:10 <@ijchain> <ferrieux> hey Brad
11:16 < yukonbob> alex: runs trace on it to see what's happening?
11:16 < yukonbob> *strace

...

11:22 <@ijchain> <ferrieux> open("/lib/libnss_dns.so.2", O_RDONLY) = 8 11:22 <@ijchain> <ferrieux> so ti dlopens it cleanly 11:22 <@ijchain> <ferrieux> but doesn't do the usual UDP on port 53 11:22 <@ijchain> <ferrieux> somehow it fails to call libnss_dns properly 11:22 < yukonbob> short-circuited w/ /etc/hosts? 11:22 < yukonbob> oh 11:23 <@ijchain> <ferrieux> nope 'nc' works and does exactly the same 11:23 <@ijchain> <ferrieux> loads the same libnss_dns.so.2 and then actually does DNS (port 53) 11:23 < yukonbob> the plot thickens..

...

11:24 <@ijchain> <ferrieux> This is fossil version 1.21 [002580c50d] 2011-12-13 13:53:56 UTC

...

11:25 <@ijchain> <ferrieux> who knows 11:25 < yukonbob> what vers. of resolvers. 11:25 < yukonbob> oh... os x -- xed. 11:25 * yukonbob 1.21 [a7248...] on NetBSD == good. 11:26 <@ijchain> <ferrieux> /lib/libnss_dns.so.2 from glibc-2.11.2-3.i686 on Fedora 12

...

13:05 <@ijchain> <ferrieux> 'k, that's a regression. fossil 1.20 has no problem on the same machine. 13:05 <@ijchain> <ferrieux> I assume this is related to the switch to static linking 13:08 < yukonbob> alex: appears to be linux-specific regression. 13:09 <@ijchain> <ferrieux> yes

...

13:24 <@ijchain> <ferrieux> I just took the last two prebuilt binaries for linux x86. Latest fails, previous one works. 13:25 <@ijchain> <ferrieux> And the latest is a fat statically linked one, unlike the other. 13:25 < yukonbob> ok -- [fossil version] of working and failing tests? 13:26 <@ijchain> <ferrieux> working: This is fossil version 1.20 [a75e2d2504] 2011-10-21 12:52:53 UTC

...

13:26 <@ijchain> <ferrieux> failing This is fossil version 1.21 [002580c50d] 2011-12-13 13:53:56 UTC

...

13:26 < yukonbob> and the prev. vers that works? 13:27 <@ijchain> <ferrieux> [22:25]IferrieuxIworking: This is fossil version 1.20 [a75e2d2504] 2011-10-21 12:52:53 UTC

...

13:29 <@ijchain> <ferrieux> you'll note that even the static one does a dlopen() of the dns libs 13:29 <@ijchain> <ferrieux> but the dlopen somehow fails (no mmap)