Bug 91936 - KDE 3.3 apps do not resolve host after ppp demand dial
Summary: KDE 3.3 apps do not resolve host after ppp demand dial
Status: RESOLVED FIXED
Alias: None
Product: kdelibs
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: Debian testing Linux
: NOR normal
Target Milestone: ---
Assignee: Thiago Macieira
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-10-23 07:02 UTC by John Stamp
Modified: 2004-10-27 18:17 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments
Attempt at fixing the problem (22.70 KB, patch)
2004-10-23 20:16 UTC, Thiago Macieira
Details

Note You need to log in before you can comment on or make changes to this bug.
Description John Stamp 2004-10-23 07:02:24 UTC
Version:            (using KDE KDE 3.3.0)
Installed from:    Debian testing/unstable Packages
OS:                Linux

After I upgraded from 3.2.3 to 3.3.0, KDE based apps are no longer able to resolve the host name of a connection that triggered ppp demand dial.

Here is an example:
  
Under KDE 3.2.3 I would click on a bookmark in konqueror.  That would trigger ppp demand dial.  And in about a minute the page would be loaded.

If I do the same in KDE 3.3.0, dialing works normally.  But right when ppp establishes the connection, Konqueror presents an error message:
  An error occurred while loading http://www.kde.org:

  Unknown host www.kde.org

Subsequent connections work.  I can reload the page, browse to another, etc.  It just seems to fail at resolving the initial host name.  

The same problem happens with kmail, knode, etc.  Non-kde apps continue to dial and connect normally.

This is getting to be a nuisance.  Any ideas about what might be causing this?
Comment 1 Thiago Macieira 2004-10-23 15:36:20 UTC
The code is like that. It's a side-effect of the new features.

I'll see what I can do.
Comment 2 Thiago Macieira 2004-10-23 20:16:43 UTC
Created attachment 8008 [details]
Attempt at fixing the problem

Here's the first attempt at fixing the problem. Can you test it?

It's fairly intrusive, so I'd like some testing before committing.
Comment 3 John Stamp 2004-10-24 05:05:32 UTC
It seems work well so far.  I can connect as before and haven't seen any 
side-effects.  I'll let you know if something crops up though.

Are there any particular tests you would like me to try?


On Saturday 23 October 2004 11:16 am, Thiago Macieira wrote:
> ------- You are receiving this mail because: -------
> You reported the bug, or are watching the reporter.
>
> http://bugs.kde.org/show_bug.cgi?id=91936
>
>
>
>
> ------- Additional Comments From thiago.macieira kdemail net  2004-10-23
> 20:16 ------- Created an attachment (id=8008)
>  --> (http://bugs.kde.org/attachment.cgi?id=8008&action=view)
> Attempt at fixing the problem
>
> Here's the first attempt at fixing the problem. Can you test it?
>
> It's fairly intrusive, so I'd like some testing before committing.

Comment 4 Thiago Macieira 2004-10-25 01:18:09 UTC
That's good to hear. There are no specific tests I have in mind. Just use the system for a few days like you normally would, then report back. If you see anything unusual (failed resolutions, for instance), that didn't happen before, please let me know as well.
Comment 5 Thiago Macieira 2004-10-27 18:17:18 UTC
CVS commit by thiago: 

Committing the fix for bug #91936. This is fairly intrusive, so some
more testing is required before this change is backported into the
3.3.x branch. I need especially people with older systems and
non-Linux systems to test it.

This patch also adds another workaround for bug #86271, in the sense
that res_init is always called in glibc-based systems once a thread is
started. But note that the proper fix is to upgrade glibc, since other
non-KDE programs are affected by the same bug (notably, Mozilla).

Also, please notify me of any other systems that use a thread-specific
resolver context (the `res' variable), like glibc.
CCBUG: 86271
BUG: 91936


  M +37 -16    kresolver_p.h   1.15
  M +78 -29    kresolvermanager.cpp   1.32
  M +145 -124  kresolverstandardworkers.cpp   1.13
  M +23 -2     kresolverworkerbase.cpp   1.8
  M +29 -3     kresolverworkerbase.h   1.8