Hi Calvin,
I believe you are experiencing the error described in this work item (the line numbers do not match up because the reported version is 4.5.2 instead of 4.5.1). Regardless, DNN is executing the following code:
objHomeTab = objTabs.GetTab(
Me.HomeTabId, PortalId, False)
And the GetTab method is returning nothing. This most likely means that the HomeTabId has been deleted, or perhaps that there has been an inappropriate database assignment to the HomeTabId value.
Logging in as host under another portal, or using SQL Management Studio verify the HomeTabId value, the existence of this tab, and the IsDeleted bit on the tab. You can use the following SQL to retrieve these values:
SELECT Portals.PortalName, HomeTabId, Tabs.TabName, Tabs.TabId, Tabs.IsDeleted FROM Portals
LEFT JOIN Tabs
ON Portals.HomeTabId = Tabs.TabId
WHERE Portals.PortalID = *** Your problematic portalId **
If you learn via this query that your HomeTabId is nonzero, but the TabId Is NULL or IsDeleted = 1, you can just reset the HomeTabId using this query:
UPDATE Portals SET HomeTabId = NULL WHERE PortalID = ** Your problematic portalId **
Note that both queries assume that you do not have a database prefix installed. You might need to prepend the prefix to the relevant tables above.
This should fix the problem (if it is a result of the issue described above). Note that this bug was fixed in a subsequent release, so once you get back and running, you might consider upgrading to a more current DNN version.
Hope this helps!
Brandon