[erlang-bugs] [erlang-questions] ibrowse compile error

Scott Zhang <>
Wed Feb 18 17:00:05 CET 2009


> Hi. All.I am not sure who I am going to report to.
>
> Today,  I used erlang http client on window 2003 server R2 version to
> download a page. This page have a very long url.
> I found the http client hung each time I try to download a page. But it
> works fine on linux machine.
>
> Let me know if I can help.
>
> Regards.
> Scott
>
> ---------- Forwarded message ----------
> From: Kenneth Lundin <>
> Date: Wed, Feb 18, 2009 at 11:20 PM
> Subject: Re: [erlang-questions] ibrowse compile error
> To: Scott Zhang <>
> Cc: erlang-questions <>
>
>
> You can post the bug report preferably on the erlang-bugs mailing list
> but then you must provide
> more detailed info where you point at the actual error in the code or
> even provide a patch.
> Another option is to provide a minimal program example which shows the
> bug when run.
>
> /Kenneth Erlang/OTP Ericsson
>
> On Wed, Feb 18, 2009 at 2:19 PM, Scott Zhang <>
> wrote:
> > Hi. All. and kenneth.
> >
> > Just tested on my Linux machine. Both http client and ibrowse work. So
> the
> > issue only happen on window.
> >
> > " windows 2003 server R2 "
> >
> > As I observed, seems erl's low level tcp can't detect tcp shutdown or
> things
> > like.  As tracked by wireshark, the tcp has been closed,  But erlang
> hungs
> > there. This only happen on windows server 2003 R2. (I tested on my 2
> servers
> > as I talked previously)
> >
> > I guess it is a bug in windows binary release.
> >
> > Where can we post a bug?
> >
> > Regards.
> >
> > scott
> >
> > On Wed, Feb 18, 2009 at 4:11 PM, Scott Zhang <>
> > wrote:
> >>
> >> wireshare screenshot.
> >> Any idea?
> >>
> >> On Wed, Feb 18, 2009 at 4:06 PM, Scott Zhang <
> >
> >> wrote:
> >>>
> >>> Actually I tried on 2 server one in China and one in US. Both of them
> are
> >>> not working.
> >>> And more, I have to use wireshark to track the package for this http
> >>> session.  I saw when I was using firefox and .NET program to get this
> url. I
> >>> saw the correct GET + many many continueous and at end, it get an
> Response
> >>> Code 200. Then everything is fine.
> >>> When I am using http client and ibrowse, I saw the correct GET + many
> >>> many continueous
> >>> 30821 2503.516971 67.55.101.167 192.168.1.101 TCP [TCP segment of a
> >>> reassembled PDU]
> >>>
> >>> then
> >>> sometimes, I never saw the Response Code 200. Sometimes, I saw the
> >>> response Code 200 but the erlang program is still blinking there?
> >>> I have another question, is there a possibility erlang's low level TCP
> >>> implement has flaw to make it unable to detect tcp shutdown or
> keepalive? If
> >>> not why http client and ibrowse can't run correct?
> >>>
> >>> Regards.
> >>> Scott
> >>>
> >>>
> >>> On Wed, Feb 18, 2009 at 3:58 PM, Scott Zhang <
> >
> >>> wrote:
> >>>>
> >>>> Hi. Nicolas.
> >>>> Please check my attachment.
> >>>> I did exactly what you told. It is still not working. I'm glad if I
> can
> >>>> get a no proc error instead a endless blinking.
> >>>> Regards.
> >>>> Scott
> >>>> On Wed, Feb 18, 2009 at 3:34 PM, Nicolas Charpentier
> >>>> <> wrote:
> >>>>>
> >>>>> Hi,
> >>>>>
> >>>>> Scott Zhang wrote:
> >>>>>>
> >>>>>> Hi. All. Another big issue with http client within erlang
> distribution
> >>>>>> and ibrowse.  That makes me start to wonder is ibrowse/http client
> really
> >>>>>> working?
> >>>>>>
> >>>>>> Please try following url.
> >>>>>>
> http://www.cisworldwide.com/xweb/xweb_parser.php?premiumredirect=http%3A%2F%2Fwww.cisworldwide.com%2Fxweb%2Fpremiumsearches%2FxmlNewBackgroundSearch.php%3Fatype%3Dcaps%26fname%3Dscott%26middle_initial%3D%26lname%3Dzhang%26city%3D%26state%3D%26zip%3D%26client_reference%3Dplutux%40harbork.%26cisrestype%3Dunlimited_background&code=11111111&cemail=macromarship@gmail.com
> >>>>>> ...
> >>>>>> But whether I use http client or ibrowse, they never returns, just
> >>>>>> hang there, even I wait for 10 minutes.
> >>>>>
> >>>>> > ...
> >>>>>
> >>>>>> 1. http client
> >>>>>> get_url(Url) ->
> >>>>>> case http:request(get, {Url, []}, [], []) of
> >>>>>> {ok, {{Version, 200, ReasonPhrase}, Headers, Body}}  ->
> >>>>>> Body;
> >>>>>> _ -> sleep(500),get_url(Url)
> >>>>>> end.
> >>>>>
> >>>>> It tried inets http client with your url and it works for me.
> >>>>> Looking at your code, there is an infinite loop if the response isn't
> >>>>> ok (and response code 2000). Did you tried just this ?
> >>>>>
> >>>>> 1> inets:start().
> >>>>> 2> Url = "your long url".
> >>>>> 3> http:request(get, {Url, []}, [], []).
> >>>>>
> >>>>>
> >>>>> The inets application must be started before the request otherwise
> >>>>> you'll get an noproc error (I thing that it's your case).
> >>>>>
> >>>>>
> >>>>> Regards,
> >>>>> -----
> >>>>> Nicolas Charpentier
> >>>>> http://charpi.net
> >>>>
> >>>
> >>
> >
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-bugs/attachments/20090219/4ce74af0/attachment.html>


More information about the erlang-bugs mailing list