LoadToFile demonstrates libwww bug?

The LoadToFile example application distributed with the library seems
to uncover a bug with the HTEvtLst module. I am using the Unix
version, although there may be a problem with the Windows one but
I have not tested it.


First demonstrate that LoadToFile works using a valid target directory:

  LoadToFile ftp://myUName:myPasswd@theHost/theBaseDir/theDoc -o
/myBaseDir/myDoc


Now try it with an invalid target directory by removing the leading
slash '/' from '/myBaseDir' so that it looks more like a relative path:

  LoadToFile ftp://myUName:myPasswd@theHost/theBaseDir/theDoc -o myBaseDir/myDoc


I discovered that libwww gets stuck because it somehow gets through to
the socket() call with a NULL pointer passed as the wait time. I also
noticed that maxfds is zero. Is it possible that timers were cleaned
up as a result of the target file name error which causes the socket
to start blocking? Following is the output from the trace of the second
attempt with the invalid base directory (I have substituted the real
directory names with the ones shown above). Most of the interesting
information is in the last five or six lines.

Does anyone know what is going wrong here (Henrik does this sound
like a bug?)

Michael


WWWLibInit.. INITIALIZING LIBRARY OF COMMON CODE
User Profile Adding `LIBWWW_GENERIC_USER'
User Profile Localizing 10013170
HostName.... sysinfo says `myHost'
HostName.... FQDN is `ipsut'
HostName.... sysinfo says `myHost'
HostName.... FQDN is `ipsut'
TimeZone.... GMT + (-7) hours (including DST)
Alert Call.. Add Alert Handler 5fddbf40
Alert Call.. Add Alert Handler 5fddc4c0
Alert Call.. Add Alert Handler 5fddbfe0
Alert Call.. Add Alert Handler 5fddc190
Alert Call.. Add Alert Handler 5fddc340
Alert Call.. Add Alert Handler 5fddc400
Transport... Adding `tcp'
Transport... Adding `buffered_tcp'
Transport... Adding `local'
Protocol.... Adding `ftp'
Protocol.... Adding `nntp'
Protocol.... Adding `news'
Protocol.... Adding `gopher'
Protocol.... Adding `http'
Protocol.... Adding `file'
Protocol.... Adding `cache'
Protocol.... Adding `telnet'
Protocol.... Adding `tn3270'
Protocol.... Adding `rlogin'
Net Before.. Add 5fddfa50 with order 49150 tmplate `http://*' context 0
Net Before.. Add 5fe76880 with order 49150 tmplate `http://*' context 0
Net Before.. Add 5fddef30 with order 49150 tmplate `<null>' context 0
Net Before.. Add 5fdded30 with order 49150 tmplate `<null>' context 0
Net After... Add 5fddfb30 with order 32767 tmplate `http://*' code -401 context
0
Net After... Add 5fddfb30 with order 32767 tmplate `http://*' code -418 context
0
Net After... Add 5fe76a20 with order 32767 tmplate `http://*' code 1 context 0
Net After... Add 5fddf500 with order 32767 tmplate `http://*' code 301 context 0
Net After... Add 5fddf500 with order 32767 tmplate `http://*' code 302 context 0
Net After... Add 5fddf500 with order 32767 tmplate `http://*' code 303 context 0
Net After... Add 5fddf500 with order 32767 tmplate `http://*' code 307 context 0
Net After... Add 5fddfbc0 with order 32767 tmplate `http://*' code 1 context 0
Net After... Add 5fddf850 with order 32767 tmplate `http://*' code 305 context 0
Net After... Add 5fddf200 with order 49150 tmplate `<null>' code 1 context 0
Auth Engine. Created module 100139c0
Auth Engine. Created module 100139e0
Proxy....... Looking for environment variables
Conversions. Adding 5ffa42f0 with quality 1.00
Conversions. Adding 5fe96360 with quality 1.00
Conversions. Adding 5fe96660 with quality 1.00
Conversions. Adding 5fe964e0 with quality 1.00
Conversions. Adding 5fe96560 with quality 1.00
Conversions. Adding 5fe965e0 with quality 1.00
Conversions. Adding 5fe968a0 with quality 1.00
Conversions. Adding 5fe94130 with quality 1.00
Conversions. Adding 5fe07970 with quality 1.00
Conversions. Adding 5fe6e8e0 with quality 1.00
Conversions. Adding 5fe48b40 with quality 1.00
Conversions. Adding 5fe48c70 with quality 1.00
Conversions. Adding 5fd71590 with quality 1.00
Conversions. Adding 5fd71590 with quality 1.00
Conversions. Adding 5ff54d50 with quality 1.00
Conversions. Adding 5ff38bb0 with quality 1.00
Conversions. Adding 5ff38c10 with quality 1.00
Conversions. Adding 5fde5c90 with quality 1.00
Conversions. Adding 5ffa43a0 with quality 0.30
Codings..... Adding chunked with quality 1.00
Icon add.... BLANK => SRC="blank.xbm" ALT=""
Icon add.... DIRECTORY => SRC="directory.xbm" ALT="DIR"
Icon add.... PARENT => SRC="back.xbm" ALT="UP"
Icon add.... UNKNOWN => SRC="unknown.xbm" ALT=""
AddIcon..... */* => SRC="unknown.xbm" ALT=""
AddIcon..... binary => SRC="binary.xbm" ALT="BIN"
AddIcon..... www/unknown => SRC="unknown.xbm" ALT=""
AddIcon..... text/* => SRC="text.xbm" ALT="TXT"
AddIcon..... image/* => SRC="image.xbm" ALT="IMG"
AddIcon..... video/* => SRC="movie.xbm" ALT="MOV"
AddIcon..... audio/* => SRC="sound.xbm" ALT="AU"
AddIcon..... multipart/x-tar => SRC="tar.xbm" ALT="TAR"
AddIcon..... multipart/x-gtar => SRC="tar.xbm" ALT="TAR"
AddIcon..... x-compress => SRC="compressed.xbm" ALT="CMP"
AddIcon..... x-gzip => SRC="compressed.xbm" ALT="GZP"
AddIcon..... application/x-gopher-index => SRC="index.xbm" ALT="IDX"
AddIcon..... application/x-gopher-cso => SRC="index2.xbm" ALT="CSO"
AddIcon..... application/x-gopher-telnet => SRC="telnet.xbm" ALT="TEL"
AddIcon..... application/x-gopher-duplicate => SRC="unknown.xbm" ALT="DUP"
AddIcon..... application/x-gopher-tn3270 => SRC="unknown.xbm" ALT="TN"
Rule Add.... For `file:/icons/*' op 2
`file:/myBaseDir/michael/dvlp/libwww/v5.2.8/installation/share/w3c-libwww/*'
Event....... registering 5fdddad0
Event....... registering 5fdddde0
Net After... Add 10001500 with order 65535 tmplate `<null>' code 1 context 0
Host........ Setting event timeout to 10000 ms
Request..... Created 10018ce0
Error....... Add  53    Severity: 2     Parameter: `myBaseDir/myDoc' Where:
`HTLoadToFile'
Event Loop.. calling select: maxfds is 0
............ READ :
............ WRITE:
............ OOB  :

Received on Thursday, 13 May 1999 15:15:08 UTC