Linklint Documentation - Known Bugs

Version 2.3.5 August 13, 2001

documentation

Introduction | What's New | Inputs | Outputs | Hints | How it works | Bugs | Index

on this page

Bug Reports · Memory · Parsing · Won't Check

> Linklint has been used on hundreds (maybe thousands) of sites around the world for over four years. When it was initially released (in 1997) many bugs were reported and fixed. After that, there were only a small handful of bug reports (all of which were fixed in release 2.3).

> If you read all of the documentation and then start using Linklint there is a very high probability that it will work correctly. In the spirit of Perl, Linklint has been designed to "do the right thing".

Bug Reports

(top) (command index) (topic index)

> If you think you have found a bug, please let us know at bugs@linklint.org.

> It is often helpful if you include:

> - The version of linklint you are using (linklint -version)
> - The version of Perl you are using (perl -V)
> - The name and version of your operating system
> - Your Linklint command line and/or command file(s)

> Requests for information and comments are also welcomed. You can send these to info@linklint.org.

> Requests for information in the documentation that start out with "I don't have time to read the documentation" may not get a response.

Memory Problems

(top) (command index) (topic index)

> No doubt about it, Linklint can be a big memory hog (for large sites). We have received several reports of Linklint being unable (or unwilling) to write the HTML output files after doing a site check. These have all been traced back to memory problems.

> We tried to optimize Linklint for speed and use a lot of memory in order to make it fast. We have had one report that there is a huge difference in memory consumption depending on the operating system Linklint is running under. It was reported that a Sun used almost 1/10th the memory as Linux when checking the same site ( 68M on the Sun system versus about 464M on Linux).

> There is a clear need for:

> (a) a re-write in Object Oriented Perl 5
>   This could significantly ease memory usage with no (or very little) sacrifice in speed.

> (b) hooks to a database back-end
>   This would virtually eliminate the memory problems but there could be a significant reduction in speed.

> In the meantime, if you are running out of memory there are several hints that will help ease this problem.

Parsing Problems

(top) (command index) (topic index)

> Linklint parses HTML files as fast as possible. It was designed to be a fast link checker and not an HTML validator. Originally Linklint was written "to spec" but after a flurry of bug reports (and fixes) it now does a very good job at emulating a Netscape Browser including many of this browsers idiosyncrasies.

> One trick that lets Linklint parse HTML quickly is to use the "<" character as the effective "new-line", so HTML files are split on "<" as they are read. This is very fast but has two downsides.

> 1. (minor) If your HTML tags contains "<" inside of HTML tags as in `<img src=back.gif alt="<<<">`then Linklint will need to do some backtracking (which will slow it down a bit. Solution: always use &lt; instead of < inside of HTML tags. Since this use of bare "<" inside of HTML tags is uncommon Linklint remains very fast "on average".

>    ``
> 2. (occasional problem) if an HTML tag is missing a closing ">" or if you have a bare "<" character in the text of your page, Linklint will read in everything in the file until the next > (or the end of file) as a single tag. This can cause a memory problem (see above.). These problems are rare and can usually be tracked down quickly.
>    Solutions:

>    1. Use Weblint to check the HTML in your pages before link checking.
>    2. Use the log.txt Linklint output file to track down the offending page (it is usually the last page checked).

What Linklint Won't Check

(top) (command index) (topic index)

> Linklint will not be able to track down links that require specific visitor form input. For example, a search engine site uses form input from visitors to generate new HTML pages. These pages would not be checked by Linklint. Likewise, if you have written your own CGI program that uses the IsMap attribute to create new links depending on where a visitor clicks on an image, Linklint will not be able to find these links.

documentation

Introduction | What's New | Inputs | Outputs | Hints | How it works | Bugs | Index

on this page

Bug Reports · Memory · Parsing · Won't Check

|  | © Copyright 1997 - 2001 James B. Bowlin