Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: firefox dumps core
On Fri, Nov 09, 2012 at 01:02:29PM +0000, Patrick Welche wrote:
> On Fri, Nov 09, 2012 at 02:01:37PM +0100, Martin Husemann wrote:
> > On Fri, Nov 09, 2012 at 12:59:26PM +0000, Patrick Welche wrote:
> > > After a general src & pkgsrc update on amd64 yesterday, firefox now tells
> > > me:
> > >
> > > _res is not supported for multi-threaded programs.
> >
> > Can you get a backtrace from the dump?
>
> I don't have symbols around...
>
> (gdb) bt
> #0 0x00007f7ff6906f8a in _lwp_kill () from /usr/lib/libc.so.12
> #1 0x00007f7ff3b48249 in ?? () from /usr/pkg/lib/xulrunner/libxul.so
> #2 0x00007f7ff689b0b0 in opendir () from /usr/lib/libc.so.12
> #3 0xfffffffb00000006 in ?? ()
> #4 0x0000000000000000 in ?? ()
>
> I'll have to rebuild for something more useful...
Got it:
In
pkgsrc/devel/xulrunner/work.x86_64/mozilla-release/netwerk/dns/nsHostResolver.cpp:386
#if defined(HAVE_RES_NINIT)
// We want to make sure the system is using the correct resolver settings,
// so we force it to reload those settings whenever we startup a subsequent
// nsHostResolver instance. We assume that there is no reason to do this
// for the first nsHostResolver instance since that is usually created
// during application startup.
static int initCount = 0;
if (initCount++ > 0) {
LOG(("calling res_ninit\n"));
res_ninit(&_res);
}
#endif
Essentially, that shouldn't be a global _res but a local res_state statp.
(As can be seen trying to run
#include <resolv.h>
int main()
{
res_ninit(&_res);
return 0;
}
compiled with -pthread)
BTW the resolver(3) man page mentions #include <res_update.h> which includes
isc/list.h which apparently no longer exists.
Cheers,
Patrick
Home |
Main Index |
Thread Index |
Old Index