This does not look like a skin issues now as I first thought.
I was able to login and change skins, and still the same problem.
Then I went to Admin - Site Settings, and under advanced you can set a login page - I always leave that blank, so i decided i should create a login page, put an account login module on it, and set that in admin settings.
I created a new page, called it Login, and stuck an account login module on it. Then I went to site settings, and told it the new page to use as the login. It threw an ugly error about languages. So I went to the language editor, and set the default language to English - US. Then I went back and was able to tell site settings to use the login page as the login page.
This then worked in IE 7, but FireFox does not work. In FF if I am on the home page and click the skins login link, the url changes to:
/Default.aspx?tabid=299&error=Exception+has+been+thrown+by+the+target+of+an+invocation.&content=0
and the home page refreshes with almost all the modules gone. no login. I can tell from the page title that it is still the home page and not the new login page.
If I go back to IE and login, and go to the logs I see:
AssemblyVersion: 5.1.2
PortalID: 0
PortalName: xxxxxxxxxxx
UserID: -1
UserName:
ActiveTabID: 299
ActiveTabName: Home
RawURL: /Home.aspx
AbsoluteURL: /Default.aspx
AbsoluteURLReferrer: http://maintenance.xxxxxxxx.com/Home.aspx
UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)
DefaultDataProvider: DotNetNuke.Data.SqlDataProvider, DotNetNuke.SqlDataProvider
ExceptionGUID: c3d67eb0-2a7c-4208-b277-dc8e415ff94b
InnerException: Exception has been thrown by the target of an invocation.
FileName:
FileLineNumber: 0
FileColumnNumber: 0
Method: System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializePrimitiveObject
StackTrace:
Message: DotNetNuke.Services.Exceptions.PageLoadException: Exception has been thrown by the target of an invocation. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentException: Invalid JSON primitive: .at System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializePrimitiveObject()at System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(Int32 depth)at System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize(String input, Int32 depthLimit, JavaScriptSerializer serializer)at System.Web.Script.Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer serializer, String input, Type type, Int32 depthLimit)at System.Web.Script.Serialization.JavaScriptSerializer.Deserialize[T](String input)--- End of inner exception stack trace ---at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)at DotNetNuke.UI.Utilities.Reflection.InvokeGenericMethod[T](Type Type, String MethodName, Object Target, Object[] Args)at DotNetNuke.UI.Utilities.MSAJAX.Deserialize[T](String Data)at DotNetNuke.UI.Utilities.ClientAPI.GetClientVariableList(Page objPage)at DotNetNuke.UI.Utilities.ClientAPI.RegisterClientVariable(Page objPage, String strVar, String strValue, Boolean blnOverwrite)at DotNetNuke.UI.Utilities.ClientAPI.RegisterClientReference(Page objPage, ClientNamespaceReferences eRef)at DotNetNuke.UI.Utilities.ClientAPI.RegisterClientReference(Page objPage, ClientNamespaceReferences eRef)at DotNetNuke.UI.Utilities.DNNClientAPI.EnableMinMax(Control objButton, Control objContent, Int32 intModuleId, Boolean blnDefaultMin, String strMinIconLoc, String strMaxIconLoc, MinMaxPersistanceType ePersistanceType, Int32 intAnimationFrames, String strPersonalizationNamingCtr, String strPersonalizationKey)at DotNetNuke.UI.Utilities.DNNClientAPI.EnableMinMax(Control objButton, Control objContent, Boolean blnDefaultMin, String strMinIconLoc, String strMaxIconLoc, MinMaxPersistanceType ePersistanceType, String strPersonalizationNamingCtr, String strPersonalizationKey)at DotNetNuke.UI.ControlPanels.IconBar.Page_PreRender(Object sender, EventArgs e)at System.Web.UI.Control.OnPreRender(EventArgs e)at System.Web.UI.Control.PreRenderRecursiveInternal()at System.Web.UI.Control.PreRenderRecursiveInternal()at System.Web.UI.Control.PreRenderRecursiveInternal()at System.Web.UI.Control.PreRenderRecursiveInternal()at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)--- End of inner exception stack trace ---