Is that a local server? Are you sure it can cope with parallel requests? Are the different threads using the same session? Could that be the problem?
It is a public server in the www which has many simultaneous users. I believe my session handling is correct, but it is not heavily tested. What makes me confident is that my program is sometimes successful. I'm always doing the same requests (apart from the session information) with 3 threads and about 20 requests in total. The eofs occur at random.
My program has done some 10.000 requests from this site when run from the ide in the past.
Do you believe the server could generate the error ? Wouldn't drakma handle it then ?
May be this is a way to kick out a robot ? (They are using captchas at some places (which are not accessed by me)).
I'm also not aware of using destructive operations...
I will try to find a simple test case.
That'd be the best.
I noticed that this is not easy. It appears that I will need some more time for this.
______________________________________________________ Bis 50 MB Dateianhänge? Kein Problem! http://freemail.web.de/club/landingpage.htm/?mc=025556
Frank Schorr franks-muc@web.de writes:
Do you believe the server could generate the error ? Wouldn't drakma handle it then ?
Roughly, the right way to handle an error between the client and the server is to pass it back to the caller. It seems like that's what drakma is doing.
May be this is a way to kick out a robot ? (They are using captchas at some places (which are not accessed by me)).
All robots (including yours) should obey their robots.txt. If you are accessing pages they don't want you to access (I'm not saying you are, just making a comment) you might see unexpected behavior.
Cheers, Chris Dean
On Fri, 04 Apr 2008 00:33:02 +0200, Frank Schorr franks-muc@web.de wrote:
The eofs occur at random.
Errors that occur in multi-threaded programs often seem to be random although they actually aren't... :)
Do you believe the server could generate the error ?
Depends on how the server is implemented. /Maybe/ it somehow can't cope with lots of simultaneous requests. But if it's a public server used by many other people, this is very unlikely.
Wouldn't drakma handle it then ?
If it's really an EOF, then there's no way to handle it, of course.
May be this is a way to kick out a robot ? (They are using captchas at some places (which are not accessed by me)).
That'd be a /very/ strange way of doing it. I don't think so.
I'm also not aware of using destructive operations...
Do you use global variables? What about the cookies, for example? (Not that I'd have an idea why this should result in an apparent EOF, but hey...)
Another way of debugging this would be to try from another Lisp and/or another OS. There's always a chance that what you're seeing is a bug in your Lisp. Or, OMG, a bug in Drakma....
(And I seem to remember there's some limit on simultaneous outgoing connections on never versions of Windows. But, again, that shouldn't result in EOFs.)