Problems / FAQ

First, the extension is at his beginning. And not complete at all :-)
I do my best, but I know that it is not perfect.
Please log bugs/enhacement requests: here.

Do not hesitate to contact me: mgueury@skynet.be

If you have the possibility, please give me the logs of the diagnostic logging.

1. The numbers of errors in the view source is different than the one seen in the browser (Firefox 1.0 only)

There is a big bug in Firefox 1.0 and corrected in 1.5. The HTML source seen in the view source is sometimes 'modified' by Firefox. And the source seen is for most page a little different than the one sent by the webserver.
https://bugzilla.mozilla.org/show_bug.cgi?id=57724

There is a side effect on the extension in Firefox 1.0
  • In the browser, it works. At the icon of the status bar, the HTML sent by the webserver is validated
  • But in the view source, the HTML is  a little different and sometimes contains more or less errors than the real page 
This looks like a small problem. But it is annoying when trying to remove all the errors.

Solution: The real solution is to use Firefox 1.5 if possible.
Work-around: Right click on the icon in the browser and choose "copy errors to clipboard"

2. The extension does not work.

Check that you installed the extension for your Operating system and Architecture. The extension is available for Windows, Linux 32bits, Linux AMD 64bits, Linux PPC and MacOSX Intel or PPC, ....

3. The extension does not work on Linux ( ex: Fedora Core 4, Mandriva 2006, Ubuntu 8.0.4, ... )

Symptoms: The icon in the browser is always green and the text is -/-. Or an error windows appears after installing the extension in version 0.77 and after.

Cause: When installing the extension, you are using a C library that I compiled with a older LIBC++ version than the one distributed with Fedora Core 4. Unhapilly both are incompatible. Another symptom is that if you download the real Firefox compiled in the same way from the Mozilla.org website, it gives this error.

error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory

On Fedora Core 4:
Solution: you need to install I  compat-libstdc++ (yum install compat-libstdc++-33)

On Fedora Core 5:
Solution: you need to install two compat-libstdc++ packages (yum install compat-libstdc++-296 compat-libstdc++-33)
Sometimes it seems that "yum install tidy" is also needed

On Fedora Core 8:
Solution: you need to install the compat-libstdc++ packages (yum install compat-libstdc++-33)

On Selinux:
Solution: If people are running an Selinux-enabled system (such as Fedora Core 6) then they need to make sure that shared text relocation is enabled. The flag to set is textrel_shlib_t. This is in addition to installing compat-stdlibc++-33.

On Mandriva 2006:
Solution:
- stop Firefox
- install libstdc++5 by typing "urpmi libstdc++5" in a console, as root or by using the Mandriva Control Center and the package installer.
- reinstall the extension

On Ubuntu 5.10:
Solution: > sudo apt-get install libstdc++5  

On Ubuntu  8.04 32 or 64-bit
I got 3 solutions for Firefox 3b5.
Solution:
1. apt-get install libxul-dev
    apt-get install libstdc++5  

Or
2. apt-get install libnspr4-dev.
3. Add at the end of /etc/profile the line:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH/usr/lib/xulrunner/

Then restart Firefox or your XWindow session.

On Ubuntu  9.10
 

Ubuntu 9.10 users need to download and install the libstdc++5 from the previous version of Ubuntu. (libstdc++5 is not in the latest package tree of the Ubunto 9.10)

Download from here:
http://packages.ubuntu.com/jaunty/i386/libstdc++5/download

Install the deb package. Restart Firefox and all is good.

On Ubuntu 10.4

Here is a way that worked.
1) Uninstall plugin.
2) sudo apt-get install tidy
3) sudo apt-get install libstdc++5 (this might not be necessary, try first with just tidy).
4) Reinstall plugin.

On Slackware xxx
Solution: install cxxlibs-5.1.0-i486-1

On Cent OS 4
> yum install compat-libstdc++-33
> yum install mozilla-nspr

On CentOS 5 (32bit)
Solution: install  compat-libstdc++-33

On Debian

It seems that installing
> libstdc++5 
> libnspr4
Is enough to make it work.

On Gentoo
It seems that installing
> emerge libstdc++
solves the issue

On Archlinux
For arch linux,  just instal nspr package.
Some people had to install libstdc++5 (pacman -S libstdc++5) and reinstall the plugin to make it work.

On OpenSUSE 11

Installs the package libstdc++33

