On Mon, 1 Sep 2003, Andreas Schweitzer wrote:
> > All I did was fix the problem for me -- it's possible that there's
> > still some object cleanup elsewhere that really needs doing ...
>
> It almost looks like that there needs some more digging.
>
> I did some tests comparing Linux and FreeBSD.
> 1) The patch needs to be slightly modified for the Linux version,
> otherwise dillo won't even start correctly :-)
> 2a) When the timeout occurs while contacting unresponsive sites:
> The Linux version actually stops eventually and puts
> "ERROR: unable to connect to remote host"
> in the status bar. However, none of the error debug
> messgaes actually occur ...
> 2b) Same as 2a but under FreeBSD: dillo still keeps
> the "Contacting host" in the status bar, and the
> stop-icon is still unfaded. And the error message
> gets dumped as indicated in the patch.
>
> But I'm afraid the logic how all these routines are
> accessed is a bit too compliacted for me right now :-)
Hi!
I just made a quick patch and tested
http://primates.ximian.com/~miguel/all.html with a dialup on
linux (no CPU hog, no problems, 80 of 83 images got).
The idea was to make it analogous to IO_read().
Please test it under BSDs (it's on CVS).
Cheers
Jorge.-
When viewing the page [warning, many images]:
<URL:http://primates.ximian.com/~miguel/all.html>
dillo runs into a tight loop when there's a broken pipe error on
retrieving one of the last couple of images.
I've tracked down the cause; I'm running the 0.7.3 code, with Frank's
patch, but have confirmed the presence of the code in HEAD via the
WebCVS interface (wonderful thing).
In IO/IO.c:IO_write(), if the write() returns (-1) then unless the error
is one of EINTR or EGAIN, the case isn't handled and the "while (1) {}"
loop runs wild. With a quick change (including new debug statement) I
now see:
IO_callback: [GIOcond 4]
IO_write
IO_write: Broken pipe [errno 32] [St -1]
IO_write: aborting: Broken pipe [errno 32]
The patch includes some extra cosmetic DEBUG changes which can be safely
discarded (and the DEBUG_LEVEL change probably should be ...)
-----------------------------< cut here >-------------------------------
--- /home/pdp/tmp/zshmiVuTI Mon Sep 1 13:43:24 2003
+++ IO.c Mon Sep 1 13:42:58 2003
@@ -30,7 +30,7 @@
#include "../klist.h"
#include "IO.h"
-#define DEBUG_LEVEL 5
+#define DEBUG_LEVEL 1
#include "../debug.h"
@@ -399,8 +399,12 @@
St = read(io->FD, io->Buf, io->BufSize);
io->Status = St;
- DEBUG_MSG(3, " IO_read: %s [errno %d] [St %d]\n",
- g_strerror(errno), errno, St);
+ if (errno) {
+ DEBUG_MSG(3, " IO_read: %s [errno %d] [St %d]\n",
+ g_strerror(errno), errno, St);
+ } else {
+ DEBUG_MSG(3, " IO_read: [St %d] success\n", St);
+ }
if ( St < 0 ) {
/* Error */
@@ -446,18 +450,27 @@
St = write(io->FD, io->Buf, io->BufSize);
io->Status = St;
- DEBUG_MSG(3, " IO_write: %s [errno %d] [St %d]\n",
- g_strerror(errno), errno, St);
+ if (errno) {
+ DEBUG_MSG(3, " IO_write: %s [errno %d] [St %d]\n",
+ g_strerror(errno), errno, St);
+ } else {
+ DEBUG_MSG(3, " IO_write: success [St %d]\n", St);
+ }
if ( St < 0 ) {
/* Error */
io->Status = -errno;
- if (errno == EINTR) {
+ switch (errno) {
+ case EINTR:
continue;
- } else if (errno == EAGAIN) {
+ case EAGAIN:
DEBUG_MSG(4, " IO_write: EAGAIN\n");
ret = TRUE;
break;
+ default:
+ DEBUG_MSG(5, " IO_write: aborting: %s [errno %d]\n",
+ g_strerror(errno), errno);
+ return FALSE;
}
} else if ( St < io->BufSize ){
/* Not all data written */
On Thu, 28 Aug 2003, Ralph Slooten wrote:
> On Thu, 28 Aug 2003 12:57:36 -0400 (EDT)
> "Andrew A. Gill" <superluser(a)frontiernet.net> wrote:
>
> > I've been having a problem with dillo rendering some portions of text.
> > For instance, the Google sponsored links always take up vertical space
> > before the results.
> >
> > Normally, this isn't something that I really care about, but now it's
> > causing slashdot to be rendered as black-on-black text, thus depriving me
> > of my ability to read about the new MD5 sums that the RIAA is using.
>
> Yes, I'm getting this too since today. It's probably a small html error
> somewhere, but it's totally skrewed up dillo's rendering to the fullest here.
Unfortunately slashdot is sending awful HTML-like content.
The black text can be explained because they explicitly set the
background, textcolor and visited links to black! (<BODY ...>).
Probably it changes with CSS.
>
> Since about 2 weeks ago I'm also getting a black border on the right (with
> exception to today of course where most of the page is black) which just takes
> up valuable space ;-)
>
> Tried the light mode too like Frank suggests, but I prefer the default layout
> myself. Anyway, it's not a dillo problem I think, as I get a total of 530 errors
> just on the index page itself!!!!! Check now too if ya want:
> http://validator.w3.org/check?uri=http%3A%2F%2Fwww.slashdot.org%2F
Try with "force_my_colors=YES".
Now, it still shows several rendering problems. If those are
because of lack of implementation of "floats" we should fix it
someday. If it's because of bad HTML, you know our policy.
OTOH, I believe slashdot webmasters will not pose major
problems to fix their HTML if they're emailed with the facts...
Please investigate those and report to them.
Cheers
Jorge.-
I knowed that it had a patch for dillo0.7.2 to supportting Chinese.
Where could I find this patch ?
thanks a lot.
______________________________________
===================================================================
µ±µ±ÍøÈ«³¡ÒôÏñ5Õ۷ⶥ£¬ÓŻ݌Žœ«œáÊø£¡ (http://ad4.sina.com.cn/sina/dangdang0825.html)