The page is blank in FF and Opera too. Browsers recover in different ways and to a different extent from HTML errors. One browser may successfully fix a HTML error for you when another one won't.http://htmlhelp.com/cgi-bin/validate.cgi?u...s&input=yes
In a frameset document you don't have a BODY element. It's replaced by FRAMESET. Those browsers that don't display your frameset see BODY and and ignore your frames related tags because they cannot occur inside BODY. Safari and Chrome take the other approach and ignore BODY.
Note that you can have BODY inside NOFRAMES though. But then the purpose is to present alternate content to a browser that can't display frames.
See here for the structure of a complete frameset document.http://htmlhelp.com/reference/html40/frames/frameset.html
Use the validator frequently. It's a good learning tool. And check your page in as many browsers as you can. Safari and Chrome are built on the same rendering engine, so it was no surprise your page worked in my Safari Windows. Then there are gecko based browsers (FireFox, K-Meleon and others), Opera and IE just to mention the main ones. In addition to that different versions of each browser have their own quirks, especially IE that is very different between versions.
By starting with a valid document that works in a standard compliant browser (basically all of the above except IE) you have the best starting point and hopefully don't have to fix anything for other browsers and if you do it won't be as bad as it can be if you start with an invalid document.
The document needs a doctype. See the links in the comment about that in the validation result. Put that in before you validate again.