On another type of linux with the problem,
you can try this to know which .so are missing to run the extension correctly.
> cd ~/.mozilla/firefox/<xxxxxxxx>/extensions/{3b56bcc7-54e5-44a2-9b44-66c3ef58c13e}/components
> ldd libnstidy.so
linux-gate.so.1 => (0xffffe000)
libplds4.so => not found
libplc4.so => not found
libnspr4.so => not found
libpthread.so.0 => /lib/tls/libpthread.so.0 (0x40067000)
libdl.so.2 => /lib/libdl.so.2 (0x40078000)
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x4007b000)
libm.so.6 => /lib/tls/libm.so.6 (0x40138000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x4015a000)
libc.so.6 => /lib/tls/libc.so.6 (0x40162000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)

This is the output you should see. It is normal that the 3 libs above are not found as they are part of Firefox. The other libraries are normally part of the Linux ditribution. If they are misssing, it means that the extension will probably not work. Most of the time, you will need to install the LIBC compatibility package from your linux distribution to make all .so resolve correctly.

If you find such a type of Linux, and find a solution for your installation, please send me a mail and I will write down the solution like I did for Fedora Core 4, Mandriva 2006 above. Thanks by advance.

4. The icon in the browser show always empty cache icon ( empty )

It seems to happen in several cases. Most of the time, it is after disabling the browser cache in Firefox. For example with WebDeveloper. Without cache, the extension does not work.

To reenable it:
- go to the URL, type about:config
- in the filter type : cache
- check that
  - browser.cache.disk.enable = true
  - browser.cache.memory.enable = true
- then go to options... Cache and clear the cache

5. The Firefox 1.0 version does not work with Firefox 1.5 or Mozilla 1.8 trunk 

An error appears on the screen when starting Firefox

XPCOM:EventReceiver
The procedure entry point ?Clone@nsMemory@@SAPAXBXI@Z could not be found in the dynamic library xpcom.dll

Firefox 1.1 and Mozilla 1.8 have rewritten the XPCOM library. I have no control on this at all. A side effect of that change is the error message above. What happens is that the extension uses the function nsMemory::Clone. But the function is not anymore in XPCOM.dll of Firefox 1.1. The only solution was to make a separate version with a new tidy DLL compatible with 1.1.

You can find it in the download area.
- reinstall the extension for Firefox 1.5
- and restart the browser.

Solution: This is solved in version 0.62

6. It is not available for my platform (Solaris, Hp UX, Aix,....)

The extension contains a part in C/C++ with the validation logic. It needs to be recompiled on each platform.
Ideally, there should be an extension .xpi, by platform. But it is unrealistic. I would need to maintain it for each version of Mozilla or Firefox for each platform.
There is currently a Windows, Linux and MacOsX version in the Download area.

The code is normally compilable for each platforms. I will try to solve this, like this:
  • the compilation instructions are available here.
  • or the ideal is to have the C part in Mozilla cvs, or Firefox. So it would be compiled automatically by the mozilla build machines. But I dream there.
For MacOSX user, a similar plugin has been recently developped for Safari.
> http://www.zappatic.net/safaritidy/index.html

7. No line numbers

  • In the version 0.8x of the extension, there will be a line numbering. See here.
  • Mozilla 1.7, 1.8 has a status bar indicating the line and column number.
    You can WA the problem by doing: Edit / Go to Line... (CTRL+L)
    I suppose that future Firefox versions based on a later mozilla version will have this feature.

8. All the warnings/errors are not documented

Please wait for a next version
See : to do

9. I can not hide the validation in the page source. The page source validate also non HTML content (css, javascript, ...)

Open the options and check [x] Disable validation in the View Source

10. Sometimes after the installation the extension does not work.

  • You need to close the browser and restart it to see it working.
    Sometimes, you need to uninstall the extension. Then install again.

  • For Mozilla at least, you need to be admistrator on Windows to be able to install the extension.

  • You are using the TabBrowser Extensions (TBE)
    TBE can depending of his settings change the window containing the View Source. For example, if you have choosen to see the source in a tab, the Validator can not be used. You can correct this by resetting the default value of TBE.
    1) Go in Tools/Extensions
    2) Choose TBE and click Options
    3) Go in Use Tab / View Source
    4) Ask to see the source in normal mode
    5) Restart the Browser.

11. Some menu options are disabled in the page source menus.

Some menu items are disabled in the menu. It is Firefox behavior. I have no idea neither, why these menu are there if they can not be used.
Mozilla 1.7, 1.8 has not such problems.

12. The HTML in the page source is not the one of my page.

It appears in very rare case that the HTML source is not the one given by the server.
This is due to a mozilla bug. https://bugzilla.mozilla.org/show_bug.cgi?id=57724

Solution: This bug is solved in version Firefox 1.5 and (1.0+)

13. How to remove the extension when for example the profile is corrupted.

A) Read the Mozilla uninstall instructions
http://kb.mozillazine.org/Uninstalling_extensions
B) Remove your profile data

Step 1 - Find the Mozilla profile directory
For ex:
 Windows : C:\Documents and Settings\your_user_name\Application Data\Mozilla\profiles\default\xxxxxxx.slt\
 Unix : ~/.mozilla

