www.infoworld.com == code breaker

Hi,

Amaya has really come a long way since I last looked at it...  nice!

I've been trying out Mozilla for a while, and the one site which gives it and
Amaya some real grief formatting the display, crashing and looping is
www.infoworld.com...  In the case of Amaya, just getting the first page requires
directly accessing the first frame at http://www.infoworld.com/pageone.html
since Amaya only displays basic frame info unless "/pageone.html" is appended. 
Once the page displays, it is obviously very different from what Netscape or
Mozilla present.  

I applaud the efforts to stick to standards, and *hate* M$' "embrace and extend"
_strategy_.  That said, there are some standards bending/breaking sites out
there that work on Netscape 4.72 (IE?  Don't know since I will never return to
M$ products).  Though not a site I rely on for news, the InfoWorld site has
become my favorite for testing Netscape, Mozilla and Amaya for crashes and
loops...  :^)

Although I didn't do it for this report, I could get PPP traces to match with
this sort of problem if that would be useful.  Then again, I hope this report is
not too verbose...

Pierre

Using either back or reload, got into a loop (will try to reproduce):

select(35, [8], [], [], {0, 0})         = -1 EBADF (Bad file descriptor)
getuid()                                = 500
geteuid()                               = 500
getuid()                                = 500
select(35, [8], [], [], {0, 0})         = -1 EBADF (Bad file descriptor)
getuid()                                = 500
geteuid()                               = 500
getuid()                                = 500

Trying to reproduce, started amaya, attached strace once started, entered
http://www.infoworld.com/pageone.html...  Got most of page loaded, then amaya
stalled with status bar showing "19 outstanding requests", and strace gives:

munmap(0x40015000, 4096)                = 0
unlink("/home/pfortin/.amaya/1/pageone;sz=125x125;tile=4;ord=7301318020000534207.144.87.208")
= -1 ENOENT (No such file or directory)
rename("/home/pfortin/.amaya/1/0035AM",
"/home/pfortin/.amaya/1/pageone;sz=125x125;tile=4;ord=7301318020000534207.144.87.208")
= 0
write(3, "=\1\4\0\322\1\0\3\0\0\0\0\0\0\0\0\f\0\4\0\322\1\0\3\4\0"..., 108) =
108
gettimeofday({957356772, 844772}, NULL) = 0
gettimeofday({957356772, 844856}, NULL) = 0
gettimeofday({957356772, 844938}, NULL) = 0
select(35, [8], [], [], {0, 0})         = 1 (in [8], left {0, 0})
gettimeofday({957356772, 845335}, NULL) = 0
gettimeofday({957356772, 845408}, NULL) = 0
gettimeofday({957356772, 845487}, NULL) = 0
gettimeofday({957356772, 845561}, NULL) = 0
ioctl(3, FIONREAD, [160])               = 0
read(3, "\f\0008$\322\1\0\3\0\0\0\0\252\1\22\0\0\0\0\0\360I\2\0"..., 160) = 160
ioctl(3, FIONREAD, [0])                 = 0
write(3, "=\1\4\0\312\0\0\3\0\0\0\0\0\0\0\0\f\0\4\0\322\1\0\3\4\0"..., 112) =
112
select(35, [8], [], [], {0, 0})         = 1 (in [8], left {0, 0})
gettimeofday({957356772, 846681}, NULL) = 0
gettimeofday({957356772, 846755}, NULL) = 0
gettimeofday({957356772, 846835}, NULL) = 0
gettimeofday({957356772, 846909}, NULL) = 0
select(35, [8], [], [], {0, 0})         = 1 (in [8], left {0, 0})
gettimeofday({957356772, 847339}, NULL) = 0
gettimeofday({957356772, 847414}, NULL) = 0
gettimeofday({957356772, 847494}, NULL) = 0
gettimeofday({957356772, 847568}, NULL) = 0
ioctl(3, FIONREAD, [0])                 = 0
select(35, [8], [], [], {0, 0})         = 1 (in [8], left {0, 0})
gettimeofday({957356772, 848077}, NULL) = 0
gettimeofday({957356772, 848150}, NULL) = 0
gettimeofday({957356772, 848231}, NULL) = 0
gettimeofday({957356772, 848305}, NULL) = 0
ioctl(3, FIONREAD, [0])                 = 0
write(3, "J\1\v\0\322\1\0\3\273\0\0\3\2\0\r\0\27\00019 outstandi"..., 44) = 44

Actually, the above line in the trace shows the number of requests counting down
from 30 to 19.  With 4 such writes at "19", then this is the initial loop; but
the tight loop is below.

