Discussion:
Repost: System locks up until InternetOpenURL call complete
(too old to reply)
Dan
2006-02-15 19:31:03 UTC
Permalink
I have an app that a lot of people use. It pulls down HTML from the
Internet using the following InternetOpenURL call in VB:

lngOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_PRECONFIG,
vbNullString, vbNullString, 0)

If lngOpen <> 0 Then
lngOpenURL = InternetOpenUrl(lngOpen, strURL, vbNullString, 0, _
INTERNET_FLAG_RELOAD Or INTERNET_FLAG_NO_COOKIES Or _
INTERNET_FLAG_NO_CACHE_WRITE, 0)
End If

The above works fine on my test machines as well as on about 99% of my users
but occasionally I have one report that when it is pulling information from
the Internet their system becomes unresponsive until the call is completed.
It is normal for the program itself to become unresponsive while waiting for
the reply but these users report that THEIR ENTIRE COMPUTER SYSTEMS become
unresponsive. They can't open or use any other program while my program is
waiting for the response. I've never been able to reproduct this or
determine why this might be happening. Does anyone have any ideas what
could be causing the systems to lock up?

I have had some people suggest that I switch to asynchronous calls but I
really don't want to go that route. What I really need to know is why on
some computers the entire system is locked up and not just the program. If
there is some fix I can give my users so that their computers don't hang
during a synchrous InternetOpenUrl call is made (some Registry setting I
expect) it would be a real big help. Thanks!
Scherbina Vladimir
2006-02-15 20:14:43 UTC
Permalink
Hello, Dan.

Usually InternetOpenUrl does not force OS to hang...So that might be some
problem with installed LSP's, Firewalls and simular software. Try to contact
your customers and check their software installed on system.
--
Vladimir
Post by Dan
I have an app that a lot of people use. It pulls down HTML from the
lngOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_PRECONFIG,
vbNullString, vbNullString, 0)
If lngOpen <> 0 Then
lngOpenURL = InternetOpenUrl(lngOpen, strURL, vbNullString, 0, _
INTERNET_FLAG_RELOAD Or INTERNET_FLAG_NO_COOKIES Or _
INTERNET_FLAG_NO_CACHE_WRITE, 0)
End If
The above works fine on my test machines as well as on about 99% of my users
but occasionally I have one report that when it is pulling information from
the Internet their system becomes unresponsive until the call is completed.
It is normal for the program itself to become unresponsive while waiting for
the reply but these users report that THEIR ENTIRE COMPUTER SYSTEMS become
unresponsive. They can't open or use any other program while my program is
waiting for the response. I've never been able to reproduct this or
determine why this might be happening. Does anyone have any ideas what
could be causing the systems to lock up?
I have had some people suggest that I switch to asynchronous calls but I
really don't want to go that route. What I really need to know is why on
some computers the entire system is locked up and not just the program.
If
there is some fix I can give my users so that their computers don't hang
during a synchrous InternetOpenUrl call is made (some Registry setting I
expect) it would be a real big help. Thanks!
Dan
2006-02-15 20:49:13 UTC
Permalink
Post by Scherbina Vladimir
Hello, Dan.
Usually InternetOpenUrl does not force OS to hang...So that might be some
problem with installed LSP's, Firewalls and simular software. Try to
contact your customers and check their software installed on system.
I've done this and have never been able to isolate the cause. I'm fairly
sure it isn't a firewall issue as the requests do go through. It's just
that the computer is locked up while waiting for the reply. I don't believe
a firewall would do this.

I don't know what an LSP is...
Scherbina Vladimir
2006-02-15 21:19:36 UTC
Permalink
Here is one of the definition of LSP (Layered Service Provider):

"A Layered Service Provider, or LSP, is a piece of software that is tightly
woven into the networking services of a computer. In particular, when using
the protocol of the internet, TCP/IP, the LSP integrates itself with the
TCP/IP layer of your network. As such, the LSP has access to all TCP/IP
traffic coming into and leaving a computer. If the LSP is from a "good"
author, then the communication can be enhanced and protected in many helpful
ways. However, when spyware authors use an LSP, it can be used to spy on the
habits and data of the user. Also, because the computer will not see any of
the data until the LSP lets it through, it is possible to change information
so that the spyware vendor benefits."

LSP, firewalls, antiviruses and simular kind of software (that hooks API)
might cause problems with network services and the system at all. That's the
only one explanation I have for your case.
--
Vladimir
Post by Dan
Post by Scherbina Vladimir
Hello, Dan.
Usually InternetOpenUrl does not force OS to hang...So that might be some
problem with installed LSP's, Firewalls and simular software. Try to
contact your customers and check their software installed on system.
I've done this and have never been able to isolate the cause. I'm fairly
sure it isn't a firewall issue as the requests do go through. It's just
that the computer is locked up while waiting for the reply. I don't
believe a firewall would do this.
I don't know what an LSP is...
Loading...