Check in the profile directory that it is the good one.
Open the file the Profiles\default\XXXXXXX.slt\bookmarks.html
And verify that it is well your latest bookmarks list.
Step 2 - Backup
Take a backup of all the prrofiles = the Profiles directory (for ex: zip it) -> profiles.zip
It is always a good idea to make a backup regularly of these profiles and keep it on another hardware in case of unexpected problems.
Step 3 - Remove overlays
Go to the subdirectory chrome in your profile
C:\Documents and Settings\your_user_name\Application Data\Mozilla\Profiles\default\xxxxxxx.slt\chrome

Check that Mozilla is stopped
Rename directory overlayinfo in overlayinfo.old

Restart Mozilla and all extensions should be gone.

14. The validation errors are not the same than the W3C validator

W3c has made 2 programs to verify the HTML syntax. Both uses different algorithms:
- W3C Validator is based on SGML and the verification of the DTD of the page (defined in the DOCTYPE)
- HTML Tidy is called a 'linter', lexer. In short, it parses the page and try to understand the errors.

Both technologies have their advantages and disadvantages. This extension is based on HTML Tidy, it includes the code of Tidy without changes. From my experience, the errors are the same in the 2 programs except that Tidy shows more errors. It shows errors about attributes values. And it tries also to clean the page of useless, empty tags and so on.

Tidy has an accessibility-checker included. Also, it can clean up a HTML page. It is interesting to help people to find solutions for their errors.

If you have questions about the validation result, there is a user list and with archives :http://lists.w3.org/Archives/Public/html-tidy/

15. The validation text is in Czech

Symptoms:
- You see for example for 0 chyb/0 varování in the icon text.
- You have installed the extension 0.72 to 0.74 with Firefox working in non-translated version of the extension (ex  Portuguese)
- Even, if the fix is in version 0.75, unhappily, installing 0.75 will not solve the issue !

The problem is that the chrome.rdf file of the profile is now corrupted and can not be corrected by a new version of the extension. Let's correct it manually.

Solution:
- Before installing the version 0.75 or higher. Go to your profile/chrome directory
   Windows: c:\document and settings\<user>\application data\Mozilla\firefox\Profile\<id>\Chrome
   Unix: ~/mozilla/firefox/<id>/chrome
a. one solution is to remove the file chrome.rdf but you will loose all your extension.
b. the other solution is to edit the chrome.rdf and to correct it by switching the czech and english line.
     Look for the line containing : resource="urn:mozilla:locale:cs-CZ"

Wrong
  ...
  <RDF:Seq RDF:about="urn:mozilla:locale:root">
    <RDF:li RDF:resource="urn:mozilla:locale:cs-CZ"/>
     ...
    <RDF:li RDF:resource="urn:mozilla:locale:en-US"/>
     ...

Right (en-US should be at the top)
  ...
  <RDF:Seq RDF:about="urn:mozilla:locale:root">
    <RDF:li RDF:resource="urn:mozilla:locale:en-US"/>
     ...
    <RDF:li RDF:resource="urn:mozilla:locale:cz-CZ"/>

16. Installation of the extension is blocked

Whatever you do, the extension is never installed and is blocked by firefox. You see a blocked green line on the top of the browser.

Solution:
If you disabled xpinstall in Firefox 1.0.x by unselecting the "Allow Web sites to Install Software" preference, you will not be able to install HTML Validator on Firefox 1.5.  Go to about:config and set the xpinstall.enabled preference to true to re-enable installs.

17. The extension crashes or hangs and you would like to report a problem/bug not listed above.

Please be sure to use the version 0.59 or later. In these versions, there is a diagnostic logging that can be created for helping me to determine the cause to the issue. To enable it:
1. Start Firefox./Mozilla
2. In the URL line, type: about:config
    In the filter box type : tidy
3. In HTML Validator
    - before 0.8, edit the properties "tidy.options.diaglog_dir". It is empty, disabled, by default.
       Type in the value the directory where the extension will write the logs files.
       ex: c:\temp to store the log file in the c:\temp directory on windows
            /tmp for Unix
    - in version 0.8 and later, the tidy dir will be created in c:\program files\mozilla firefox\tidy on Windows
                                                                                   and ~/.mozilla/<your profile>/tidy on other platform
4. Set also the propery "tidy.options.debug" to true
5. Stop Firefox / Start Firefox.
6. Reproduce the issue.
7. Send me (mgueury@skynet.be) the 2 logs files:
    - tidy_firefox_diag.log,
    - tidy_last_validated.html
    with
    - a description on how to reproduce the issue, if possible, step by step
    - your OS and CPU

Thanks by advance.