ioctl(3, FIONREAD, [0])                 = 0
gettimeofday({957356772, 848797}, NULL) = 0
select(35, [3 8], [], [], {59, 999434}) = 1 (in [8], left {60, 0})
gettimeofday({957356772, 849187}, NULL) = 0
gettimeofday({957356772, 849261}, NULL) = 0
gettimeofday({957356772, 849343}, NULL) = 0
select(35, [8], [], [], {0, 0})         = 1 (in [8], left {0, 0})
gettimeofday({957356772, 849729}, NULL) = 0
gettimeofday({957356772, 849802}, NULL) = 0
gettimeofday({957356772, 849892}, NULL) = 0
gettimeofday({957356772, 849967}, NULL) = 0
ioctl(3, FIONREAD, [0])                 = 0
ioctl(3, FIONREAD, [0])                 = 0
gettimeofday({957356772, 850335}, NULL) = 0
select(35, [3 8], [], [], {59, 999557}) = 1 (in [8], left {60, 0})
gettimeofday({957356772, 850725}, NULL) = 0
gettimeofday({957356772, 850798}, NULL) = 0
gettimeofday({957356772, 850879}, NULL) = 0
select(35, [8], [], [], {0, 0})         = 1 (in [8], left {0, 0})
gettimeofday({957356772, 851266}, NULL) = 0
gettimeofday({957356772, 851339}, NULL) = 0
gettimeofday({957356772, 851418}, NULL) = 0
gettimeofday({957356772, 851712}, NULL) = 0
ioctl(3, FIONREAD, [352])               = 0
read(3, "\26\0?$\322\1\0\3\322\1\0\3\0\0\0\0\0\0\0\0\10\0\22\0\0"..., 352) = 352
select(35, [8], [], [], {0, 0})         = 1 (in [8], left {0, 0})
gettimeofday({957356772, 852381}, NULL) = 0
gettimeofday({957356772, 852455}, NULL) = 0
gettimeofday({957356772, 852536}, NULL) = 0
gettimeofday({957356772, 852620}, NULL) = 0
ioctl(3, FIONREAD, [0])                 = 0
select(35, [8], [], [], {0, 0})         = 1 (in [8], left {0, 0})
gettimeofday({957356772, 853138}, NULL) = 0
gettimeofday({957356772, 853211}, NULL) = 0
gettimeofday({957356772, 853291}, NULL) = 0
gettimeofday({957356772, 853365}, NULL) = 0
ioctl(3, FIONREAD, [0])                 = 0
select(35, [8], [], [], {0, 0})         = 1 (in [8], left {0, 0})
gettimeofday({957356772, 853914}, NULL) = 0
gettimeofday({957356772, 853988}, NULL) = 0
gettimeofday({957356772, 854068}, NULL) = 0
gettimeofday({957356772, 854142}, NULL) = 0
select(35, [8], [], [], {0, 0})         = 1 (in [8], left {0, 0})
gettimeofday({957356772, 854551}, NULL) = 0
gettimeofday({957356772, 854625}, NULL) = 0
gettimeofday({957356772, 854705}, NULL) = 0
gettimeofday({957356772, 854778}, NULL) = 0
select(35, [8], [], [], {0, 0})         = 1 (in [8], left {0, 0})
gettimeofday({957356772, 855187}, NULL) = 0
gettimeofday({957356772, 855260}, NULL) = 0
gettimeofday({957356772, 855341}, NULL) = 0
gettimeofday({957356772, 855434}, NULL) = 0
ioctl(3, FIONREAD, [0])                 = 0
write(3, "J\1\v\0\322\1\0\3\273\0\0\3\2\0\r\0\27\00019 outstandi"..., 44) = 44

The above write is the fourth.  From this point, amaya starts a tight loop....

ioctl(3, FIONREAD, [0])                 = 0
gettimeofday({957356772, 855934}, NULL) = 0
select(35, [3 8], [], [], {59, 999407}) = 1 (in [8], left {60, 0})
gettimeofday({957356772, 856325}, NULL) = 0
gettimeofday({957356772, 856399}, NULL) = 0
gettimeofday({957356772, 856480}, NULL) = 0
select(35, [8], [], [], {0, 0})         = 1 (in [8], left {0, 0})
gettimeofday({957356772, 856867}, NULL) = 0
gettimeofday({957356772, 856941}, NULL) = 0
gettimeofday({957356772, 857022}, NULL) = 0
gettimeofday({957356772, 857096}, NULL) = 0
ioctl(3, FIONREAD, [0])                 = 0

Looping....

ioctl(3, FIONREAD, [0])                 = 0
gettimeofday({957356772, 857341}, NULL) = 0
select(35, [3 8], [], [], {59, 999681}) = 1 (in [8], left {60, 0})
gettimeofday({957356772, 857731}, NULL) = 0
gettimeofday({957356772, 857805}, NULL) = 0
gettimeofday({957356772, 857885}, NULL) = 0
select(35, [8], [], [], {0, 0})         = 1 (in [8], left {0, 0})
gettimeofday({957356772, 858283}, NULL) = 0
gettimeofday({957356772, 858356}, NULL) = 0
gettimeofday({957356772, 858437}, NULL) = 0
gettimeofday({957356772, 858511}, NULL) = 0
ioctl(3, FIONREAD, [0])                 = 0

ioctl(3, FIONREAD, [0])                 = 0
gettimeofday({957356772, 858756}, NULL) = 0

Received on Wednesday, 3 May 2000 12:37:39 UTC